盘口数据结构:Level-2行情数据、买卖十档、逐笔成交、委托队列、盘口深度分析

做量化交易这些年,我见过太多人盯着K线图猛看,却忽略了盘口这个「金矿」。说实话,盘口才是市场最真实的博弈现场。今天我们就来拆解Level-2行情的数据结构,这些东西是我每天盯盘必看的内容。

一、Level-2行情 vs Level-1行情

先说说基础概念。Level-1行情就是咱们平时在普通交易软件上看到的——买一卖一、最新价、涨跌幅这些。但做做市交易,Level-1根本不够用。

Level-2行情多了什么?我列个表你就明白了:

数据项 Level-1 Level-2
买卖盘口 仅买一卖一 买卖十档
逐笔成交 有(含成交方向)
委托队列 前50笔委托明细
更新频率 3秒快照 实时推送(毫秒级)

嗯,这里要注意:Level-2的数据量是Level-1的几十倍。我刚开始接入时,光解析数据就把程序搞崩了好几次。所以处理Level-2,你得先做好性能优化。

二、买卖十档:盘口的「骨架」

买卖十档,说白了就是当前市场上挂着的所有限价单。买一到买十是等着买入的,卖一到卖十是等着卖出的。

我个人习惯把买卖十档分成三层来看:

  • 表层(买一卖一):当前最优价格,流动性最好
  • 中层(买二卖二到买五卖五):主力资金经常在这里埋伏
  • 深层(买六卖六到买十卖十):大单挂单的「藏身之处」

我在项目中遇到过一种情况:某ETF的买一只有100手,但买二到买五突然堆了5000手。这种「阶梯式挂单」往往是机构在托底。如果你做做市,看到这种结构就要小心了——别傻乎乎地往上冲。

关键指标:盘口价差

买一价和卖一价的差值,就是盘口价差。做市交易的核心利润来源就是这个价差。一般ETF的价差在0.001-0.01元之间,如果价差突然拉大,说明流动性出问题了。

三、逐笔成交:市场的「心跳」

逐笔成交数据,记录的是每一笔实际成交的订单。它包含:

  • 成交时间(精确到毫秒)
  • 成交价格
  • 成交数量
  • 成交方向(主动买还是主动卖)

为什么要看逐笔成交?因为买卖十档是「挂单」,而逐笔成交是「吃单」。挂单可以撤,但成交是实打实的。

我曾经靠逐笔成交抓过一次机会:某ETF在3分钟内连续出现大额主动买单,每次都是500手以上。虽然价格没怎么涨,但我知道有人在吸筹。果然后面半小时拉了一波。这就是逐笔成交的威力——它能提前暴露主力意图。

我的小技巧:把逐笔成交按方向累加,算出「主动买量 - 主动卖量」的差值。这个差值连续为正,说明买方力量强;连续为负,说明卖方在砸盘。

四、委托队列:看穿「挂单陷阱」

委托队列是Level-2独有的数据。它展示了买一和卖一位置上前50笔委托的明细。说白了,就是你能看到谁在「排队」。

举个例子:

卖一:10.00元  委托队列:
  第1笔:100手(机构席位)
  第2笔:50手(散户席位)
  第3笔:200手(机构席位)
  ...

如果卖一位置全是机构席位的大单,那这个卖压就是真实的。但如果全是散户的小单,那可能就是「纸老虎」——一拉就破。

我记得有一次做ETF做市,看到卖一挂了5000手,但委托队列里全是100手以下的小单。我判断这是散户跟风挂的,直接一口吃掉。果然,吃完后卖二到卖五都没什么大单,价格直接上去了。

避坑指南:我曾经被「虚假挂单」坑过。有些做市商会挂大单但不成交,等你撤单时他再撤。所以一定要结合逐笔成交来看——挂单多但成交少,大概率是虚挂。

五、盘口深度分析:把数据串起来

前面说的都是单个数据项,但真正做交易,你得把它们串起来看。我一般会构建一个「盘口深度分析框架」:

  1. 流动性评估:买卖十档的总挂单量,判断市场深度
  2. 资金流向:逐笔成交的主动买卖方向,判断多空力量
  3. 挂单真实性:委托队列的席位分布,判断大单是否真实
  4. 价差变化:实时监控价差,判断做市机会

下面是我常用的一个盘口深度分析流程图:

盘口深度分析流程图 Level-2 行情数据 买卖十档分析 逐笔成交分析 委托队列分析 价差监控 综合判断:流动性 + 资金流向 + 挂单真实性 做市策略决策

这个流程看起来简单,但实际跑起来很考验代码性能。我建议你用C++或者Rust来处理Level-2数据,Python做回测还行,实盘的话延迟太高。

核心要点总结:

  • 买卖十档看「流动性分布」
  • 逐笔成交看「真实资金流向」
  • 委托队列看「挂单是否真实」
  • 三者结合才能做出正确的做市决策

好了,盘口数据结构就讲到这里。这些东西你看着可能觉得简单,但真正用起来,每个细节都能挖出不少门道。我建议你找个Level-2数据源,自己动手跑一遍,感受一下数据流动的感觉。比看一百遍理论都管用。

专注资料整理