2. 核心概念:什么是标签口径?标签口径的三大维度:时间戳、价格源、事件定义
在量化回测中,标签口径(Label Caliber)是指对历史行情数据进行标注时所遵循的统一规范。它决定了“在什么时间、用什么价格、标记什么事件”。口径不一致,回测结果就会失真,甚至完全相反。
一句话定义:标签口径 = 时间戳 + 价格源 + 事件定义。三者缺一不可,共同构成一个可复现的标注标准。
2.1 三大维度总览
下表列出了三大维度的核心含义与常见陷阱:
| 维度 | 核心含义 | 常见口径偏差 |
|---|---|---|
| 时间戳 | 标签对应的具体时刻(K线结束时间、成交时间、信号触发时间) | 使用未来数据(Future Leakage)、时间戳对齐错误 |
| 价格源 | 用于计算标签的行情价格(收盘价、成交均价、最优买卖价) | 回测用收盘价,实盘用成交价,导致绩效偏差 |
| 事件定义 | 标签的语义规则(突破、金叉、止损、止盈等) | 规则模糊、参数不一致、边界条件未处理 |
校准原则:回测标签口径必须与实盘交易系统的信号生成口径保持完全一致,否则回测结论不可信。
2.2 维度一:时间戳
时间戳是标签的锚点。常见的口径问题包括:
- 未来数据泄露:使用未来K线的高低价来标注当前K线的标签。
- 时间戳偏移:将收盘后计算出的标签错误地赋值给收盘前的K线。
- 时区/交易时段不一致:不同交易所的休市时间、夏令时切换导致对齐错误。
正确的做法是:标签时间戳必须严格等于信号计算所需数据的最后可用时间。例如,使用日线收盘价计算突破信号,标签时间戳应为该日K线的结束时间。
2.3 维度二:价格源
价格源决定了标签的数值基础。不同价格源会导致完全不同的标签分布:
| 价格源类型 | 适用场景 | 口径风险 |
|---|---|---|
| 收盘价(Close) | 日频策略、趋势跟踪 | 忽略日内波动,标签过于平滑 |
| 成交均价(VWAP) | 高频策略、订单执行分析 | 回测难以精确复现 |
| 最优买卖价(Bid/Ask) | 流动性敏感策略、做市策略 | 回测数据通常不含完整深度 |
| 复权价格(Adj Close) | 长周期回测、分红除权处理 | 前复权与后复权口径不同,需统一 |
常见错误:回测时使用后复权价格,实盘信号却基于原始价格计算,导致标签口径完全错位。
2.4 维度三:事件定义
事件定义是标签的语义规则。同一个市场现象,不同定义会产生不同标签:
- 突破信号:是价格超过前高1%算突破,还是超过前高收盘价算突破?
- 金叉信号:是短期均线上穿长期均线的瞬间,还是收盘后确认?
- 止损事件:是盘中触及止损价立即触发,还是收盘价低于止损价才触发?
事件定义必须包含精确的数学表达式和边界条件处理(如价格恰好等于阈值时的归属)。
2.5 三大维度关系图
下图展示了标签口径三大维度之间的依赖关系:
2.6 口径不一致的典型后果
下表总结了口径偏差对回测结果的具体影响:
| 口径偏差类型 | 回测表现 | 实盘表现 | 后果 |
|---|---|---|---|
| 时间戳使用未来数据 | 胜率极高,夏普比率>3 | 胜率接近50%,持续亏损 | 策略完全失效 |
| 价格源使用收盘价 vs 实盘成交价 | 滑点忽略,收益曲线平滑 | 滑点显著,收益曲线剧烈波动 | 绩效高估30%-50% |
| 事件定义边界条件未处理 | 信号数量稳定 | 信号频繁缺失或重复 | 交易逻辑混乱 |