3. Level2 数据结构总览:快照数据、逐笔成交、逐笔委托、委托队列、资金流向等核心字段
Level2 行情数据相较于传统 Level1 行情,提供了更细粒度的市场微观结构信息。理解这些核心数据结构是构建有效标签体系的基础。本章将系统梳理 Level2 行情中五大核心数据模块:快照数据、逐笔成交、逐笔委托、委托队列以及资金流向,并解析其关键字段与业务含义。
3.1 快照数据(Snapshot)
快照数据是市场在特定时间点(通常为 3 秒或 1 秒)的静态切片,反映了该时刻的盘口状态与统计摘要。它是 Level2 数据中使用最频繁、最基础的数据类型。
| 字段类别 | 核心字段 | 说明 |
|---|---|---|
| 基本信息 | 证券代码、交易日期、更新时间 | 标识数据所属的标的与时间戳 |
| 成交统计 | 最新价、开盘价、最高价、最低价、昨收价 | 价格维度的时间序列快照 |
| 成交量额 | 成交量(股)、成交金额(元)、总笔数 | 反映市场活跃度与资金规模 |
| 买卖十档 | 买一~买十价/量、卖一~卖十价/量 | Level2 核心优势,提供更深层委托簿 |
| 加权指标 | 加权均价(VWAP)、区间均价 | 用于计算资金流向与成本分析 |
| 扩展字段 | 内盘、外盘、涨跌幅、换手率、市盈率 | 衍生统计指标,辅助判断多空力量 |
标签构造要点:快照数据是构造“盘口异动类”标签(如“大单托单”、“卖盘压单”)的主要数据源。注意买卖十档的价量变化速率,是识别主力行为的关键。
3.2 逐笔成交(Tick Trade)
逐笔成交记录每一笔实际成交的详细信息,是还原市场交易过程最精确的数据。与 Level1 的“分时成交”不同,Level2 逐笔成交包含每笔交易的成交编号与买卖方向。
| 字段 | 类型 | 说明 |
|---|---|---|
| 成交编号 | Int64 | 交易所唯一标识,按时间递增 |
| 成交时间 | DateTime | 精确到毫秒或微秒 |
| 成交价格 | Float | 该笔交易的撮合价格 |
| 成交数量 | Int64 | 该笔交易的股数 |
| 成交金额 | Float | 价格 × 数量 |
| 买卖方向 | String | 主动买(B)、主动卖(S)、未知(-) |
| 成交类型 | String | 普通成交、大宗交易、开/收盘集合竞价等 |
关键应用:通过逐笔成交可以精确计算“主力资金流向”(主动买入金额 - 主动卖出金额),并构造“大单成交占比”、“连续大单买入”等高频标签。
3.3 逐笔委托(Tick Order)
逐笔委托记录每一笔进入交易所撮合主机的委托单信息。它比逐笔成交更早一步反映市场参与者的交易意图,是预测短期价格变动的重要数据。
# 逐笔委托数据示例(伪代码结构)
{
"order_id": "2025032112345678", # 委托单编号
"security_code": "600519", # 证券代码
"order_time": "09:30:15.123", # 委托时间(毫秒级)
"order_price": 1850.00, # 委托价格
"order_volume": 500, # 委托数量(股)
"order_type": "L", # 委托类型:L=限价单, M=市价单
"order_side": "B", # 买卖方向:B=买入, S=卖出
"order_status": "N" # 状态:N=新单, C=撤单, P=部分成交
}
数据量注意:逐笔委托的数据量通常是逐笔成交的 3~5 倍。处理时建议使用列式存储(如 Parquet)或时序数据库,避免内存溢出。
3.4 委托队列(Order Book Depth)
委托队列展示买一或卖一价位的前 50 笔委托明细(部分交易所提供)。它比快照数据的十档更微观,能揭示关键价位的挂单结构。
| 字段 | 说明 |
|---|---|
| 价位 | 买一价或卖一价 |
| 总委托量 | 该价位所有委托的总股数 |
| 委托明细列表 | 按时间顺序排列的前 50 笔委托量(如 [200, 100, 500, ...]) |
| 明细笔数 | 实际返回的委托笔数(可能不足 50) |
标签构造技巧:通过委托队列可以识别“拖拉机单”(多笔小单伪装成大单)或“拆单行为”。例如,若买一价位出现连续 10 笔 100 股的买入委托,可能是主力在隐蔽吸筹。
3.5 资金流向(Money Flow)
资金流向并非原始数据,而是基于逐笔成交和逐笔委托计算得出的衍生数据。它按金额大小将交易划分为“超大单”、“大单”、“中单”、“小单”,用于追踪主力资金动向。
3.6 五大数据结构对比总结
| 数据类型 | 更新频率 | 数据量级(单日单股) | 核心用途 | 标签构造示例 |
|---|---|---|---|---|
| 快照数据 | 3秒/次 | 约 2400 条 | 盘口状态、统计指标 | 买卖委托比、价差变化率 |
| 逐笔成交 | 每笔成交 | 数千~数万条 | 真实成交还原、资金流向 | 大单成交占比、主动买比率 |
| 逐笔委托 | 每笔委托 | 数万~数十万条 | 交易意图分析、撤单行为 | 撤单率、挂单存活时间 |
| 委托队列 | 随快照更新 | 约 2400 次 | 微观挂单结构、拆单识别 | 队列均匀度、大单挂单占比 |
| 资金流向 | 衍生计算 | 与逐笔成交一致 | 主力资金追踪、多空力量 | 主力净流入、特大单动向 |
架构建议:在实际生产环境中,建议将快照数据与逐笔数据分开存储。快照数据适合使用关系型数据库或 ClickHouse 进行时序查询;逐笔数据(成交+委托)数据量大,推荐使用 Kafka 实时消费 + Parquet 列式存储归档,配合 Spark 或 Flink 进行批量标签计算。
3.7 数据关联关系图
以下 SVG 展示了 Level2 五大数据结构之间的逻辑关联与数据流向,帮助理解从原始数据到标签构造的完整链路。