1. 课程导入与逐笔数据认知
在日内高频与微观结构研究中,很多策略想法在日线或分钟线上看起来“有效”,一旦落到逐笔粒度就迅速失效。原因往往不在模型,而在于对数据对象的理解偏差:把逐笔成交当成委托、把快照当成连续订单簿、把成交方向当成主动买卖,都会让特征在构造阶段就带上系统性噪声。本课程的目标,是建立一条从逐笔数据认知 → 特征构造 → 有效性检验 → 回测验证的完整链路,让每一个进入回测的特征都经过可解释、可复现的筛选。
三类核心数据对象
逐笔数据通常由三类对象构成,它们回答的问题完全不同,混用是初学者最常见的错误来源。
- 逐笔成交(Trade):记录“已经发生的撮合”。典型字段包括成交时间(精确到毫秒或微秒)、成交价、成交量、成交编号,以及交易所提供的买卖方向标记(如 BS 标志)。它反映的是结果,不反映挂单意图。
- 逐笔委托(Order):记录“进入撮合队列的指令”。典型字段包括委托时间、委托价格、委托数量、买卖方向、订单类型(限价/市价/本方最优等)。它反映的是意图,是刻画订单流不平衡、撤单行为的基础。
- 订单簿快照(Snapshot):按固定频率(如每 3 秒或每 500 毫秒)对订单簿进行切片,给出买一至买十、卖一至卖十的价格与数量。它反映的是状态,但两次快照之间的变化被压缩掉了。
三者的关系可以用一句话概括:委托改变订单簿状态,成交消耗订单簿状态,快照只是状态的时间采样。理解这一点,才能判断某个特征应该用哪类数据、在什么时间戳上对齐。
为什么必须先做有效性检验
逐笔特征数量可以轻易膨胀到成百上千个,但真正有预测力的极少。若不先检验就直接进回测,会出现两类典型问题:一是过拟合,在样本内表现优异、样本外迅速衰减;二是前视偏差,特征在计算时无意中用到了未来信息,例如用当日全天成交均价去标准化盘中某一时刻的成交量。有效性检验的作用,是在进入成本高昂的回测之前,先用统计手段筛掉大部分噪声特征。
常用的检验维度包括:特征与未来收益的秩相关(IC)、按特征分组的收益单调性、特征在不同时间窗口上的衰减速度,以及样本外与样本内的表现一致性。以 IC 为例,若某特征在 20 个交易日的日频 IC 均值约为 0.03、ICIR 约为 0.4,属于“弱但可能可用”的区间;若样本外 IC 迅速转为负值,则说明该特征不稳定,应优先怀疑其构造逻辑而非调参。
从特征到回测的完整流程
一个可复现的流程应当包含以下环节,每一步都有明确的输入与判断标准:
- 数据清洗与对齐:统一时间戳精度(建议全部转为微秒),处理集合竞价、午休、停牌等特殊时段,剔除明显异常的价格与数量。
- 特征构造:基于委托、成交、快照分别构造订单流、撤单、深度、价差类特征,并明确每个特征的计算窗口与更新频率。
- 标签定义:确定预测目标,例如未来 5 秒或未来 1 分钟的中价收益,标签必须严格晚于特征时间戳。
- 有效性检验:计算 IC、分组收益、衰减曲线,做样本内/样本外切分,记录每个特征的检验结论。
- 回测验证:在撮合延迟、手续费、滑点约束下模拟信号到成交的闭环,观察净值、换手与容量。
一个可操作的教学示例
假设我们研究某只流动性较好的股票,取某交易日 09:30–11:30 的逐笔数据。构造一个最简单的订单流不平衡特征:在 1 秒窗口内,统计主动买入成交量与主动卖出成交量之差,除以总成交量,得到 OFI 指标。标签取该秒之后 5 秒的中价收益率。对全天约 7200 个秒级样本计算 Spearman 秩相关,若得到 IC 约为 0.05,则说明该特征在秒级具有一定方向性;再按 OFI 分五组观察未来 5 秒平均收益,若呈现近似单调递增,则初步通过检验。需要强调的是,以上数值仅为教学示例中的合理假设,实际结果必须由真实数据计算得出。