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.52 | L1 / L2 |
| bid1_price | 买一价 | 10.51 | L1 / L2 |
| bid1_volume | 买一委托量(手) | 860 | L1 / L2 |
| bid1_count | 买一委托笔数 | 12 | L2 |
| ask1_price | 卖一价 | 10.52 | L1 / L2 |
| ask1_volume | 卖一委托量(手) | 340 | L1 / L2 |
| ask1_count | 卖一委托笔数 | 5 | L2 |
| 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 手显著高于其他档位,这种“某一档平均单笔量突增”的结构,往往是设计挂单识别规则的切入点。需要强调的是,以上数值均为教学示例,真实盘口需以实际行情为准。
四、从字段到规则:拆解结果如何用
完成字段级拆解后,应把观察结果整理成可复用的判断依据。以本节示例为例,可以提炼出三条候选规则:其一,价差阈值——价差 ≤ 0.01 元视为流动性充足,允许触发盘口类信号;其二,档位失衡比——买三档总量与卖三档总量之比低于 0.85 时,视为卖压占优;其三,单笔量异常——某档平均单笔量超过相邻档位均值 3 倍时,标记为集中挂单,进入人工复核或降权处理。
需要提醒的是,字段拆解必须注意两个工程细节。第一,单位一致性:委托量在不同数据源可能是“股”或“手”,1 手 = 100 股,混用会导致阈值失真,规则设计前必须统一。第二,快照时点:盘口是高频变化的,同一字段在不同时点的值可能差异很大,规则中应明确使用“最新快照”还是“某时间窗口内的均值”,否则回测与实盘会不一致。
把上述内容落到一次完整任务上:取一份 Level-2 快照,逐档填写“价格、委托量、委托笔数、平均单笔量”四列,计算价差与买卖三档总量比,标注出平均单笔量异常的档位,最后输出一份包含阈值与触发条件的规则草案。这份草案就是后续盘口信号触发规则设计的直接输入。