2. 盘口数据源与采集规范

盘口复盘报告的可信度,首先取决于数据源是否被正确识别、采集是否规范。很多复盘结论之所以“看起来有道理、经不起复核”,根源往往不在分析逻辑,而在数据层:把快照当成逐笔用、把逐笔委托与逐笔成交混为一谈、时间戳没有对齐,导致买卖力量判断出现系统性偏差。本节围绕三类核心数据源展开,说明它们各自表达什么、字段如何理解、采集频率如何设定,以及多源数据在时间轴上如何对齐。

一、三类数据源的本质区别

Level-2 行情通常包含三类互补的数据:逐笔委托(Order)、逐笔成交(Trade)和快照(Snapshot)。它们不是同一信息的三种精度,而是描述市场不同侧面的三种记录。

逐笔委托记录的是“意图”:每一笔新报单进入订单簿,或每一笔撤单离开订单簿,都会形成一条记录。核心字段包括证券代码、交易所通道号、委托序号、委托时间、委托方向(买/卖)、委托价格、委托数量和委托类型(新增/撤单)。它回答的是“谁在什么价位挂了多少量、又撤了多少量”,是观察挂单意图、撤单行为和虚假挂单的关键。

逐笔成交记录的是“结果”:每一笔撮合成功的交易,字段包括成交时间、成交序号、成交价格、成交数量、成交方向(主动买/主动卖,部分数据源以买方委托号/卖方委托号体现)。它回答的是“实际成交发生在什么价位、由哪一方主动促成”,是计算主动买卖比、大单净流入的基础。

快照记录的是“截面”:按固定频率对订单簿进行切片,字段包括时间戳、最新价、成交量、成交额、买一至买十(或卖一至卖十)的价格与数量。它回答的是“某一时刻盘口的静态形态”,适合观察挂单厚度、价差和盘口结构,但不能用来还原逐笔撮合过程。

常见误区:用快照的买一量变化去推断“有大单撤单”。快照是离散切片,两次快照之间的挂单增减可能由成交、撤单、新挂单共同造成,无法区分。要判断撤单,必须使用逐笔委托中的撤单记录。

二、采集频率与字段口径

三类数据的采集频率由数据源本身决定,采集端不应“二次降频”。逐笔委托与逐笔成交是事件驱动,来一条记一条,采集程序需保证不丢包、不乱序;快照通常为每 3 秒一次(沪深 Level-2 常见口径,具体以数据商约定为准),采集端按时间戳落库即可。

字段口径上有几个必须统一的约定:价格单位统一为元并保留数据源原始小数位,避免复盘时因四舍五入产生价位错配;数量单位统一为股,注意部分数据源以“手”为单位,需在入库时换算;方向字段要明确是“委托方向”还是“主动成交方向”,二者语义相反,混用会直接导致买卖力量判断反转。建议在采集配置中固定一份字段映射表,例如:

字段映射(示例)
order.side      : 1=买, 2=卖        → 统一为 B/S
order.type      : A=新增, D=撤单    → 统一为 NEW/CANCEL
trade.direction : B=主动买, S=主动卖 → 统一为 BUY/SELL
snapshot.volume : 单位=股            → 不做换算
order.volume    : 单位=手            → ×100 换算为股

采集频率设定还要考虑存储与回放的平衡。逐笔数据在活跃标的上单日可达数十万至百万条,若复盘只关注特定时段(如开盘 9:15–9:30 集合竞价、尾盘 14:57–15:00),可按标的与时段做分区存储,但不可在采集阶段做抽样,否则撤单率、主动买卖比等指标会失真。

三、时间对齐:复盘证据链的基准

多源数据能否拼成一条证据链,取决于时间对齐。三类数据的时间戳来源不同:逐笔委托与逐笔成交通常带交易所撮合时间(精确到毫秒或微秒),快照带切片时间戳。对齐的基本原则是:以交易所时间为唯一基准,采集端本地时间仅作日志参考,不参与分析。

具体操作上,先做时区与精度统一:全部转换为同一时区(如北京时间),精度统一到毫秒,快照时间戳若只到秒,则视为该秒的切片点。再做事件排序:同一毫秒内可能有多条逐笔记录,需按交易所序号(委托序号/成交序号)排序,而非按到达顺序。最后做窗口归属:把逐笔事件归入其时间戳所在的快照区间,例如快照 T 与 T+3s 之间的逐笔成交,归属于区间 [T, T+3s),用于解释该区间内盘口变化的原因。

三类数据源 → 统一时间轴 → 复盘证据链 逐笔委托 Order 新增 / 撤单 · 委托序号 方向 · 价格 · 数量 表达“挂单意图” 逐笔成交 Trade 成交序号 · 价格 · 数量 主动买 / 主动卖 表达“撮合结果” 快照 Snapshot 每 3 秒切片 · 买一至买十 最新价 · 量 · 额 表达“截面形态” 09:30:00.000 09:30:03.000 快照 T 快照 T+3s 快照 T+6s 区间 [T, T+3s):逐笔事件归入该窗口 用于解释快照 T → T+3s 的盘口变化 同毫秒多条:按交易所序号排序 不按采集端到达顺序 对齐后:快照定“形态”,逐笔成交定“结果”,逐笔委托定“意图”,三者共同构成可复核的证据链

四、采集规范落地:一份可执行的检查清单

把上述要求固化为采集端的检查项,能显著降低复盘返工率。以下清单可直接用于采集程序上线前自检或数据入库后的抽检:

检查项合格标准不合格的典型后果
数据源完整性逐笔委托、逐笔成交、快照三类均落库,且覆盖目标时段无法区分撤单与成交,证据链断裂
字段口径方向、数量单位、价格精度已按映射表统一主动买卖比反向,结论完全相反
时间基准全部使用交易所时间,本地时间仅作日志跨源事件错位,窗口归属错误
排序规则同毫秒按交易所序号排序撮合顺序还原错误
无抽样逐笔数据全量保留,未做降频或抽样撤单率、大单占比失真
可回放按标的+时段可完整回放原始事件流复盘结论无法复核

以一个教学示例说明对齐的价值:假设某标的在 09:30:00 至 09:30:03 之间,快照显示买一量从 8000 股降至 3000 股。若只看快照,可能误判为“买盘撤单”。但调取该区间的逐笔数据后发现:逐笔成交中有 3 笔主动卖成交合计 5000 股,逐笔委托中并无对应价位的撤单记录——那么买一量下降的真实原因是被主动卖单吃掉,而非撤单。这一区分直接决定了复盘结论是“买盘承接被消耗”还是“买盘虚假撤退”,二者对后续走势的含义截然不同。此例中的数值为教学假设,实际复盘应以真实落库数据为准。

建议在采集配置中同时记录数据源版本号与字段映射表版本号。当数据商调整字段口径时,可快速定位哪些历史复盘使用了旧口径,避免新旧数据混用造成结论漂移。

综上,盘口数据源的识别与采集规范,本质上是为复盘建立一条可追溯、可复核、口径一致的数据底座。逐笔委托看意图、逐笔成交看结果、快照看形态,三者以交易所时间为基准对齐后,才能支撑起后续的盘口行为分析与证据链构建。