DeepLOB

大白话:把订单簿(买卖十档的价格和量)当成一张"图",用卷积网络看空间结构、用 LSTM 看时间关系,直接预测未来价格是涨、跌还是不动。

一句话:LOB 深度学习的开山之作。但必须与其后续的自我批评(Briola Bartolucci Aste 2024 Deep Limit Order Book Forecasting)配读——高准确率不等于可交易信号。

架构:Inception + LSTM

组件 作用
Inception Module(卷积 + 池化打包) 捕捉订单簿的空间结构(各档位关系),并推断不同时间尺度上的局部交互——相当于自动学习特征的"衰减速率"
LSTM 捕捉更长时间依赖
端到端训练 不做手工特征提取

论文对替代做法的批评:PCA / LDA 等静态预处理"不是为最大化模型目标而优化的";BoF / N-BoF 虽做成神经层可端到端训练,但仍不及纯深度网络。

参数量反而更少:虽然层数更多,但因用 LSTM 替代全连接层,参数远少于早期的 CNN 架构(CNN-I)。

计算速度(前向传播):BoF 0.972 ms、N-BoF 0.524 ms。GPU 的发展使深度网络训练可行、预测迅速——使高频交易成为可能。

数据与归一化

两套数据

数据集 内容 用途
FI-2010 首个公开高频 LOB 基准,Nasdaq Nordic 5 只股票 × 10 天 公平对比
LSE(自建) 伦敦交易所 5 只高流动性股票(Lloyds、Barclays、Tesco、BT、Vodafone),整一年 检验稳健性

LSE 数据:2017 全年,只取 08:30–16:00(排除集合竞价);每侧 10 档,每档价格+量 → 40 特征/时间戳;超 1.34 亿样本;每只每天约 15 万事件;平均事件间隔 0.192 秒(不规则)。

⚠️ 论文对 FI-2010 的重要批评(常被忽略):

FI-2010 实际上是降采样的(每 10 个事件取一个不重叠块),来自流动性较低的市场,只有 10 天。作为基准有价值,但不足以充分验证稳健性。

本文的 LSE 数据不做任何处理,直接喂原始订单簿。

动态归一化(关键)

用前 5 天数据的均值与标准差归一化当天数据(每品种单独)。

理由:金融序列有状态转移(regime shift),静态归一化不适合长度为一年的数据集。

论文明确强调:机器学习算法的性能往往取决于归一化。

输入:最近 100 个订单簿状态,\mathbb{R}^{100\times40}。

结果

指标 数值
FI-2010(Setup 2)F1 约 75.01 – 75.10(同期最强基线 B(TABL) 73.64–75.58)
LSE 时间外样本(k=20) 准确率 70.17%,F1 70.15%
LSE 时间外样本(k=50) 准确率 63.93%,F1 63.49%
品种外样本(GLEN、HSBC、CNA、BP、ITV,训练集未含) 仍获良好结果,四分位距窄、离群值少

最强的证据是跨品种泛化——论文据此主张订单簿中存在调制价格形成的普适特征。

⚠️ 一个论文自己观察到的矛盾现象

虽然更长预测期的准确率更低,但累计盈利反而更高——因为产生了更稳健的信号。

这直接引出 #18 的核心批评:准确率与盈利不是同一件事。

#18 给出了指标层的解释:p_T(正确预测完整成交的概率)与 MCC 在提高置信度阈值时方向相反——MCC 上升但 p_T 下降,因为提高阈值会打断信号的连续性,让交易无法正确管理仓位。见 LOBFrame 与可交易性评估。

交易模拟的假设(引用时需注意)

  • 每笔 1 股,以中间价成交;
  • 等价于假设交易的一侧可以被动进场;
  • 比较费用前毛利。

理由:聚焦足够流动的股票使滑点与冲击较小——但论文承认这些股票更难预测。

LIME 敏感性分析

用 LIME 揭示订单簿中哪些成分对预测最重要(局部扰动输入,观察预测变化)。

模型 表现
CNN-I(对照) 大部分输入成分对预测无影响
DeepLOB 重要性区域覆盖更广,符合经济直觉

对 CNN-I 失效的诊断(很具体):

该架构用了两个最大池化层;且第一卷积层用了大尺寸滤波器,使网络中任何深处的表示实际都来自输入的一大部分。

⚠️ 必须知道的三个限制

1. 高准确率 ≠ 可交易信号

Briola Bartolucci Aste 2024 Deep Limit Order Book Forecasting(#18)系统化地批评了这类评价方式,改用"能否正确预测出完整的成交事件"的概率。只读本文会高估实用价值。

2. 本文自己就观察到准确率与盈利脱钩(见上)。

3. LSE 是流动性最好的市场——论文明确说"流动股更难训练"。把这个准确率外推到 A 股(快照约 3 秒一帧,显著更慢)没有依据。

对 A 股实践的启示

1. 归一化可能比模型选择更重要

跨多年、经历多轮牛熊与制度变化的数据,静态归一化几乎肯定不合适。动态归一化是必要前提。

2. 数据频率是关键差异

本文 LSE A 股沪市
快照 事件级,平均 0.192 秒 约 3 秒一帧

70.17% 能否在 A 股复现,完全未知——这是该方法落到 A 股的第一个未知数。

3. 迁移能力的检验在 A 股更严格

A 股品种间差异更大(主板/创业板/科创板,流动性与投资者结构不同),跨品种泛化若在 A 股也成立,可信度会显著高于 LSE 上的结果。

4. 数据噪音可能改变结论

沪市逐笔成交实测 14.2% 配对缺失(见 concepts/data-features/逐笔成交的双向委托引用 (Bid-Offer Order Reference))。在噪音更大的数据上,端到端的优势可能消失,手工特征(OFI 等)可能更稳健——这是与 concepts/microstructure/Order Flow Imbalance (OFI) 直接相关的问题。

待验证

  • 70.17% 在 A 股能否复现? 最直接的未知数。
  • 跨品种泛化在 A 股是否成立?
  • LIME 识别出的重要性能否转化为显式因子? 论文只用于验证"符合经济直觉";若能识别"哪些档位、哪个时间尺度最重要",就能直接构造因子——明确的转化路径。
  • 端到端 vs 手工特征在 A 股:数据噪音更大时哪个更稳健?

Cross-ref