1. 逐笔数据基础与漂移问题定义

在日内量化策略里,K线是“压缩后的结果”,而逐笔数据是“未压缩的过程”。当我们把策略建立在盘口微观结构之上时,真正决定盈亏的往往不是某根分钟线收在哪里,而是这一分钟内订单如何到达、成交如何分布、大单如何拆分、买卖压力如何演化。本章作为全课程起点,先把逐笔数据的结构讲清楚,再定义什么叫“特征漂移”,最后介绍后续实战将使用的数据集,为后面的识别与诊断打下共同语言。

一、逐笔成交与逐笔委托的数据结构

国内A股常见的逐笔数据分为两类:逐笔成交(Transaction,简称成交)与逐笔委托(Order,简称委托)。上交所与深交所在字段和撮合披露方式上存在差异,但核心语义一致。逐笔成交记录的是“某一笔撮合成交”,关键字段通常包括:成交时间(精确到毫秒或十毫秒)、证券代码、成交价格、成交数量、成交编号、买方委托序号、卖方委托序号,以及一个表示买卖方向的标志(通常以主动方方向标注,B为主动买、S为主动卖)。逐笔委托记录的是“某一笔新订单进入撮合队列”,关键字段包括:委托时间、证券代码、订单编号、委托价格、委托数量、买卖方向,以及订单类型(市价、限价、本方最优、对手方最优等)。

理解这两类数据的关键,是抓住它们之间的引用关系:一笔成交通过买方委托序号和卖方委托序号,指向两笔委托;反过来,一笔委托可能对应零笔、一笔或多笔成交(部分成交、被拆分成多笔撮合)。这就构成了一个“委托—成交”的二部图结构。很多微观特征正是从这个结构里长出来的,例如“某笔大额委托被拆成多少笔成交”“主动买单的平均单笔成交量”“撤单发生在成交前还是成交后”。如果只把逐笔数据当成一张平铺的流水表,就会丢掉这层关系,特征工程也会停留在简单加总层面。

需要特别提醒两个工程细节。第一是时间戳口径:成交时间与委托时间可能来自不同时钟源,跨市场、跨通道时存在毫秒级偏差,做“委托到成交的延迟”类特征时必须先对齐口径,否则会把时钟抖动误判为行为异常。第二是序号连续性:交易所推送的逐笔数据在极端行情下可能出现丢包或乱序,落地时要按序号去重、按时间稳定排序,并记录缺失区间。这两点看似琐碎,却直接决定后续漂移检测是真信号还是数据噪声。

二、特征工程的常见维度

基于逐笔数据,特征大致可以归为四个维度,它们也是后续漂移监测的主要对象。

  • 量价维度:单笔成交量的均值与分位数、大单占比(如成交量超过当日均量若干倍的笔数占比)、成交价相对中间价的偏移、主动买卖成交量差(OFI的逐笔版本)。
  • 订单流维度:委托到达率、委托撤单率、订单簿不平衡度、主动买入委托与主动卖出委托的数量比、委托被成交的比例(成交委托数/委托总数)。
  • 微观结构维度:有效价差、实现价差、价格冲击、成交间隔的分布、订单在盘口中的存活时间。
  • 行为维度:大单拆分模式、冰山单识别、尾盘与开盘阶段的委托集中度、特定价格档位的挂撤节奏。

这些特征有一个共同点:它们都依赖“分布”而非“单点”。单笔成交量突然放大可能只是偶然,但单笔成交量分布的均值上移、尾部变厚,才是漂移的信号。因此特征工程阶段就应当以滚动窗口的方式计算,并保留窗口内的分位数、偏度等形状统计量,而不是只留一个均值。

三、漂移对策略的影响

所谓特征漂移,指特征在时间上的联合分布发生了系统性变化,使得在训练期学到的“特征—收益”映射在新数据上失效。它不同于单纯的行情涨跌:行情变化是标签层面的波动,漂移是输入层面的结构改变。常见诱因包括交易规则调整(如涨跌幅、申报数量单位变化)、市场参与者结构变化(量化占比上升导致订单流更碎)、撮合机制或披露频率变化,以及极端行情下的流动性骤降。

漂移对策略的伤害有三条典型路径。其一是阈值失效:策略依赖“大单占比超过X%时跟进”,当全市场拆单变细、大单定义整体下移后,阈值不再有区分度,信号要么泛滥要么消失。其二是权重错配:线性或树模型给某些特征的权重,是基于旧分布学到的,分布平移后同样的特征值代表完全不同的市场含义。其三是风控误判:以历史波动率校准的仓位与止损,在新波动结构下会过紧或过松。识别漂移的目的不是追求“永远不变的特征”,而是尽早发现“映射正在失效”,从而触发重训、降仓或停用。

逐笔数据 → 特征 → 策略:漂移的传导链 逐笔委托 订单号 / 价格 / 数量 方向 / 订单类型 时间戳(毫秒级) 撤单标志 逐笔成交 成交价 / 成交量 买方委托序号 卖方委托序号 主动方方向 B/S 委托序号 引用 特征工程(滚动窗口) 量价:大单占比 / 单笔量分位 订单流:到达率 / 撤单率 / OFI 微观:有效价差 / 价格冲击 行为:拆单模式 / 挂撤节奏 保留分布形状:偏度 / 尾部 而非仅均值 策略映射 阈值规则 模型权重 仓位与止损 信号触发频率 漂移诱因 规则调整 · 参与者结构变化 披露频率变化 · 极端流动性骤降 分布平移 结果:阈值失效 · 权重错配 · 风控误判 → 需重训 / 降仓 / 停用 识别目标:尽早发现“特征—收益”映射正在失效

四、课程实战数据集介绍

为了让后续的漂移识别与诊断有可复现的载体,本课程使用一份教学示例数据集(非真实实盘数据,参数与结果均为合理假设,用于演示方法)。数据集覆盖某只中高流动性股票连续约60个交易日的逐笔委托与逐笔成交,字段按前述结构组织,时间精度为毫秒,已做序号去重与时间稳定排序,并标注了若干“规则或结构变化”的时间节点作为漂移参照。数据被切分为三段:前30个交易日作为基准期用于训练与建立特征分布基线;中间15个交易日作为监测期,其中人为注入两类漂移——一类是拆单变细导致的单笔成交量分布整体下移,另一类是某阶段撤单率显著抬升;最后15个交易日作为验证期,用于检验漂移检测与应对是否有效。

使用这份数据时,建议先做三件事:一是按交易日和时段(开盘、连续竞价、尾盘)分层统计特征,建立分层的基线分布;二是固定特征计算窗口(例如每5分钟滚动、回看最近20个窗口),保证基准期与监测期口径一致;三是把“漂移标签”与“策略损益”分开记录,前者用于诊断,后者用于评估影响。这样在后续章节中,我们才能把“检测到了漂移”与“漂移确实伤害了策略”这两件事区分开,避免把无害的分布波动误当成需要处置的故障。

本节的核心结论可以浓缩为一句话:逐笔数据的价值在于“委托—成交”的引用结构与分布形状,而漂移的本质是这种分布形状的系统性改变,它通过阈值、权重和风控三条路径伤害策略。后续所有识别与诊断方法,都围绕“如何稳定地度量分布变化”展开。