2. Tick数据字段详解:时间戳、最新价、成交量、成交额、买卖盘口五档、逐笔成交与逐笔委托的区别
Tick数据是金融市场最细粒度的快照与事件记录,每个字段都承载着特定的市场微观结构信息。本章将逐一拆解核心字段的定义、精度、业务含义,并重点辨析逐笔成交与逐笔委托这两类最易混淆的数据类型。
2.1 核心字段全景
下表汇总了Tick数据中六个最关键的字段及其技术属性:
| 字段名称 | 数据类型 | 精度/单位 | 典型示例 | 业务含义 |
|---|---|---|---|---|
| 时间戳 | INT64 / 字符串 | 毫秒或微秒 | 2025-03-21 09:30:00.123 | 行情快照或事件发生的精确时刻 |
| 最新价 | FLOAT64 | 最小变动价位(如0.01) | 15.68 | 当前时刻最后一笔成交的价格 |
| 成交量 | INT64 | 股/手 | 1200 | 当前时刻累计成交数量(快照)或单笔数量(逐笔) |
| 成交额 | FLOAT64 | 元(保留两位小数) | 18816.00 | 当前时刻累计成交金额或单笔金额 |
| 买卖盘口五档 | 结构体数组 | 价格+委托量 | 买一:15.67/800 | 最优五档买入/卖出委托的报价与挂单量 |
| 逐笔成交/委托 | 事件记录 | 逐笔级别 | 成交ID: 1024 | 每一笔真实成交或委托的完整记录 |
校准提示: 时间戳的精度直接影响回测与策略对齐。高频策略必须使用微秒级时间戳,而日频或分钟频策略可容忍毫秒级误差。数据治理中,建议统一将时间戳转换为UTC纳秒整数存储,避免时区与精度损失。
2.2 时间戳:Tick数据的锚点
时间戳是Tick数据的第一属性,决定了数据的时间对齐能力。不同交易所与数据供应商的时间戳精度差异巨大:
- 交易所原始时间戳:通常为毫秒级(如深交所)或微秒级(如上交所Level-2)。
- 数据商加工时间戳:部分数据商在落地时增加接收时间戳,与交易所原始时间戳并存。
- 校准要点:必须区分“事件发生时间”与“数据接收时间”,回测时应优先使用事件发生时间。
2.3 最新价、成交量、成交额:快照与累计
在Tick快照数据中,这三个字段通常表示截至当前时刻的累计值,而非单笔值:
- 最新价:快照时刻最后一笔成交价,用于计算涨跌幅与价格序列。
- 成交量:从开盘到当前时刻的累计成交量(股或手)。
- 成交额:从开盘到当前时刻的累计成交金额(元)。
在逐笔成交数据中,这三个字段则代表单笔的成交价格、数量与金额。校准口径时,必须明确数据源是快照型Tick还是逐笔型Tick。
实战案例: 某策略需要计算过去5分钟的成交量加权均价(VWAP)。若使用快照Tick,需对相邻快照的累计成交量做差分,得到区间成交量;若使用逐笔成交,则直接对区间内的单笔成交求和。两种口径的VWAP结果可能因快照频率不同而产生偏差。
2.4 买卖盘口五档:市场深度快照
买卖盘口五档展示了当前时刻最优的五档买入与卖出委托,是衡量市场流动性与买卖压力的核心指标。其数据结构通常如下:
| 档位 | 买价 | 买量 | 卖价 | 卖量 |
|---|---|---|---|---|
| 一档 | 15.67 | 800 | 15.68 | 1200 |
| 二档 | 15.66 | 1500 | 15.69 | 900 |
| 三档 | 15.65 | 2000 | 15.70 | 1800 |
| 四档 | 15.64 | 1100 | 15.71 | 600 |
| 五档 | 15.63 | 700 | 15.72 | 1400 |
盘口数据的关键应用包括:
- 买卖价差:卖一价 - 买一价,衡量交易成本。
- 订单簿斜率:各档位累计委托量的变化趋势,判断支撑与阻力位。
- 大单挂单识别:单档委托量超过阈值时,可能预示大资金动向。
2.5 逐笔成交与逐笔委托:最细粒度的市场记录
逐笔成交与逐笔委托是Tick数据中信息量最大的两类事件记录,但两者在数据治理中极易混淆。下图展示了它们的核心区别:
2.6 逐笔成交与逐笔委托的详细对比
下表从八个维度对两类数据进行系统性对比,帮助校准口径时快速定位差异:
| 对比维度 | 逐笔成交(Trade) | 逐笔委托(Order) |
|---|---|---|
| 事件性质 | 确定性事件(已成交) | 意图事件(可能未成交) |
| 唯一标识 | 成交编号(Trade ID) | 委托编号(Order ID) |
| 数据量级 | 约为委托量的 1/5 ~ 1/3 | 最大,包含所有提交、撤单、修改 |
| 价格信息 | 成交价格(实际撮合价) | 委托价格(可能未成交) |
| 数量信息 | 成交数量(实际撮合量) | 委托数量(可能部分成交) |
| 方向标识 | 买方主动/卖方主动(B/S) | 买入/卖出/撤单 |
| 时间精度 | 成交发生时间 | 委托提交/撤单时间 |
| 回测用途 | 计算实际成交价格与滑点 | 模拟订单簿深度与流动性 |
口径校准警告: 部分数据商将“逐笔成交”与“逐笔委托”合并输出为同一张表,但未明确标注事件类型。此时必须通过事件标志字段(如 EventType=’T’ 或 ’O’)进行拆分,否则会导致回测中委托被误认为成交,产生虚假交易信号。
2.7 字段间的关联关系
理解字段间的逻辑关联,是进行数据清洗与口径校准的前提。下图展示了Tick数据核心字段之间的数据流与依赖关系:
2.8 实战:字段口径校准清单
在实际数据治理项目中,建议按以下步骤对Tick数据字段进行口径校准:
- 确认时间戳精度:检查数据源是毫秒还是微秒,是否存在时区偏移。
- 区分快照与逐笔:通过数据量级与字段结构判断是快照型Tick还是逐笔型Tick。
- 验证累计值连续性:对快照Tick的成交量做差分,检查是否与逐笔成交的区间和一致。
- 盘口价格逻辑校验:买一价 ≤ 卖一价,且各档位价格单调递增/递减。
- 逐笔成交与委托关联:通过Order ID关联,检查是否存在成交但无对应委托的异常记录。
- 异常值过滤:剔除价格为零、数量为负、时间戳乱序等脏数据。
校准口诀: “先看时间戳,再分快照与逐笔;累计做差分,盘口验逻辑;成交联委托,异常全过滤。” 掌握这五步,即可完成80%的Tick数据口径校准工作。