Lin & Yang (2025) — 用级联对比表示学习检测订单簿多档操纵

作者: Yushi Lin(南方科技大学计算机科学与工程系 / 广东省类脑智能计算重点实验室 / 统计与数据科学系)、Peng Yang(通讯作者,同上)。

发表: arXiv:2508.17086v2 [q-fin.CP],2025-10-10。无期刊、无 DOI。资助:国家自然科学基金 62272210、62250710682、62331014。作者声明使用 ChatGPT 作为写作助手改善英文表达,未参与研究过程。

数据: LOBSTER 平台,NASDAQ 的 CSCO、TSLA、INTC 三只股票,2015 年 1 月 2 日一天。5 档订单簿 + 15 个人工特征,序列长度 T=25。

关键限制:所选数据中不含任何被报告的市场操纵事件,因此采用学术与工业界通行做法注入合成的多档操纵。

一句话总结

「挂假单」通常不是只挂一档,而是在多档同时挂、几毫秒内挂完再撤。先用 Transformer 把多档订单簿压成一个向量,再用「有监督对比学习」把这个向量空间里的「正常」和「异常」拉开距离,最后用传统异常检测器(OC-SVM、Isolation Forest)分类。

方法

任务形式化

输入为长度 T 的时间序列 S_t=\{X_t,\dots,X_{t+T-1}\},X_t 含 LOB 快照 L_t\in\mathbb R^{4l}(l=5)与人工特征 F_t\in\mathbb R^m。

两阶段:表示 z_t=f_e(S_t)\in\mathbb R^D → 判别 y_t=g_d(z_t)(异常分数),评估时取阈值得二分类。

级联架构

  1. 阶段一 Multilevel LOB Encoder:Transformer 实现,单独预训练以最小化原始 LOB 输入的重建误差 L_{MSE}=\frac1T\sum_t\|\hat L_t-L_t\|_2^2;预训练后冻结
  2. 阶段二 Contrastive Fusion Encoder:把阶段一的紧凑隐向量与人工特征拼接后输入

有监督对比学习

混合损失 L=(1-\alpha)L_{MSE}+\alpha L_{SCL}(Khosla et al. 2020 形式,\tau 为温度,z 为 L2 归一化嵌入)。正负对定义:同为正常或同为异常 → 正对;一正常一异常 → 负对。

过采样:异常样本极稀少,构造 batch 时过采样保证每个 batch 里有足够异常样本,否则对比损失无法工作。

合成操纵注入(表 4)

以买方为例(卖方对称):

参数 真实单 假单
方向 卖方 买方
价格 Price1 ± (0,3) bps (Price5, Price1 ± (0,7) bps]
总量 [2,3]× 平均单规模 [5,6]× 平均单规模
委托笔数 1 [10,15]
到达间隔 [1,5] ms [10,20] ms
撤单延迟 无 [100,500] ms
成交延迟 [10,20] ms 无

注入方式改编自 Poutré et al. (2024);与以往研究不同,本文的注入跨全部 5 档而非只针对单一档位。

数据集统计(表 6)

数据集 训练模式 总委托数 被操纵委托数 异常占比
训练 原始(仅正常) 1,254,707 0 0.00%
训练 本文 1,239,632 388 0.03%
验证 原始 295,482 0 0.00%
验证 本文 324,807 74 0.02%
测试 两者共用 66,524 3,350 5.04%

主要结果

主结果(表 1,5 档 LOB + 人工特征)

检测器 表示模型 模式 AUC-PR AUROC F4 Precision Recall
OC-SVM CNN2 原始 0.176 0.777 0.604 0.155 0.738
OC-SVM LSTM 原始 0.160 0.795 0.601 0.158 0.728
OC-SVM JFDS 原始 0.252 0.854 0.653 0.238 0.733
OC-SVM JFDS 本文 0.675 0.975 0.881 0.402 0.952
OC-SVM FEDformer 原始 0.226 0.823 0.633 0.218 0.719
OC-SVM FEDformer 本文 0.105 0.787 0.647 0.106 0.949
OC-SVM TimesNet 原始 0.186 0.829 0.611 0.186 0.713
OC-SVM TimesNet 本文 0.222 0.646 0.534 0.068 0.937
Isolation Forest JFDS 原始 0.232 0.846 0.646 0.227 0.730
Isolation Forest JFDS 本文 0.631 0.970 0.855 0.373 0.930

要点:

  • JFDS(Transformer 系)提升最大(AUC-PR 0.252 → 0.675),其次 LSTM(0.160 → 0.375),CNN2 与 SimLOB 提升较小
  • FEDformer 与 TimesNet 在部分指标上反而下降(OC-SVM + TimesNet 的 AUROC 0.829 → 0.646,Precision 0.186 → 0.068)——通用时间序列模型与 LOB 数据特性不兼容
  • Isolation Forest 的改善比 OC-SVM 更明显(因其自身检测能力弱,更依赖表示质量)

多档操纵确实更难(表 7)

无 LOB 输入、原始模式、OC-SVM,单档注入 vs 5 档注入(AUC-PR):

模型 单档注入 5 档注入
CNN2 0.290 0.186
LSTM 0.262 0.174
JFDS 0.308 0.260
SimLOB 0.274 0.184
FEDformer 0.396 0.280
TimesNet 0.222 0.229

除 TimesNet 外,单档注入一律更容易检测。

LOB 有价值,但必须先被表示好(表 8)

仅用 MSE 损失加 LOB 反而变差:JFDS 0.260 → 0.252;CNN2 0.186 → 0.176;SimLOB 0.184 → 0.164;FEDformer 0.280 → 0.226;TimesNet 0.229 → 0.186。

原始 LOB 直接喂进重建式模型只会带来噪声。最佳路径是"本文损失 + 嵌入式 LOB":AUC-PR 0.675 / AUROC 0.975 / F4 0.881。

深档更难识别(表 9)

仅统计第 2–5 档检出的异常时,所有模型的 AUC-PR 都明显低于 5 档全量(JFDS 0.675 → 0.451,LSTM 0.375 → 0.205,CNN2 0.198 → 0.109)。

消融

  • 过采样比例 \beta(表 2):\beta=0.5 → 0.470;\beta=0.3 → 0.470;\beta=0.1 → 0.483;\beta=0:完全无法训练。→ 过采样本身是关键,具体比例影响有限。
  • 损失权重 \alpha(表 3):\alpha=1 → 0.252;\alpha=0.8 → 0.540(最佳);\alpha=0.5 → 0.526;\alpha=0.2 → 0.470;\alpha=0 → 0.252。→ 纯对比损失或纯重建损失都明显更差,两者必须混合。
  • 级联架构(图 4):Multilevel LOB Encoder 带来一致提升,但 CNN2 出现性能退化——并非所有架构都适合做 LOB 表示。提升主要体现在 AUC-PR → 级联架构对稀有事件检测特别有效。

论文自陈的局限

  • 只有合成注入的操纵,没有真实操纵事件(所选 LOBSTER 数据中确实不存在被报告的操纵),结论对真实操纵模式的适用性未验证。
  • 未探讨 Multilevel LOB Encoder 的具体架构设计(作者明说超出本文范围)。
  • 训练集仍需少量标注异常(0.03%)才能训练对比损失,不是完全无监督。
  • 承认通用时间序列模型与 LOB 数据不兼容。

对本 wiki 的位置

关键引用

Lin, Y., & Yang, P. (2025). Detecting Multilevel Manipulation from Limit Order Book via Cascaded Contrastive Representation Learning. arXiv:2508.17086.