1. Level2行情数据类型全景

Level2行情并不是“比Level1多几档盘口”这么简单。它本质上是一套按事件粒度组织的高频市场数据体系:Level1告诉你“当前最优价和成交量是多少”,Level2则试图还原“这些价格和成交量是怎么一步步形成的”。理解这一点,是后续做接口授权核验、数据落库、策略回测和行情回放的前提。本节先把四类核心数据类型——逐笔委托、逐笔成交、委托队列、快照行情——的业务含义、字段特征和授权边界讲清楚。

四类数据的业务定位

逐笔委托(Order)记录的是每一笔进入交易所撮合系统的委托申报,包括买卖方向、委托价格、委托数量、委托时间、委托序号等。它回答的是“谁在什么时刻、以什么价格、报了多少量”。对于深市等采用逐笔委托披露的市场,逐笔委托是重建订单簿的原始输入;对于部分市场,逐笔委托可能只披露部分字段或以聚合形式出现,这一点在授权核验时必须逐市场确认。

逐笔成交(Trade)记录每一笔实际撮合成交,包含成交价格、成交数量、成交时间、买卖双方委托序号(若披露)、成交编号等。它回答的是“哪两笔委托在什么价格上成交了多少”。逐笔成交是计算真实成交均价、大单识别、主动买卖方向判断的基础数据。需要注意,逐笔成交中的“成交”与快照中的“累计成交量”是不同粒度:前者是事件流,后者是某一时刻的统计切片。

委托队列(Order Queue)披露的是最优价位(通常是最优一档或前若干档)上排队的委托明细,包括该价位上各笔委托的数量和顺序。它回答的是“当前最优价上还有多少量在排队、排队结构如何”。委托队列对判断盘口支撑压力、估算排队成交概率非常关键,但它通常只覆盖有限档位,不能等同于完整订单簿。

快照行情(Snapshot)是按固定频率(如每3秒)对市场状态做的切片,包含前若干档买卖盘、最新价、累计成交量、成交额、开盘价、最高最低价等。它回答的是“这一刻市场长什么样”。快照是Level1和Level2都有的形态,Level2快照的差异主要体现在档位更深、更新更频繁,并且常与逐笔数据配合使用。

Level2 行情数据类型全景与授权边界 交易所撮合系统 委托申报 → 撮合 → 成交回报 逐笔委托 Order 方向 / 价格 / 数量 / 时间 委托序号、订单类型 用途:重建订单簿、撤单分析 逐笔成交 Trade 成交价 / 成交量 / 时间 成交编号、买卖委托序号 用途:真实成交、主动方向判断 委托队列 Order Queue 最优价位排队明细 各笔委托数量与顺序 用途:盘口压力、排队概率 快照行情 多档买卖盘 最新价 / 累计量额 用途:切片状态、展示 本地订单簿 / 行情回放引擎 逐笔事件驱动重建,快照用于校验与对齐 授权边界核验要点 ① 市场与品种范围:沪深/北交所、股票/基金/债券是否分别授权 ② 数据类型粒度:逐笔委托是否含撤单、委托队列覆盖档位、快照频率与档深 ③ 使用场景限制:展示、非展示、回测、再分发是否在授权范围内

四类数据之间的关系

这四类数据不是并列孤立的,而是事件流与切片的互补关系。逐笔委托和逐笔成交是“事件”,按时间顺序到达;委托队列和快照是“状态”,在某一时刻对订单簿做切片。一个典型的本地订单簿重建过程是:收到逐笔委托后插入或更新对应价位,收到逐笔成交后扣减对应委托数量,收到撤单后移除委托,然后用快照定期校验本地重建结果是否与交易所披露一致。如果只拿快照做回测,会丢失盘中排队变化和成交细节;如果只拿逐笔数据而不做快照校验,则可能因漏包、乱序导致订单簿漂移。

举个教学示例(以下参数为合理假设,非实测):假设某股票在10:00:00.000收到一笔逐笔委托,买方向、价格10.50元、数量2000股;10:00:00.120收到一笔逐笔成交,成交价10.50元、数量800股,买方委托序号对应前述委托。则本地订单簿在10.50元买档上应先增加2000股,再扣减800股,剩余1200股。若此时收到10:00:00.000的快照显示10.50元买档总量为2000股,则说明快照时点早于成交事件,二者并不矛盾,关键在于时间戳对齐。很多核验失败并不是数据错误,而是把不同时点的切片和事件混在一起比较。

授权边界的三个核验维度

第一是市场与品种范围。沪深交易所、北交所的Level2授权通常是分开的,股票、基金、债券、期权也可能分别计费。核验时要确认接口返回的市场代码是否都在授权清单内,避免“能连上但无权取数”的灰色状态。

第二是数据类型粒度。同样是“逐笔委托”,有的授权包含撤单信息,有的只含新增委托;委托队列可能只覆盖最优一档,也可能覆盖前五档;快照可能是3秒一张,也可能是更高频率。这些差异直接影响策略可用性,必须在接入前用样例数据逐字段比对,而不是只看接口名称。

第三是使用场景限制。行情授权通常区分展示类与非展示类用途,展示类允许在终端向用户呈现,非展示类允许程序内部计算但不允许再分发。回测、研究、对外API再分发是否在授权范围内,需要以授权协议条款为准。工程上建议在数据接入层维护一张“数据类型—市场—用途”的授权矩阵,每次取数前做一次校验,把越权请求拦截在入库之前。

核验实操建议:接入新行情源时,先取一段包含开盘集合竞价、连续竞价、收盘集合竞价的样例数据,逐类检查字段完整性、时间戳单调性、逐笔与快照的累计量是否可对账。对账通过再放量接入,比事后排查便宜得多。

把四类数据的业务含义、事件与切片的关系、以及授权边界的三个维度建立起来之后,后续的接口字段解析、订单簿重建和授权核验流程才有稳固的落脚点。本节的全景图可作为接入前的对照清单:每拿到一个行情接口,先问它属于哪一类、覆盖哪个市场、粒度如何、允许什么用途,再决定是否纳入生产链路。