2. 订单簿数据结构与盘口快照解析

盘口信号的第一手素材来自行情数据,而行情数据的核心载体是订单簿。如果对订单簿的字段结构没有清晰认识,后续设计的触发规则就只能建立在模糊的“感觉”上。本节的目标很明确:把 Level-1 与 Level-2 行情数据的字段含义讲透,理解买卖盘档位、委托量、委托笔数是如何组织的,并完成一次盘口快照的字段级拆解。

一、订单簿的本质:两个有序队列

订单簿(Order Book)是交易所撮合系统对当前所有未成交委托的组织形式。它由两个方向相反的有序队列构成:买方队列(Bid)按价格从高到低排列,卖方队列(Ask)按价格从低到高排列。最高买价称为买一(Bid1),最低卖价称为卖一(Ask1),两者之差就是价差(Spread)。

这里必须先约定参照方向:本文所有“买盘/卖盘”均以交易者视角定义——买盘是挂单等待买入的委托,卖盘是挂单等待卖出的委托;价格排序中“买盘从高到低、卖盘从低到高”是撮合优先级的体现,越靠前的档位越接近成交。全文与图示保持这一约定。

每个档位包含三个关键量:价格(Price)、委托量(Volume/Size)、委托笔数(Order Count)。价格决定档位位置,委托量是该价位所有未成交委托的数量总和,委托笔数则是该价位上独立委托单的个数。三者组合起来,才能刻画一个价位的“厚度”与“结构”。

二、Level-1 与 Level-2 的字段差异

Level-1 行情只提供最优一档:买一价、买一量、卖一价、卖一量,外加最新价、成交量、成交额等汇总字段。它的信息量小、更新频率相对低,适合做粗粒度的方向判断,但无法看到盘口的纵深结构。

Level-2 行情则提供多档买卖盘(常见为买一至买十、卖一至卖十),并额外给出每档的委托笔数以及逐笔委托、逐笔成交等明细。委托笔数是 Level-2 相对 Level-1 的关键增量:同样是 1000 手挂单,由 1 笔大单构成和由 50 笔小单构成,其市场含义完全不同。前者可能是主力挂单,后者更接近散户的自然堆积。

下表给出一个典型快照的字段组织方式(示例数据,仅用于说明字段含义):

字段含义示例值所属层级
last_price最新成交价10.52L1 / L2
bid1_price买一价10.51L1 / L2
bid1_volume买一委托量(手)860L1 / L2
bid1_count买一委托笔数12L2
ask1_price卖一价10.52L1 / L2
ask1_volume卖一委托量(手)340L1 / L2
ask1_count卖一委托笔数5L2
bid2~bid10买二至买十价量笔数…L2
ask2~ask10卖二至卖十价量笔数…L2

三、盘口快照的字段级拆解

下面用一组示例快照做拆解。假设某标的当前快照如下(示例数据):

买盘:Bid1 10.51 / 860手 / 12笔
      Bid2 10.50 / 1520手 / 31笔
      Bid3 10.49 / 430手 / 8笔
卖盘:Ask1 10.52 / 340手 / 5笔
      Ask2 10.53 / 980手 / 18笔
      Ask3 10.54 / 2100手 / 9笔

第一步看价差:Ask1 − Bid1 = 10.52 − 10.51 = 0.01 元,价差很小,说明流动性较好、撮合活跃。第二步看档位厚度:买盘前三档合计 860+1520+430 = 2810 手,卖盘前三档合计 340+980+2100 = 3420 手,卖压略重于买盘。第三步看笔数结构:Bid2 有 1520 手却分散在 31 笔,平均每笔约 49 手,属于自然堆积;而 Ask3 有 2100 手仅 9 笔,平均每笔约 233 手,单笔规模明显偏大,值得关注是否有集中挂单。

第四步做平均单笔量的横向对比:Bid1 为 860/12 ≈ 71.7 手,Ask1 为 340/5 = 68 手,两者接近;但 Ask3 的 233 手显著高于其他档位,这种“某一档平均单笔量突增”的结构,往往是设计挂单识别规则的切入点。需要强调的是,以上数值均为教学示例,真实盘口需以实际行情为准。

盘口快照字段级拆解(示例数据) 卖盘 Ask(价格由低到高) Ask3 10.54 2100手 9笔 均233手 Ask2 10.53 980手 18笔 均54手 Ask1 10.52 340手 5笔 均68手 价差 Spread = 10.52 − 10.51 = 0.01 Bid1 10.51 860手 12笔 均72手 Bid2 10.50 1520手 31笔 均49手 Bid3 10.49 430手 8笔 均54手 买盘 Bid(价格由高到低) 字段三元组 价格 Price:档位位置 委托量 Volume:该价总量 委托笔数 Count:独立单数 结构判读要点 买三档 2810 手 vs 卖三档 3420 手 卖压略重,价差仅 0.01 Ask3 均单笔 233 手,异常突出

四、从字段到规则:拆解结果如何用

完成字段级拆解后,应把观察结果整理成可复用的判断依据。以本节示例为例,可以提炼出三条候选规则:其一,价差阈值——价差 ≤ 0.01 元视为流动性充足,允许触发盘口类信号;其二,档位失衡比——买三档总量与卖三档总量之比低于 0.85 时,视为卖压占优;其三,单笔量异常——某档平均单笔量超过相邻档位均值 3 倍时,标记为集中挂单,进入人工复核或降权处理。

需要提醒的是,字段拆解必须注意两个工程细节。第一,单位一致性:委托量在不同数据源可能是“股”或“手”,1 手 = 100 股,混用会导致阈值失真,规则设计前必须统一。第二,快照时点:盘口是高频变化的,同一字段在不同时点的值可能差异很大,规则中应明确使用“最新快照”还是“某时间窗口内的均值”,否则回测与实盘会不一致。

拆解盘口快照时,建议固定顺序:先看价差判断流动性,再看买卖总量对比判断方向,最后看笔数与平均单笔量识别结构异常。顺序固定后,规则设计才有稳定的输入口径。

把上述内容落到一次完整任务上:取一份 Level-2 快照,逐档填写“价格、委托量、委托笔数、平均单笔量”四列,计算价差与买卖三档总量比,标注出平均单笔量异常的档位,最后输出一份包含阈值与触发条件的规则草案。这份草案就是后续盘口信号触发规则设计的直接输入。