Level2 行情基础:数据特点与核心区别
Level2 行情(也称“深度行情”或“高级行情”)是证券交易所向市场参与者提供的、比标准 Level1 行情更详细、更实时的市场数据服务。理解 Level2 的数据特点及其与 Level1 的核心区别,是构建灰度发布系统、设计数据管道和制定交易策略的前提。
Level2 行情的三大核心数据特点
Level2 行情并非简单的“更快版本”,它在数据维度、粒度和透明度上均有质的提升。以下三个特点构成了 Level2 的核心价值:
1. 逐笔成交(Tick-by-Tick Trade)
Level2 行情提供每一笔真实成交的详细信息,而非 Level1 的“快照”汇总。每笔数据通常包含:
- 成交时间:精确到毫秒甚至微秒。
- 成交价格:该笔交易的实际价格。
- 成交数量:该笔交易的手数或股数。
- 成交金额:该笔交易的总金额。
- 买卖方向:标识该笔成交是由主动买盘(外盘)还是主动卖盘(内盘)驱动。
- 成交编号:交易所生成的唯一流水号,用于去重和排序。
灰度发布价值:逐笔成交数据是计算高频因子(如订单流不平衡、VPIN)的基础。在灰度发布中,逐笔数据的延迟和完整性是衡量新系统性能的关键指标。
2. 十档行情(Depth of Market, DOM)
Level2 行情展示买卖盘口前 10 档的挂单情况,而 Level1 通常只展示最优的 1 档(买一/卖一)或 5 档。十档数据包含:
- 价格:从买一到买十、卖一到卖十的每个价位。
- 委托量:每个价位上的总挂单手数。
- 委托笔数:每个价位上的挂单笔数(部分交易所提供)。
关键洞察:十档行情揭示了市场在更广价格范围内的流动性和潜在支撑/阻力位。灰度发布时,需验证新系统能否在峰值流量下,无延迟地推送所有档位的实时更新。
3. 委托队列(Order Book Queue)
这是 Level2 最具深度的数据之一。它展示了买一或卖一价位上,前 50 笔(或更多)挂单的明细,包括每笔委托的 数量 和 顺序。这允许分析者判断“大单”是分散还是集中,以及队列的排队压力。
- 队列快照:某一时刻买一/卖一价位的委托明细。
- 队列变化:逐笔的撤单、新增、成交导致的队列变动。
灰度发布挑战:委托队列数据量极大,是 Level1 的数十倍。在灰度环境中,必须设计专门的带宽和序列化方案(如 Protobuf),否则极易造成网络拥塞或解码延迟。
Level1 与 Level2 行情的核心区别
下表从多个维度对比了两种行情,帮助理解 Level2 在数据架构上的根本不同:
| 对比维度 | Level1 行情(基础行情) | Level2 行情(深度行情) |
|---|---|---|
| 数据粒度 | 快照数据,通常 3 秒或 5 秒一次 | 逐笔数据 + 实时快照,毫秒级推送 |
| 盘口深度 | 最优 1 档(买一/卖一)或 5 档 | 前 10 档(买一到买十/卖一到卖十) |
| 委托明细 | 无 | 买一/卖一价位的委托队列(前 50 笔) |
| 成交信息 | 累计成交量、成交额、加权均价 | 每一笔成交的明细(价格、数量、方向、时间戳) |
| 数据量级 | 低(约 1-2 KB/次/股票) | 高(约 10-50 KB/次/股票,含队列时更高) |
| 主要用途 | 趋势跟踪、日频策略、基础监控 | 高频交易、订单流分析、做市策略、微观结构研究 |
| 授权与费用 | 免费或基础费用 | 需要交易所授权,费用较高 |
Level2 行情数据流架构示意
下图展示了从交易所到量化系统的 Level2 数据流核心组件。在灰度发布中,通常会在“行情网关”或“数据分发层”设置分流点,以同时运行新旧两套处理链路。
Level2 数据在灰度发布中的关键考量
基于上述特点,在灰度发布 Level2 行情系统时,必须重点关注以下三个技术维度:
- 带宽与吞吐量:Level2 数据量是 Level1 的 10-50 倍。灰度环境需提前评估网络带宽、CPU 和内存资源,避免新系统成为瓶颈。
- 数据完整性校验:逐笔成交和委托队列的序列号必须连续。灰度发布期间,需设计校验机制(如序列号 gap 检测、CRC 校验),确保新系统未丢失数据。
- 延迟对比:在灰度环境中,同时记录新旧系统从“行情网关接收”到“应用层消费”的端到端延迟。Level2 对延迟敏感,通常要求微秒级抖动控制。
实战建议:在灰度发布初期,建议先灰度“十档行情”数据,待稳定后再逐步开放“逐笔成交”和“委托队列”。这可以逐步增加负载,降低风险。