高频行情数据基础:Tick数据、Order Book数据、Level2数据的结构与含义

在高频交易(HFT)与量化研究中,行情数据是驱动策略决策与A/B测试评估的原始燃料。本章将系统解析三种最核心的高频行情数据类型:Tick数据、Order Book(订单簿)数据以及Level2(二级行情)数据。理解它们的结构、字段含义与生成逻辑,是后续进行行情数据A/B测试效果评估的前提。

2.1 Tick数据:逐笔成交的原子记录

Tick数据记录了每一笔实际发生的交易,是市场微观结构的最小颗粒。每条Tick代表一次撮合成功的交易事件。

2.1.1 Tick数据的核心字段

字段名称 类型 含义说明
Timestamp datetime 交易所撮合时间戳,精度通常为毫秒或微秒
Symbol string 交易标的代码(如 "BTCUSDT")
Price float 本次成交价格
Volume float 本次成交数量(股、张或币)
Side char 主动成交方向:'B'(Buy,买方主动吃单)或 'S'(Sell,卖方主动吃单)
TradeID string 交易所为该笔成交分配的唯一标识
高频应用提示: Tick数据中的 Side 字段是判断买卖压力的关键。在A/B测试中,若策略基于Tick数据生成信号,需确保回测与实盘使用相同的时间戳对齐逻辑,避免因撮合延迟造成评估偏差。

2.1.2 Tick数据示例(JSON格式)

{
  "symbol": "AAPL",
  "trade_id": "1234567890",
  "price": 175.32,
  "volume": 100,
  "side": "B",
  "timestamp": "2025-03-21 09:30:00.123456"
}

2.2 Order Book数据:市场深度与挂单结构

Order Book(订单簿)反映了当前市场上所有未成交的限价订单,按价格从高到低(卖盘)和从低到高(买盘)排列。它是衡量市场流动性和潜在价格冲击的核心数据源。

2.2.1 Order Book的层级结构

一个标准的Order Book由Bids(买方队列)和Asks(卖方队列)组成。每个价格水平称为一个Level,包含价格和该价格上的总挂单量。

层级 Bids(买盘) Asks(卖盘)
Level 1 最高买价 (Best Bid) & 对应量 最低卖价 (Best Ask) & 对应量
Level 2 次高买价 & 对应量 次低卖价 & 对应量
Level N 第N高买价 & 对应量 第N低卖价 & 对应量
关键指标: 买卖价差(Bid-Ask Spread)= Best Ask - Best Bid。价差越小,流动性越好,交易成本越低。在A/B测试中,价差的变化是评估策略对市场冲击影响的重要指标。

2.3 Level2数据:增量快照与深度更新

Level2数据(又称市场深度数据)是Order Book的完整或增量快照。与仅包含最优买卖价的Level1数据不同,Level2提供了多个价格档位的挂单信息,通常包含前10、20或50个Level。

2.3.1 Level2数据的两种常见形式

  • 全量快照(Snapshot): 每隔固定时间(如100ms)发送一次完整的Order Book状态。数据量大,但易于处理。
  • 增量更新(Incremental Update): 仅发送发生变化的订单事件(新增、取消、成交)。数据量小,延迟低,但需要维护本地Order Book副本。

2.3.2 Level2增量更新的核心事件

事件类型 字段 含义
Add Side, Price, Volume, OrderID 新限价单进入队列
Cancel Side, Price, OrderID 已有订单被撤销(部分或全部)
Execute Side, Price, Volume, OrderID 订单被成交(部分或全部)
Replace OldOrderID, NewOrderID, NewPrice, NewVolume 订单被修改(价格或数量变更)

2.4 三种数据的关系与对比

下图展示了Tick数据、Order Book数据与Level2数据在交易生命周期中的关系:Tick是成交结果,Order Book是挂单状态,Level2是Order Book的深度快照。

高频行情数据关系图 交易所撮合引擎 Tick数据 逐笔成交记录 Order Book 当前挂单队列 Level2数据 深度快照/增量 数据流说明 • Tick数据:由撮合引擎在每次成交后生成,是“结果”数据。 • Order Book:由撮合引擎维护的“状态”数据,随订单事件实时更新。 • Level2数据:对Order Book的定期快照或增量事件流,用于重建市场深度。

2.5 数据在A/B测试中的关键作用

在《高频行情数据A/B测试效果评估》课程中,这三种数据各自承担不同的评估角色:

  • Tick数据:用于验证策略的成交价格是否与市场实际成交一致,评估滑点与成交率。
  • Order Book数据:用于模拟策略挂单的排队位置,评估订单被成交的概率与等待时间。
  • Level2数据:用于构建更真实的限价单模拟器,评估策略对市场深度的消耗与价格冲击。
常见陷阱: 在A/B测试中,如果仅使用Tick数据而忽略Order Book数据,将无法准确评估限价单策略的“未成交风险”。务必根据策略类型(市价单 vs 限价单)选择合适的数据层级进行回测与评估。

2.6 数据精度与时间同步

高频行情数据的价值高度依赖时间戳精度。不同交易所提供的时间戳精度差异巨大,从毫秒到纳秒不等。在A/B测试中,必须确保实验组与对照组使用同一时间源对齐的数据,否则会引入时序偏差。

时间戳精度 典型场景 A/B测试风险
秒级 传统低频数据 无法用于高频策略评估
毫秒级 大部分数字货币/期货交易所 需注意网络延迟导致的错位
微秒/纳秒级 NASDAQ、NYSE等顶级交易所 对硬件时钟同步要求极高