Zhang, Zohren & Roberts (2018) — DeepLOB

一句话:Inception 模块(卷积)+ LSTM 端到端预测订单簿未来价格,FI-2010 F1 ≈ 75、LSE 准确率 70.17%,且能迁移到训练集之外的品种。但作者自己在 2024 年批评了这类模型的评价方式——高准确率 ≠ 可交易信号。

完整引用: Zhang, Z., Zohren, S., & Roberts, S. (2018). DeepLOB: Deep Convolutional Neural Networks for Limit Order Books. arXiv:1808.03668(2018-08-07,v6)。正式版 IEEE Transactions on Signal Processing。

机构: 牛津大学 Oxford-Man Institute of Quantitative Finance / 工程科学系。代码: GitHub zcakhaa。

核心数字

项 值
LSE 数据 2017 全年,5 只高流动性股(Lloyds、Barclays、Tesco、BT、Vodafone)
样本量 超 1.34 亿;每只每天约 15 万事件;平均间隔 0.192 秒(不规则)
特征 每侧 10 档,每档价格+量 → 40 特征/时间戳;输入最近 100 个状态
数据划分 前 6 个月训练 / 3 个月验证 / 3 个月测试
LSE 时间外样本 k{=}20:准确率 70.17%、F1 70.15%;k{=}50:63.93% / 63.49%
FI-2010(Setup 2) F1 约 75.01 – 75.10(同期最强基线 B(TABL) 73.64–75.58)
前向计算时间 BoF 0.972 ms、N-BoF 0.524 ms
品种外样本 GLEN、HSBC、CNA、BP、ITV(训练集未含)——仍获良好结果,四分位距窄、离群值少

三个技术要点

1. 架构:Inception Module(卷积+池化打包)捕捉空间结构并推断不同时间尺度的局部交互(相当于自动学习特征的"衰减速率");LSTM 捕捉长时间依赖;端到端训练。

论文的批评:PCA / LDA 等静态预处理"不是为最大化模型目标而优化的"。

参数量反而更少——因用 LSTM 替代全连接层。

2. 动态归一化(论文特别强调)

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

理由:金融序列有状态转移,静态归一化不适合一年长度的数据。论文明确说机器学习性能往往取决于归一化。

3. LIME 敏感性分析

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

对 CNN-I 失效的诊断:该架构用了两个最大池化层,且第一卷积层用大尺寸滤波器,使深处的表示实际来自输入的一大部分。

⚠️ 论文自己观察到的矛盾现象(#18 的起点)

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

这直接引出 Briola Bartolucci Aste 2024 Deep Limit Order Book Forecasting 的核心批评:准确率与盈利不是同一件事。

⚠️ 对 FI-2010 基准的批评(常被忽略)

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

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

交易模拟的假设

每笔 1 股、按中间价成交(等价于假设一侧可被动进场)、比较费用前毛利。理由是聚焦足够流动的股票使滑点与冲击小——但论文承认流动股更难预测。

在本 wiki 的位置

A 股的三个未知数

  1. 70.17% 能否在 3 秒一帧的 A 股复现?
  2. 跨品种泛化在品种差异更大的 A 股是否成立?
  3. 沪市 14.2% 配对缺失是否让端到端的优势消失、让 OFI 等手工特征更稳健?