3. 高频异动特征工程

盘口快照是高频交易分析中最基础、也最容易被低估的数据源。它通常以固定频率(例如每 3 秒一笔)记录买一至买十、卖一至卖十的价格与挂单量,以及最新成交价、累计成交量、累计成交额等字段。原始快照本身只是"某一时刻的静态切片",真正有分析价值的是从连续快照序列中构造出的动态特征。本节聚焦四类核心特征:价量特征、订单流不平衡、撤单率与瞬时波动率,并说明它们的计算口径与工程实现要点。

一、价量特征:把快照序列变成可比数值

价量特征是最直接的一层。常见构造包括:中间价 mid=(bid1+ask1)/2,用于消除买卖价跳动带来的噪声;相对买卖价差 spread=(ask1−bid1)/mid,衡量即时流动性成本;盘口深度,即买十档与卖十档挂单量之和;加权中间价,用各档挂单量对价格加权,反映真实成交重心。此外,成交量的一阶差分 Δvol 与成交额差分 Δamt 可得到区间成交量,再除以时间间隔得到成交速率。

工程上要注意两点:一是时间对齐,快照时间戳与逐笔成交时间戳往往不同源,需统一到同一时间轴(如按快照时刻做前向填充);二是归一化,不同股票的绝对挂单量差异巨大,深度类特征应除以自身历史均值或流通股本,才能跨标的比较。示例参数:某标的买十档合计 12 万手、卖十档合计 9 万手,则深度不平衡为 (12−9)/(12+9)≈0.143,说明买方挂单更厚。

二、订单流不平衡:捕捉主动买卖压力

订单流不平衡(Order Flow Imbalance, OFI)刻画的是盘口挂单变化的方向性。经典做法是逐档比较相邻两笔快照的买一价、买一量、卖一价、卖一量的变化:买一价上升或买一量增加记为正向贡献,卖一价下降或卖一量增加记为负向贡献,两者相减得到单期 OFI。更细的版本可扩展到十档,对每档赋予随深度衰减的权重。

一个可直接落地的简化计算式(示例口径):

# 单期 OFI(买一/卖一简化版)
if bid1_t > bid1_{t-1}:   e_bid = +bid1_vol_t
elif bid1_t == bid1_{t-1}: e_bid = bid1_vol_t - bid1_vol_{t-1}
else:                      e_bid = -bid1_vol_{t-1}

if ask1_t < ask1_{t-1}:   e_ask = +ask1_vol_t
elif ask1_t == ask1_{t-1}: e_ask = ask1_vol_t - ask1_vol_{t-1}
else:                      e_ask = -ask1_vol_{t-1}

OFI_t = e_bid - e_ask

OFI 的符号约定需在全文统一:正值表示买方压力增强。实际使用时通常对 OFI 做滚动标准化(减去过去 N 期均值、除以标准差),得到可比的 z 值,再与价格未来短窗收益做相关性检验,验证其预测力。若某标的 30 期滚动 OFI 的 z 值持续大于 2,往往对应短期上行动能积聚。

三、撤单率:识别虚假挂单与流动性抽离

撤单率衡量挂单被撤销的比例,是识别"幌骗"式挂单和流动性突然抽离的关键指标。计算上,需从逐笔委托或委托明细中统计区间内的撤单笔数/撤单量,除以同期新增委托笔数/委托量。若只有快照数据,可用"挂单量减少但价格未成交"的近似口径估算:某档挂单量下降而该价位无成交记录,则视为撤单。

撤单率需分档观察:买一卖一附近的撤单率升高,往往意味着做市方在快速撤离;而远档撤单率变化则更多反映挂单策略调整。示例:某标的 1 分钟内买一档新增委托 800 手、撤单 520 手,撤单率达 65%,显著高于其日内均值 30%,提示近端流动性不稳定,此时基于盘口深度的信号应降权使用。

四、瞬时波动率:用高频价格度量风险

瞬时波动率不能直接用日线标准差。高频场景下常用已实现波动率:对固定时间窗内的中间价对数收益率平方求和再开方,即 RV=√(Σ r_i²)。窗口可取 1 分钟、5 分钟,并按快照频率调整。另一种是Parkinson 估计,利用窗口内最高价与最低价:σ=√( (ln(H/L))² / (4ln2) ),对跳空不敏感,适合快照稀疏时使用。

瞬时波动率的核心用途是动态阈值:异动检测的触发门槛不应固定,而应随波动率自适应调整。例如以过去 20 分钟 RV 的 2 倍作为"异常放量"的判定线,波动率高时放宽阈值,避免把正常噪声误判为异动。

盘口快照 → 四类高频异动特征的数据流 盘口快照 买十/卖十档 最新价·累计量 逐笔委托/成交 撤单·新增委托 预处理 时间对齐 前向填充 滚动标准化 价量特征 中间价·价差·深度 成交速率 订单流不平衡 OFI 逐档差分 滚动 z 值 撤单率 撤单量/新增量 分档观察 瞬时波动率 已实现波动率 RV Parkinson 估计 特征矩阵 时间 × 标的 × 特征 OFI_z 撤单率 RV_1min 深度不平衡 → 聚类输入 注:OFI 正值约定为买方压力增强;撤单率与波动率用于对异动信号做动态加权与阈值调整

五、特征组合与工程落地要点

四类特征并非孤立使用。实践中更有效的做法是把它们拼成特征向量,再送入聚类或异常检测模型。例如每个快照时刻构造 [OFI_z, 撤单率, RV_1min, 深度不平衡, 成交速率] 五维向量,先做滚动标准化,再计算与历史正常状态的马氏距离,距离超过分位数阈值即标记为异动候选。这样既利用了方向性(OFI),又兼顾了流动性稳定性(撤单率)与风险水平(波动率)。

工程实现建议:所有滚动统计量(均值、标准差、分位数)必须使用仅含过去数据的窗口,避免未来信息泄漏;特征计算与回测应使用同一套代码路径,防止线上线下口径不一致。
常见误区:直接用原始挂单量做跨标的比较,会因股本和价格差异导致特征失真;撤单率若只统计总量而不分档,会掩盖近端流动性的真实变化。务必先归一化、再分档观察。

最后强调口径一致性:OFI 的正负号、撤单率的分子分母、波动率的窗口长度,都应在特征字典中明确记录,并在整个分析链路中保持不变。特征工程的质量,往往比模型选择更能决定高频异动聚类的最终效果。