3、快照数据结构解析:Level2快照数据字段详解

Level2 行情快照是交易所每隔固定时间(通常为 3 秒或 5 秒)发布的当前市场全貌数据。与 Level1 相比,Level2 快照提供了更深的委托队列、更细的统计指标以及更精确的逐笔撮合信息。理解每个字段的含义、计算方式和业务逻辑,是进行策略推演的基础。

3.1 核心行情字段

以下字段是每笔快照中最基础、最常用的数据项,直接反映当前市场的价格与成交状态。

字段名称 数据类型 说明 策略应用
最新价 float64 当前时刻最后一笔成交的价格 判断当前价格位置,触发条件单
成交量 int64 从开盘到当前时刻的累计成交股数(手数×100) 计算换手率、成交量异动
成交额 float64 从开盘到当前时刻的累计成交金额(元) 资金流向分析、大单识别
开盘价 float64 当日第一笔集合竞价成交价 计算涨跌幅、缺口分析
最高价 float64 从开盘到当前时刻的最高成交价 压力位判断、突破策略
最低价 float64 从开盘到当前时刻的最低成交价 支撑位判断、止损参考
昨收价 float64 上一个交易日的收盘价 计算涨跌幅、隔夜跳空
策略提示: 最新价与成交量是高频策略中最敏感的字段。当最新价在短时间内连续突破最高价或最低价时,往往意味着趋势加速或反转信号,需要结合成交量确认。

3.2 委托队列字段(买卖十档)

Level2 快照最显著的优势在于提供了买卖各 10 档的委托价格与委托量,而 Level1 通常只提供 5 档或 3 档。这为分析市场深度和订单簿形态提供了数据基础。

3.2.1 委买委卖与买卖十档

  • 委买(Bid): 买方委托队列,按价格从高到低排列(最高买价排第一档)。
  • 委卖(Ask): 卖方委托队列,按价格从低到高排列(最低卖价排第一档)。
  • 买卖十档: 分别展示买一到买十、卖一到卖十的价格和委托量。

以下是一个典型的买卖十档数据结构示例:

{
  "bid_prices": [10.05, 10.04, 10.03, 10.02, 10.01, 10.00, 9.99, 9.98, 9.97, 9.96],
  "bid_volumes": [1500, 2300, 1800, 3200, 2100, 4500, 1200, 800, 600, 400],
  "ask_prices": [10.06, 10.07, 10.08, 10.09, 10.10, 10.11, 10.12, 10.13, 10.14, 10.15],
  "ask_volumes": [1200, 1900, 2500, 1100, 3000, 800, 600, 500, 300, 200]
}

3.2.2 买卖十档的深度分析

通过买卖十档的委托量分布,可以计算以下关键指标:

  • 买卖盘口厚度: 各档位委托量的总和,反映市场承接能力。
  • 委托量斜率: 相邻档位委托量的变化率,判断支撑/压力强度。
  • 价差分布: 买卖第一档之间的价差(Spread),衡量流动性。
实战案例: 当买一档委托量远大于卖一档,且买二、买三档委托量也显著堆积时,表明下方有强支撑,价格短期内难以跌破。反之,卖盘堆积则形成强压力。

3.3 统计与衍生字段

除了基础行情和委托队列,Level2 快照还包含一些经过交易所计算的统计字段,这些字段对策略推演具有重要参考价值。

字段名称 计算方式 策略含义
总买总卖 所有买档委托量之和 vs 所有卖档委托量之和 判断市场整体买卖力量对比,总买 > 总卖偏多
加权均价 成交额 ÷ 成交量(从开盘到当前) 市场平均持仓成本,价格偏离加权均价时易回归
委比 (委买量 - 委卖量) / (委买量 + 委卖量) × 100% 正值表示买方意愿强,负值表示卖方意愿强
换手率 成交量 / 流通股本 × 100% 衡量交投活跃度,高换手率常伴随趋势行情
量比 当前每分钟平均成交量 / 过去5日每分钟平均成交量 判断成交量是否异常放大,量比 > 1.5 为活跃

3.4 快照数据结构总览

为了更直观地理解各字段之间的层级关系,下图展示了 Level2 快照数据的完整结构:

Level2 快照数据结构总览 Level2 快照 核心行情字段 最新价 / 成交量 成交额 / 开盘价 最高价 / 最低价 昨收价 委托队列字段 买一~买十(价格+量) 卖一~卖十(价格+量) 委买总量 / 委卖总量 买卖盘口厚度 价差分布 统计衍生字段 总买总卖 加权均价 委比 换手率 量比 策略推演核心: 结合核心行情判断趋势方向,利用委托队列分析市场深度,通过统计字段验证信号强度

3.5 加权均价的策略意义

加权均价(VWAP)是机构交易者最关注的指标之一,它代表了市场参与者的平均持仓成本。在策略推演中,加权均价有以下应用:

  • 价格回归效应: 当最新价大幅偏离加权均价时,价格有向加权均价回归的倾向,可用于均值回归策略。
  • 趋势确认: 在上升趋势中,价格应始终运行在加权均价之上;若跌破加权均价,可能意味着趋势转弱。
  • 算法交易基准: 机构常以加权均价作为交易执行成本的基准,追求低于加权均价的买入和高于加权均价的卖出。
注意: 加权均价是累计值,随着交易时间的推移,其变化速度会逐渐变慢。在开盘初期,加权均价对价格波动更为敏感;在收盘前,加权均价趋于稳定,此时的价格偏离更具参考价值。

3.6 总买总卖与委比的实战解读

总买总卖和委比是衡量市场即时买卖意愿的重要指标,但需要结合具体场景解读:

场景 总买 > 总卖 总买 < 总卖 策略建议
上涨趋势中 买方持续强势,趋势延续概率大 可能出现获利回吐,注意回调风险 顺势持仓,但需设置移动止盈
下跌趋势中 可能有抄底资金介入,但需确认 卖方主导,下跌动能充足 避免逆势抄底,等待企稳信号
横盘震荡中 下方承接有力,支撑较强 上方抛压较重,压力明显 高抛低吸,参考总买总卖边界
尾盘异动 主力资金抢筹,次日高开概率大 主力资金出逃,次日低开概率大 尾盘跟随或反向操作需谨慎

3.7 快照数据字段的代码解析示例

以下 Python 代码展示了如何解析一个 Level2 快照 JSON 数据,并提取关键字段用于策略计算:

import json

# 模拟一个 Level2 快照数据
snapshot = {
    "code": "600519",
    "timestamp": 1630000000,
    "latest_price": 1850.00,
    "volume": 1250000,
    "amount": 2312500000.00,
    "open": 1840.00,
    "high": 1865.00,
    "low": 1835.00,
    "pre_close": 1845.00,
    "bid_prices": [1849.99, 1849.98, 1849.97, 1849.96, 1849.95],
    "bid_volumes": [500, 800, 1200, 600, 900],
    "ask_prices": [1850.01, 1850.02, 1850.03, 1850.04, 1850.05],
    "ask_volumes": [400, 700, 1000, 500, 800]
}

# 计算加权均价
vwap = snapshot["amount"] / snapshot["volume"] if snapshot["volume"] > 0 else 0

# 计算总买总卖
total_bid = sum(snapshot["bid_volumes"])
total_ask = sum(snapshot["ask_volumes"])

# 计算委比
if total_bid + total_ask > 0:
    ratio = (total_bid - total_ask) / (total_bid + total_ask) * 100
else:
    ratio = 0

# 输出策略信号
print(f"最新价: {snapshot['latest_price']}")
print(f"加权均价: {vwap:.2f}")
print(f"总买: {total_bid}, 总卖: {total_ask}")
print(f"委比: {ratio:.2f}%")

# 判断价格偏离
deviation = (snapshot['latest_price'] - vwap) / vwap * 100
if deviation > 1.0:
    print("信号: 价格高于加权均价1%以上,注意回调风险")
elif deviation < -1.0:
    print("信号: 价格低于加权均价1%以上,关注反弹机会")
else:
    print("信号: 价格在加权均价附近,正常波动")
推演要点: 在实际策略中,不应单独依赖某一个字段。例如,委比为正但价格下跌,可能是大单在卖一价位持续出货,此时委比失真。需要结合买卖十档的委托量分布和逐笔成交数据综合判断。