Meow 是一个 decoder-only (causal) Transformer 回归器,用于从日内 LOB(限价订单簿)tick 数据预测股票收益。其核心架构是一条因果 Transformer 解码器链,将时序特征映射到多 horizon 的前向收益预测。
- 配置环境
# 1.创建虚拟环境
python -m venv .venv
# 2.激活环境
source .venv/bin/activate
# 3.安装依赖
pip install -r requirements.txt- 运行
meow.py
python meow.pymeow/
├── meow.py # MeowEngine — 训练循环, 评估, 推理
├── mdl.py # MeowModel + SparseAttentionRegressor (模型定义)
├── feat.py # MeowFeatureGenerator (94 维特征生成)
├── parameters.py # 超参数集中管理
├── dl.py # MeowDataLoader (HDF5 数据读取)
├── eval.py # MeowEvaluator (Pearson, R², MSE)
├── log.py # 日志工具
├── tradingcalendar.py # 交易日历
└── archive/ # HDF5 原始数据
x_raw: (B, T, 94) # B 只股票, T 个时间步, 94 个特征
│
├── lin_skip ──────────────────────────────────────┐
│ │
├── feat_gate ⊙ sigmoid(gate) | 门控特征选择
│ ↓ │
├── feat_proj: Linear(94, 256) │ 特征投影
│ ↓ │
├── + stock_emb[stock_ids]: Embedding(500, 16) │ 股票身份嵌入
│ ↓ │
├── RMSNorm(256) │
│ ↓ │
├── Dropout(0.1) │
│ ↓ │
├── CrossStockAttention(256, 8 heads) │ 跨股票注意力
│ ↓ │
├── DecoderBlock × 3 ──────────────────┐ │
│ │ ├── RMSNorm (Pre-Norm) │ │
│ │ ├── CausalSelfAttn (RoPE) │ │
│ │ │ └── local window=256 │ │
│ │ ├── + residual (dropout) │ │
│ │ ├── RMSNorm (Pre-Norm) │ │
│ │ ├── SwiGLU FFN (256→704) │ │
│ │ └── + residual (dropout) │ │
│ └──────────────────────────────────┘ │
│ ↓ │
├── RMSNorm(256) │
│ ↓ │
└── head[horizon] * exp(log_scale) ────────────────(+)──→ ŷ_h: (B, T)
└── Linear(256, 1) per horizon (×4)
| 组件 | 定义 | 参数量 |
|---|---|---|
feat_gate |
|
94 |
feat_proj |
|
~24K |
stock_emb |
|
~12K |
CrossStockAttention |
按时间步的 MHA:$(B,T,D) \to (T,B,D) \to \text{MHA} \to (B,T,D)$ | ~0.4M |
DecoderBlock |
Pre-Norm + CausalAttn(RoPE) + SwiGLU FFN | ~1.9M × 3 |
heads[horizon] |
|
256 × 4 |
lin_skips[horizon] |
|
94 × 4 |
log_scale |
可学习全局尺度 |
1 |
| 总计 | ~6.2M |