HFT 代理指标的可靠性 (Reliability of HFT Proxies)
大白话:公开数据里没有"这是 HFT"这个标签,所以研究者只能用行为特征去猜(撤单多、消息多、响应快……)。这两篇论文第一次用监管方的账户级真值去检验这些猜测准不准。
结论一(好消息):九个常用代理指标与真实 HFT 活动的相关高达 74%–99%(Pearson;Spearman 68%–98%),在流动性供给与需求两侧都可靠,选哪个几乎不影响结论。
结论二(重要):其中只有 Strategic Runs(SRuns) 是主要由 HFT 驱动的——它对其他两类交易者的第二阶段 R^2 只有 0.01 与 0.00。用其他代理指标时,你测到的不只是 HFT。
两条研究路线
flowchart LR
A["监管方账户级真值<br/>NSE 消息级标识 / AMF 账户分类"] --> B["方向一:<br/>用真值检验代理指标<br/>Chakrabarty et al. 2022"]
A --> C["方向二:<br/>用真值训练分类模型<br/>Goudarzi & Bazzana 2023"]
B --> D["代理指标准不准?"]
C --> E["能不能复原真值?"]
两者互补:方向一回答"用代理指标做研究会不会出错",方向二回答"能不能用机器学习做出来"。
方向一:代理指标对真值的检验(Chakrabarty, Comerton-Forde & Pascual 2022)
数据条件:印度 NSE 的消息级 HFT 标识
NSE 的订单与成交数据带纳秒时间戳,且每条消息都标识来源:是否用交易所提供的算法订单系统(AT vs NAT),若是 AT 则是否自营账户(HFT)还是客户账户(AAT)。
三个分类:HFT(算法 + 自营)、AAT(算法 + 客户)、NAT(不用算法)。
这个标识比欧美的数据集强在两点:
- 时变——交易者可以切换类型(EUROFIDAI 巴黎数据一旦指派就不变)
- 能分离同一机构内的 HFT 交易台——"既做代理又做自营的投行"的两类订单流可以拆开(Nasdaq 的数据做不到)
九个代理指标
| 指标 | 缩写 | 定义 |
|---|---|---|
| 消息流量 | Mess | 订单提交 + 修改 + 撤单 |
| 撤单数 | Can | 限价单撤单 |
| 监控强度 | MonInt | 撤单 + 修改 |
| 瞬时委托 | FleetOrd | 提交后 100 ms 内被撤或被改 |
| 报价强度 | QuoteInt | 最优价或最优档深度的变化次数 |
| 报价闪烁 | Flick | 中间价在 100 ms 区间上的标准差 |
| 响应速度 | SResp | NBBO 报价改善后 100 ms 内的响应次数 |
| 策略性连续报价 | SRuns | "修改或撤单 + 重新提交"的连续序列(Hasbrouck & Saar 2013) |
| 立即成交撤销单 | IOC | IOC 订单数 |
每个指标算两遍:用 HFT 标识的叫 true,用全部消息的叫 proxy。
四条结论
一、三类交易者在指标上确实分层:
| 指标(1 分钟窗口) | HFT | AAT | NAT |
|---|---|---|---|
| 消息流量 Mess | 654.08 | 204.12 | 55.76 |
| 撤单数 Can | 16.51 | 17.27 | 2.10 |
| 策略性连续报价 SRuns | 10.49 | 0.51 | 0.02 |
| 立即成交撤销单 IOC | 10.85 | 8.05 | 0.17 |
| 响应速度 SResp(次/分钟) | 38.27 | 11.93 | 0.55 |
两个反直觉的对照:HFT 的撤单数比 AAT 还少(NSE 按消息计费使改单比撤单便宜,HFT 偏好改单);IOC 上 HFT 与 AAT 几乎一样,所以 IOC 分不开这两类。
二、九个代理彼此高度相关(Pearson 40%–90%,Spearman 36%–89%)。最高的:QuoteInt–SResp 88.33%、Mess–MonInt 86.52%、QuoteInt–Flick 81.3%。
三、每个 proxy 与对应 true 的相关从 67.94% 到 98.45%,全部 99% 水平显著,且在 30/60/300/900/1800 秒所有窗口都成立。
四、流动性供给与需求两侧都能识别(九个指标系数全部正确且 99% 显著,30 秒窗口下 SResp 是唯一例外);LOB 侧的三个流动性供给度量(在最优价的时间占比、最优档深度占比、前五档深度占比)也全部成立。
五、异常时段也可靠。以 30 秒窗口 Mess 为例:普通时段 −0.01;需求与供给都异常低时 −0.47(proxy −0.51);都异常高时 +0.43(proxy +0.41)。九个指标都呈现同样的模式。
SRuns 为什么最"纯"
两阶段回归:第一阶段逐股回归 HFT 真实指标对 AAT 与 NAT 真实指标,取残差(与另两类不相关的 HFT 活动成分);第二阶段把残差回归到对应的 proxy 上。
| 指标 | 第二阶段系数 | R^2 | AAT 的 R^2 | NAT 的 R^2 |
|---|---|---|---|---|
| SRuns | 83.16%(30 秒)/ 77.59%(总体) | 最高 | 0.01 | 0.00 |
| IOC | — | — | — | 对 AAT 无区分力 |
方法论含义:好的 HFT 代理应当主要由 HFT 驱动。SRuns 与 AAT/NAT 的相关最低,正是这个性质的表现。这验证了用 SRuns 代理 HFT 的做法(Chordia & Miao 2020、Boehmer-Li-Saar 2018 用的正是它)。
反例:Can 与 IOC 的第二阶段系数在 AAT 上几乎与 HFT 一样高(Can 53.87 vs 50.77、IOC 50.12 vs 55.12)——这两个指标测的是"算法交易"而不是"高频交易"。
SRuns 的构造不能照抄原文:作者改造了 Hasbrouck & Saar (2013) 的算法,新增"同量同方向、第二次报单在第一次撤单后 100 ms 内、run 长度 ≥ 10"等条件,并放弃时间加权改用未加权计数。FleetOrd 也要把"改单"纳入(改单在经济上等价于撤单+重报)——在"改单比撤单便宜"的市场里,不含改单的代理会严重失效。
方向二:用真值训练分类模型(Goudarzi & Bazzana 2023)
标签:法国 AMF 的 HFT 认定标准
满足以下任一条件即为 HFT:
- (i) 一年内撤单至少 100,000 笔,且这些委托的存活期低于订单簿中所有委托存活期的均值
- (ii) 提交后 0.1 秒内撤单至少 500,000 笔,且其中 1% 的被撤委托存活不足 0.0005 秒
再按身份细分:投资银行 → 混合型 HFT,否则 → 纯 HFT。本文只用第一步(投资银行身份在订单簿数据里没有)。
注意这个标准的构造方式:它本身就建立在"撤单多 + 存活期短"上——所以用订单存活期训练出来的模型,天然会复现监管方的定义。这是标签与特征之间的循环性。
数据
BEDOFIH 数据库的 AMF Euronext Paris 部分,2017-05-04 一天建模 + 2017-01-02 至 01-06 样本外测试。307 只证券、超过 900 万笔订单、微秒时间戳。
16 个特征
10 个直接来自数据库(特征 ID、离簿状态、方向、类型、有效期、价格、初始量、累计量、成交笔数、账户类型),6 个由重建订单簿得到:
| 特征 | 含义 |
|---|---|
| o\_price\_diff | 委托价与上一笔成交价之差 |
| forecastError | 委托价与下一笔成交价之差 |
| o\_life | 委托存活期(毫秒) |
| depth | 提交时该档深度 |
| BBO_diff | 委托价与当时最优买/卖价之差 |
| recs | 是否在"连续竞价 + 静态 collar"交易组 |
样本委托存活期中位数 6.7 秒,约三分之一不足 1 秒——论文的判断是把识别推迟到委托生命周期结束,信息更丰富,而延迟远小于现行的年度认定。
冰山的影响:占订单的约 1%,隐藏比例均值 78%(0.2%–99.96%),无完全隐藏的。特征只依赖委托价,因此不受影响。
结果
类别极度不平衡:HFT 订单 877 万笔(97.2%) vs 非 HFT 订单 25.3 万笔。HFT 在不同证券的参与度差异极大——最低 0%(某只股票 287 笔订单全部非 HFT),最高 99.77%(Eutelsat)。这正是作者构造 recs 特征以控制反向因果的动机。
⚠️ 单位表述不一致:表 1 的特征说明写 o_life 单位是毫秒,但表 2 的中位数(265 / 4,863,101)与正文「中位存活期 6.7 秒」口径一致,说明表 2 实际单位是秒;表 8 的文字描述也写成秒。
分类变量上的信号最直观:
| HFT | Non-HFT | |
|---|---|---|
| 离簿方式:被券商撤单 | 78.33% | 12.50% |
| 离簿方式:被修改 | 13.91% | 66.46% |
| 委托存活期中位数 | 265 s | 4,863,101 s |
| recs(高流动性交易组) | 99.59% | 45.30% |
模型选择:决策树 + RUS boost(随机欠采样提升),100 个 CART 弱学习器配 surrogate split。
评价指标的立场:论文关注 TPR/TNR 而非精确率,且明确选择"误判非 HFT 的代价更高"(宁可漏掉一些 HFT)。
结果(表 4、5):
| 留出 TNR | 留出 TPR | 01-02 TNR | 01-02 TPR | 01-06 TNR | PPV | NPV | |
|---|---|---|---|---|---|---|---|
| RUSBoost | 0.73694 | 0.99564 | 0.63961 | 0.98808 | 0.72286 | 0.9924 | 0.8306 |
| AdaBoostM1 | 0.73639 | 0.99859 | 0.53894 | 0.99576 | 0.67545 | — | — |
| LogitBoost | 0.39691 | 0.99996 | 0.08962 | 0.99981 | 0.38210 | — | — |
| RobustBoost | 0.73195 | 0.99947 | 0.53794 | 0.99752 | 0.64299 | — | — |
TPR 高达 0.99 而 TNR 只有 0.54–0.73,原因不是模型缺陷而是类别性质:HFT 的交易行为高度同质,非 HFT 是异质集合。
按市值分层(表 7):大盘 F-score 0.9954、中盘 0.9952、小盘 0.9770、微盘(仅占 1% 订单)0.8923。
逆向工程:把黑箱还原成可读的树
这是本文的方法论贡献:
- 集成树输出的是分数(RUS boost 下两类别分数之和为常数)——比最终二分类信息更丰富
- 把分数线性变换到概率,构造"模拟数据集"(特征不变,类别标记换成分数)
- 训回归决策树(深度不限,剔除误分类的约 1%),再剪枝到 15 个叶
- 得到一棵可读的概率树
剪枝后的回归树样本外 PPV 97.1%、NPV 79.7%,与原集成模型(98.12% / 73.85%)非常接近。树只用 16 个特征中的 5 个:recs、$o\_life$、离簿状态、账户类型、BBO_diff。
| 条件 | 判为 HFT 的概率 |
|---|---|
| recs + 做市商/零售做市商/母公司账户 + 被券商撤单或被 STP 撤单 | 99% |
| recs + 做市商账户 + 14,389 秒内离簿 + 价格在 BBO ±0.2% 内 | 95% |
| recs + 自营账户 + 428 秒内被撤 + 价格在 BBO ±2% 内 | 88% |
| recs + 自营账户 + 全成或被修改 + 428 秒内 | 83% |
| 非 recs + 98 秒内被券商撤单 | 80% |
| recs + 客户账户 | 66% |
| recs + 零售做市商组织(RMO) | 1.7% |
| 非 recs + 做市商/RMO + 存活超 98 秒 | 0.2% |
最有效的两个判别量是 recs 与委托存活期。
三篇论文的对照:本 wiki 已有内容
本 wiki 已有的 HFT 识别路线见 concepts/microstructure/HFQ 高频报价识别 (Lifespan Threshold):
| 路线 | 代表 | 数据要求 | 局限 |
|---|---|---|---|
| 账户标识 | Brogaard(26 家 HFT 标识)、Kirilenko 等 | 专有 | 拿不到;不可复现 |
| Strategic runs | Hasbrouck & Saar 2013 | 消息级 | 算法复杂;Chakrabarty 等证明它最纯 |
| 撤单存活期 | MNNP(50 ms) | 逐笔委托 | A 股仅 3.7% 撤单 < 50 ms(时间戳精度 10 ms) |
| A 股本地化 | Shen 2023(500 ms + 成交口径) | 逐笔委托 | 本 wiki 已有 |
| 机器学习 | Goudarzi & Bazzana 2023 | 逐笔委托 + 监管标签 | 需要标签;TNR 低 |
| ML + 逆向工程 | Han 等 2022(可解释 ML) | 逐笔委托 | 引用为同类工作 |
Shen 2023 的 500 ms 阈值与 Goudarzi 等的发现方向一致:委托存活期是极强的判别量。差别在数据粒度——Shen 用 A 股逐笔委托,Goudarzi 用欧洲市场的微秒时间戳。A 股的时间戳精度(10 ms 量级)会削弱存活期信号,这是本 wiki 已有页面指出的核心困难。
一个必须记下的方法论循环
两条路线各有其形式的循环:
- 方向一(用代理检验代理):proxy 是"全部消息",true 是"HFT 消息"。NSE 样本里 HFT 占全部消息的 83.40%(改单 87.30%、撤单 70.16%)——在这个占比下,proxy ≈ true 是必然的,相关性高可能只说明"HFT 消息多",而不是"这个代理专门测 HFT"。SRuns 的两阶段设计正是为了排除这个解释。
- 方向二(用标签训模型):AMF 的标签本身建立在"撤单多 + 存活期短"上,而模型最有效的特征恰恰是委托存活期。模型复现的是监管局的定义,不是市场的真相。
这两点合起来说明一件事:用监管标签训出来的"高精度"模型,其精度上限由监管定义的精度决定。想要更准,需要的是与定义无关的识别信号。
Open Questions
- 代理指标在 A 股的适用性完全未测。印度、欧洲、法国的结论不能直接搬到 A 股——本 wiki 已有页面 concepts/microstructure/A 股 vs 美股高频市场质量 记录了 A 股高频市场的结构性差异(3 秒快照、委托号可判主动方、14.2% 配对缺失)。
- "纯 HFT" 的定义本身没有共识。SEC (2010) 的概念性定义是"自营 + 高频 + 短持仓",AMF 的两条量化判据,NSE 的消息级标识——三者互不等价。代理指标研究测的是"与特定监管定义的一致性",不是"HFT 是什么"。
- TNR 低(0.54–0.73)意味着什么。RUS boost 的 R^2 只有 0.009–0.034,但 AUC 0.98–0.99。作者归因于数据不平衡,但低 R² 通常意味着模型没抓到信号——这个解释需要检验。
- "实时识别"的延迟代价未被量化。Goudarzi 等主张"把识别推迟到委托生命周期结束",但不同委托的存活期差异极大(中位数 6.7 秒 vs 长尾到数小时),"委托结束即出结果"对做市商与 HFT 而言是不同的延迟。
- 中国市场的制度差异:A 股 T+1、涨跌停、限仓、以及散户占比高,都会改变"高频"的定义边界。在没有监管标识的 A 股市场,代理指标的可靠性问题比印度与法国更严重。
Sources
- summaries/202207-chakrabarty-comerton-forde-pascual-hft-proxies/202207-chakrabarty-comerton-forde-pascual-hft-proxies — Chakrabarty 等,用 NSE 真值检验九个代理指标
- summaries/202308-goudarzi-bazzana-hft-machine-learning/202308-goudarzi-bazzana-hft-machine-learning — Goudarzi & Bazzana,用 AMF 标签训 RUS boost 并逆向工程