4. 逐笔成交数据结构
逐笔成交数据是 Level-2 行情中最精细的交易记录,它还原了每一笔实际撮合订单的完整信息。与快照数据不同,快照是某一时刻的“截面”,而逐笔成交是连续发生的“流水”。理解逐笔成交的结构,是进行高频策略推演、订单流分析、以及盘口还原的基础。
4.1 逐笔成交数据核心字段
每一笔逐笔成交记录通常包含以下关键字段,它们共同描述了一笔交易的全貌:
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| 成交时间 | datetime | 交易所撮合该笔订单的精确时间,精度通常为毫秒或微秒。 |
| 成交价 | float | 该笔订单的实际成交价格。 |
| 成交量 | int | 该笔订单的成交股数(或手数)。 |
| 成交方向 | string | 标识该笔成交是由主动买盘还是主动卖盘触发。常见标记为 B(Buy,主动买)或 S(Sell,主动卖)。 |
| 成交编号 | long | 交易所为该笔成交分配的唯一全局编号,用于索引和去重。 |
关键概念:“成交方向”是区分买方主动与卖方主动的核心指标。主动买盘(B)意味着买方以卖一价或更高价格买入,通常被视为资金流入;主动卖盘(S)则相反。
4.2 逐笔成交数据与快照数据的关联
逐笔成交与快照数据并非孤立存在,它们之间存在紧密的“增量-存量”关系。快照数据是某一时刻的“状态快照”,而逐笔成交是导致状态变化的“事件”。
两者之间的核心关联逻辑如下:
- 时间对齐:快照数据通常以固定间隔(如 3 秒)生成,而逐笔成交是连续流。通过时间戳,可以将两个时间序列对齐。
- 价格与数量验证:快照中的最新成交价(Last Price)和累计成交量(Volume)应与该时刻之前所有逐笔成交的累计结果一致。
- 盘口变化归因:每一笔逐笔成交都会导致买卖盘口(Bid/Ask)的挂单量发生变化。通过逐笔成交的方向和数量,可以推演盘口挂单的消耗或新增过程。
- 策略推演基础:在策略回测中,通常使用快照数据作为状态输入,而使用逐笔成交数据模拟订单簿的微观变化,从而更真实地评估策略的冲击成本和滑点。
推演示例:假设在 09:30:00.000 的快照中,卖一价为 10.00 元,卖一量为 1000 股。随后出现一笔逐笔成交:成交价 10.00 元,成交量 500 股,方向为 B(主动买)。那么,在下一个快照时刻,卖一量应减少 500 股(变为 500 股),或者如果卖一被全部吃掉,卖一价会变为更高的价格。
4.3 逐笔成交数据流与快照的时序关系
下面的 SVG 图展示了逐笔成交数据流与快照数据在时间轴上的对应关系,以及它们如何共同构成完整的市场微观结构视图。
4.4 逐笔成交数据在策略推演中的典型应用
在量化策略中,逐笔成交数据主要用于以下场景:
- 订单流分析:通过统计连续主动买盘(B)与主动卖盘(S)的成交量差,判断短期资金流向。
- 大单识别:设定成交量阈值,标记超过该阈值的逐笔成交为“大单”,用于跟踪主力资金动向。
- 盘口还原与回测:利用逐笔成交数据模拟真实的订单簿变化,评估策略在微观时间尺度上的表现。
- 价格冲击模型:分析不同成交量对价格的瞬时影响,建立更精确的冲击成本模型。
注意事项:逐笔成交数据量极大(单只股票每日可达数万笔),在策略推演中需要高效的数据存储和计算方案。同时,由于交易所撮合规则复杂,部分逐笔成交可能涉及“冰山订单”或“隐藏订单”,导致方向判断出现偏差,需要结合盘口数据进行交叉验证。
4.5 逐笔成交与快照数据字段对比
为了更清晰地理解两者的差异与互补关系,下表对比了逐笔成交与快照数据的关键字段:
| 对比维度 | 逐笔成交数据 | 快照数据 |
|---|---|---|
| 数据粒度 | 单笔交易 | 某一时刻的盘口状态 |
| 时间精度 | 毫秒/微秒级 | 秒级(通常 3 秒) |
| 包含信息 | 成交价、量、方向、编号 | 买卖十档、最新价、成交量、持仓量等 |
| 数据量 | 极大(连续流) | 较小(离散快照) |
| 主要用途 | 微观订单流分析、大单追踪 | 宏观状态判断、策略信号生成 |
通过将逐笔成交数据与快照数据结合使用,交易者可以构建出从宏观到微观、从状态到事件的完整市场分析框架,为高频策略的研发与推演提供坚实的数据基础。