1. 课程导入与逐笔数据认知

在日内高频与微观结构研究中,很多策略想法在日线或分钟线上看起来“有效”,一旦落到逐笔粒度就迅速失效。原因往往不在模型,而在于对数据对象的理解偏差:把逐笔成交当成委托、把快照当成连续订单簿、把成交方向当成主动买卖,都会让特征在构造阶段就带上系统性噪声。本课程的目标,是建立一条从逐笔数据认知 → 特征构造 → 有效性检验 → 回测验证的完整链路,让每一个进入回测的特征都经过可解释、可复现的筛选。

三类核心数据对象

逐笔数据通常由三类对象构成,它们回答的问题完全不同,混用是初学者最常见的错误来源。

  • 逐笔成交(Trade):记录“已经发生的撮合”。典型字段包括成交时间(精确到毫秒或微秒)、成交价、成交量、成交编号,以及交易所提供的买卖方向标记(如 BS 标志)。它反映的是结果,不反映挂单意图。
  • 逐笔委托(Order):记录“进入撮合队列的指令”。典型字段包括委托时间、委托价格、委托数量、买卖方向、订单类型(限价/市价/本方最优等)。它反映的是意图,是刻画订单流不平衡、撤单行为的基础。
  • 订单簿快照(Snapshot):按固定频率(如每 3 秒或每 500 毫秒)对订单簿进行切片,给出买一至买十、卖一至卖十的价格与数量。它反映的是状态,但两次快照之间的变化被压缩掉了。

三者的关系可以用一句话概括:委托改变订单簿状态,成交消耗订单簿状态,快照只是状态的时间采样。理解这一点,才能判断某个特征应该用哪类数据、在什么时间戳上对齐。

逐笔数据对象与特征—回测链路 逐笔委托 Order 时间·价格·数量·方向·类型 刻画“意图”与撤单行为 逐笔成交 Trade 时间·价格·数量·BS 标志 刻画“结果”与主动方向 订单簿快照 Snapshot 买一~买十 / 卖一~卖十 刻画“状态”与深度分布 特征构造 订单流不平衡 OFI 大单净流入 / 撤单率 价差·深度·微观价格 成交方向占比 统一时间戳对齐 有效性检验 IC / 分组收益 / 衰减曲线 样本外稳定性 剔除未来信息与幸存偏差 回测验证 撮合延迟·手续费·滑点 信号→下单→成交闭环 容量与换手约束 委托改变状态 → 成交消耗状态 → 快照采样状态;特征须在统一时间轴上对齐后再检验与回测

为什么必须先做有效性检验

逐笔特征数量可以轻易膨胀到成百上千个,但真正有预测力的极少。若不先检验就直接进回测,会出现两类典型问题:一是过拟合,在样本内表现优异、样本外迅速衰减;二是前视偏差,特征在计算时无意中用到了未来信息,例如用当日全天成交均价去标准化盘中某一时刻的成交量。有效性检验的作用,是在进入成本高昂的回测之前,先用统计手段筛掉大部分噪声特征。

常用的检验维度包括:特征与未来收益的秩相关(IC)、按特征分组的收益单调性、特征在不同时间窗口上的衰减速度,以及样本外与样本内的表现一致性。以 IC 为例,若某特征在 20 个交易日的日频 IC 均值约为 0.03、ICIR 约为 0.4,属于“弱但可能可用”的区间;若样本外 IC 迅速转为负值,则说明该特征不稳定,应优先怀疑其构造逻辑而非调参。

从特征到回测的完整流程

一个可复现的流程应当包含以下环节,每一步都有明确的输入与判断标准:

  1. 数据清洗与对齐:统一时间戳精度(建议全部转为微秒),处理集合竞价、午休、停牌等特殊时段,剔除明显异常的价格与数量。
  2. 特征构造:基于委托、成交、快照分别构造订单流、撤单、深度、价差类特征,并明确每个特征的计算窗口与更新频率。
  3. 标签定义:确定预测目标,例如未来 5 秒或未来 1 分钟的中价收益,标签必须严格晚于特征时间戳。
  4. 有效性检验:计算 IC、分组收益、衰减曲线,做样本内/样本外切分,记录每个特征的检验结论。
  5. 回测验证:在撮合延迟、手续费、滑点约束下模拟信号到成交的闭环,观察净值、换手与容量。
建议在项目初期就建立一张“特征登记表”,记录特征名称、数据来源、计算窗口、检验结论与回测表现。这张表会在后续 29 节中反复使用,是避免重复劳动和结论漂移的关键工具。

一个可操作的教学示例

假设我们研究某只流动性较好的股票,取某交易日 09:30–11:30 的逐笔数据。构造一个最简单的订单流不平衡特征:在 1 秒窗口内,统计主动买入成交量与主动卖出成交量之差,除以总成交量,得到 OFI 指标。标签取该秒之后 5 秒的中价收益率。对全天约 7200 个秒级样本计算 Spearman 秩相关,若得到 IC 约为 0.05,则说明该特征在秒级具有一定方向性;再按 OFI 分五组观察未来 5 秒平均收益,若呈现近似单调递增,则初步通过检验。需要强调的是,以上数值仅为教学示例中的合理假设,实际结果必须由真实数据计算得出。