2. 盘口数据基础与采集链路

要判断盘口价格闪变究竟是真实行情还是数据异常,第一步不是盯着分时图猜,而是弄清楚自己手里的数据到底是什么。A股行情数据通常由三类核心数据构成:逐笔委托(Order)、逐笔成交(Trade)和快照(Snapshot)。三者的生成主体、更新频率和字段语义完全不同,混用或误读是导致“闪变误判”的常见根源。

三类数据的字段含义与语义边界

逐笔委托记录的是订单进入交易所撮合系统的事件,核心字段包括:证券代码、买卖方向(B/S)、订单编号、委托价格、委托数量、订单类型(限价/市价/本方最优等)、订单状态(新增/撤单)以及交易所撮合时间。它描述的是“谁在什么价位挂了多少量”,是盘口挂单变化的源头。需要特别注意:逐笔委托中的“撤单”事件同样是一条独立记录,盘口某一档位挂单量骤减,往往对应一条撤单委托,而非成交。

逐笔成交记录撮合成交结果,核心字段包括:成交编号、买卖双方订单编号、成交价格、成交数量、成交时间以及成交方向标记(主动买/主动卖,部分数据源以买方订单号或卖方订单号推断)。它描述的是“实际发生了多少交易”,是价格真正移动的依据。逐笔成交的成交量之和应与快照中累计成交量增量一致,这一致性正是排查数据异常的重要校验点。

快照是交易所按固定频率(A股Level-1通常约3秒一笔,Level-2约3秒或更快)对盘口状态的一次切片,字段包括:时间戳、最新价、今开、最高、最低、成交量、成交额、买一至买五(或买十)价与量、卖一至卖五(或卖十)价与量、委托买入/卖出总量等。快照是“状态量”,逐笔是“事件量”,二者关系类似视频帧与逐帧事件日志。

盘口数据采集链路:事件流 → 状态切片 → 本地校验 交易所撮合系统 订单进入 → 撮合 → 成交 产生委托/成交事件 周期性生成盘口快照 行情网关 / 分发 二进制协议封装 序列号 + 时间戳 多路复用推送 本地采集端 解包 / 落库 按序列号排序 记录接收时间 一致性校验 成交量对账 序列号连续性 时间戳偏差 逐笔委托(事件流) · 证券代码 / 买卖方向 · 订单编号 / 订单类型 · 委托价格 / 委托数量 · 订单状态:新增 / 撤单 · 交易所撮合时间 语义:挂单变化的源头 盘口某档骤减 → 查撤单记录 逐笔成交(事件流) · 成交编号 / 买卖订单编号 · 成交价格 / 成交数量 · 成交时间 · 主动买 / 主动卖标记 · 与委托编号可关联回溯 语义:价格真正移动的依据 成交量之和 ≈ 快照累计增量 快照(状态切片) · 时间戳 / 最新价 / 今开 · 最高 / 最低 / 成交量 / 成交额 · 买一~买五(十)价与量 · 卖一~卖五(十)价与量 · 委托买入 / 卖出总量 语义:某一时刻的盘口截面 帧间跳变需用事件流解释 事件流解释“为什么变”,快照呈现“变成了什么”;两者对不上,即为数据异常排查入口

时间戳机制:三种时间不能混为一谈

盘口闪变分析中,时间戳是最容易被忽视却最关键的字段。实际链路里至少存在三种时间:交易所撮合时间(事件真实发生时刻)、网关发送时间(行情分发时刻)、本地接收时间(采集端收到时刻)。逐笔数据通常携带交易所时间,精度可达毫秒甚至微秒;快照的时间戳一般标记该帧的生成时刻。三者之间存在网络传输与排队延迟,正常情况下延迟稳定且较小,一旦某段时间戳出现倒序、跳变或本地接收时间与交易所时间差突然拉大,就应怀疑链路拥塞或数据源异常,而不是行情本身闪变。

实践中建议采集端同时保留交易所时间与本地接收时间两个字段,并记录数据源序列号。序列号连续性是判断“是否丢包”的直接依据:若某只股票在连续快照之间序列号出现缺口,说明中间帧丢失,此时看到的“价格跳变”很可能只是丢帧造成的视觉断层,而非真实成交推动。

常见采集方式与选型

常见采集方式主要有三类。其一是行情API订阅,通过券商或数据商提供的接口(如各厂商的Level-1/Level-2行情SDK)回调接收,优点是接入快、字段规范,缺点是受接口频率与权限限制,逐笔数据往往需要专门授权。其二是文件落地回放,交易所或数据商按日提供逐笔与快照文件,适合复盘与离线校验,能完整还原历史链路。其三是自建网关直连,直接对接行情网关二进制流,延迟最低但开发与运维成本高,需要自行处理解包、序列号排序与断线重连。

无论哪种方式,落库时都应遵循“事件流与状态流分表存储”的原则:逐笔委托、逐笔成交各建事件表,快照建状态表,并统一以证券代码加交易所时间为索引。这样在排查闪变时,可以先定位异常快照帧,再回查该时间窗口内的逐笔事件,形成完整证据链。

教学示例(假设数据):某股票在10:15:03的快照中买一价由10.00元跳至10.05元,买一量由5000手降至800手。回查逐笔成交发现该窗口内有一笔以10.05元成交的主动买单3000手,同时逐笔委托中存在原买一价位剩余挂单的撤单记录1200手。两条事件共同解释了快照变化,属于真实行情;若逐笔流中查不到对应成交与撤单,则应判定为数据异常。

采集环节的校验清单

为保证后续闪变判断可靠,采集端至少应完成三项校验:一是成交量对账,用相邻两帧快照的累计成交量之差,与区间内逐笔成交数量之和比对,偏差超过阈值即告警;二是序列号连续性检查,发现缺口立即标记该时段数据不可用于闪变判定;三是时间戳单调性检查,同一证券的逐笔事件时间应基本单调递增,出现明显倒序需排查多路数据源合并问题。把这三项做成采集时的常规动作,才能在面对盘口闪变时,先分清是行情在动,还是数据在“抖”。