lob-pattern-net / README.md
kangkangchen's picture
Upload folder using huggingface_hub
8171f7d verified
---
tags:
- finance
- order-book
- institutional-trading
- algorithmic-trading
- level-2
- A-share
- LOB
- TWAP
- VWAP
- iceberg-orders
- pytorch
license: mit
---
# LOBAlgoNet — 主力算法单模式识别
## 📌 核心思路
**真实行情数据没有标签**——我们不知道哪笔委托是"主力"下的。但主力几乎都使用算法单(TWAP、VWAP、冰山订单等),
这些算法在委托簿中会留下可识别的特征签名。
本模型的方法:
1. **规则引擎检测算法签名** → 生成伪标签(无需人工标注)
2. **深度学习模型学习** → 从原始LOB数据直接识别这些模式(泛化超越规则)
## 🏗️ 架构
```
Input: 100个连续Level-2快照 (batch, 100, 40)
↓ BilinearNorm (自适应归一化)
↓ Spatial CNN (十档价位间的空间模式)
↓ Temporal CNN (多尺度时间特征)
↓ Transformer Attention × 2 (时序依赖)
↓ 5-class Classification
```
参数量: 338,525
## 🎯 识别的5种模式
| ID | 类型 | 说明 | 关键特征 |
|----|------|------|----------|
| 0 | **TWAP** | 时间加权平均价 | 等量等间隔下单,被动-主动交替 |
| 1 | **VWAP** | 量加权平均价 | 跟随市场成交量节奏,参与率稳定 |
| 2 | **ICEBERG** | 冰山订单 | 一档反复补单,实际量>>显示量 |
| 3 | **SUPPORT** | 护盘/支撑位 | 关键价位持续大单,深度不对称 |
| 4 | **NORMAL** | 散户/正常 | 无明显算法特征 |
## 📊 性能
| Metric | Value |
|--------|-------|
| Test Accuracy | 0.5273 |
| Test F1 (Macro) | 0.3538 |
| Test F1 (Weighted) | 0.5822 |
Per-class:
| 类型 | Precision | Recall |
|------|-----------|--------|
| TWAP | 0.0000 | 0.0000 |
| VWAP | 0.1739 | 0.4444 |
| ICEBERG | 0.9820 | 0.5573 |
| SUPPORT | 0.4684 | 0.5764 |
| NORMAL | 0.2338 | 0.3858 |
## 🚀 使用方法
```python
import torch, numpy as np
from model import LOBAlgoNet
model = LOBAlgoNet(num_classes=5, d_model=128, nhead=4, dropout=0.25)
model.load_state_dict(torch.load("model.pt", weights_only=True))
model.eval()
stats = np.load("norm_stats.npz")
# raw_lob: your (100, 40) LOB data, normalized with stats["means"] and stats["stds"]
x = torch.from_numpy((raw_lob - stats["means"]) / stats["stds"]).unsqueeze(0).float()
with torch.no_grad():
probs = torch.softmax(model(x), dim=1)
pred = probs.argmax(1).item()
labels = ["TWAP(时间加权)", "VWAP(量加权)", "冰山订单", "护盘/支撑", "散户/正常"]
print(f"识别结果: {labels[pred]} (置信度: {probs[0,pred]:.1%})")
```
## 💡 如何用于实盘
1. **接入Level-2行情**: 万得、聚宽、TuShare Pro等获取十档委托数据
2. **实时推理**: 每收到新快照,用最近100个快照组成输入
3. **信号融合**: 结合MACD、成交量异动等传统指标,多信号确认
4. **跟随策略**: 检测到TWAP/VWAP买入 → 考虑跟随;检测到SUPPORT → 关注支撑位
## 📚 参考文献
- DeepLOB (Zhang et al., TNNLS 2019, arxiv:1808.03668)
- TLOB (Berti & Kasneci, 2025, arxiv:2502.15757)
- MarS (Li et al., Microsoft, arxiv:2409.07486) — TWAP签名定义
- PULSE (Cartea et al., 2023, arxiv:2312.05827) — 多时钟特征
- CoLES (Babaev et al., 2022, arxiv:2002.08232) — 对比学习
## ⚠️ 声明
本模型仅供研究学习使用,不构成任何投资建议。股市有风险,入市需谨慎。