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_1min, 深度不平衡, 成交速率] 五维向量,先做滚动标准化,再计算与历史正常状态的马氏距离,距离超过分位数阈值即标记为异动候选。这样既利用了方向性(OFI),又兼顾了流动性稳定性(撤单率)与风险水平(波动率)。
最后强调口径一致性:OFI 的正负号、撤单率的分子分母、波动率的窗口长度,都应在特征字典中明确记录,并在整个分析链路中保持不变。特征工程的质量,往往比模型选择更能决定高频异动聚类的最终效果。