2. 样本构建概述:样本构建的目标、样本与总体、样本偏差的来源

在量化回测中,样本构建是连接原始市场数据与策略评估模型的核心桥梁。样本构建的质量直接决定了回测结果是否能够真实反映策略在未来未知数据上的表现。本章将系统阐述样本构建的目标、样本与总体的关系,以及导致样本偏差的主要来源。

2.1 样本构建的目标

样本构建的核心目标可以归纳为以下三点:

  • 代表性(Representativeness):构建的样本应尽可能反映目标总体的统计特征,包括分布、趋势、波动率等。
  • 完整性(Completeness):样本应覆盖足够长的时间周期和足够多的市场状态(牛市、熊市、震荡市),避免遗漏关键事件。
  • 无偏性(Unbiasedness):样本的选取过程不应引入系统性误差,确保回测结果对策略的真实能力给出无偏估计。
关键原则: 样本构建的最终目的是让回测成为未来表现的“模拟器”,而非“历史复读机”。样本质量决定了回测结论的泛化能力。

2.2 样本与总体

在量化金融中,总体(Population) 是指我们想要研究或预测的全部数据集合,例如“A股市场自成立以来所有股票的所有交易日的价格与成交量数据”。样本(Sample) 则是从总体中选取的一部分数据,用于模型训练、验证和回测。

样本与总体的关系可以通过以下表格清晰展示:

维度 总体(Population) 样本(Sample)
定义 研究对象的全部个体或数据点 从总体中抽取的子集
目标 描述真实世界的完整状态 以较低成本推断总体特征
常见问题 通常不可完全获取(未来数据不可知) 抽样误差、样本偏差
回测中的角色 策略最终要面对的真实市场 用于训练和测试策略的历史数据

在回测实践中,我们永远无法获得完整的总体(因为未来数据不可知),因此样本构建的质量决定了我们对总体推断的可靠性。

2.3 样本偏差的来源

样本偏差是导致回测结果失真的主要元凶。以下是量化回测中最常见的几种偏差来源:

2.3.1 幸存者偏差(Survivorship Bias)

幸存者偏差是指样本中只包含了“存活”到当前时刻的标的,而剔除了那些已经退市、破产或停止交易的标的。这种偏差会高估策略的历史表现,因为被剔除的往往是表现较差的标的。

  • 典型场景:使用当前成分股回测过去10年的策略,忽略了期间被剔除的股票。
  • 影响:策略回测收益被高估,风险被低估。
  • 解决方法:使用全历史样本,包含所有曾经存在过的标的,并在退市时进行清算处理。

2.3.2 前视偏差(Look-Ahead Bias)

前视偏差是指在构建样本或计算特征时,无意中使用了未来信息。这是量化回测中最隐蔽也最危险的偏差之一。

  • 典型场景:使用未来财报数据计算当前估值指标,或使用未来价格进行止损判断。
  • 影响:策略在回测中表现完美,但在实盘中迅速失效。
  • 解决方法:严格对齐时间戳,确保每个样本点的特征只使用该时间点之前的信息。

2.3.3 其他常见偏差

偏差类型 描述 典型示例
选择偏差 样本选取过程非随机,导致样本不能代表总体 只选择流动性最好的股票进行回测
时间区间偏差 回测时间区间选择不当,导致结果受特定市场状态影响 只在牛市中回测,忽略熊市表现
数据清洗偏差 数据预处理过程中引入系统性误差 统一填充缺失值为0,导致异常分布
过拟合偏差 样本内表现优异,但样本外泛化能力差 在有限样本上使用高复杂度模型
⚠️ 实践警示: 幸存者偏差和前视偏差是回测中最常见且破坏力最大的两种偏差。在构建样本时,必须建立严格的“时间机器”机制,确保每个样本点的特征和标签都只使用该时间点之前的信息。

2.4 样本偏差来源全景图

下图展示了样本构建过程中主要偏差的来源及其相互关系:

样本偏差来源全景图 样本构建 数据层面偏差 时间层面偏差 方法层面偏差 幸存者偏差 数据清洗偏差 选择偏差 前视偏差 时间区间偏差 过拟合偏差 标签对齐偏差 核心原则:所有偏差的根源在于样本未能真实反映总体 构建样本时需同时检查数据、时间和方法三个维度

2.5 偏差检测与缓解策略

在实际回测中,检测和缓解样本偏差需要系统性的方法:

  1. 构建全样本回测:包含所有历史标的,包括已退市标的。
  2. 时间戳严格对齐:确保特征计算只使用历史数据,使用 shift() 或类似操作避免未来信息泄露。
  3. 多区间验证:将回测区间划分为多个子区间,检查策略在不同市场状态下的表现一致性。
  4. 样本外测试:保留一段完全未参与模型开发的数据作为最终验证集。
💡 实践技巧: 在构建样本时,可以创建一个“时间戳检查表”,对每个特征和标签的生成时间进行显式记录。例如,使用 pd.Timestamp 记录每个样本点的“信息截止时间”,确保所有特征都早于该时间点。

2.6 样本构建的黄金法则

总结样本构建的核心原则,可以归纳为以下三条黄金法则:

法则 描述 检查清单
法则一:时间不可逆 任何样本点的特征只能使用该时间点之前的信息 ✓ 特征计算是否使用了未来数据?
✓ 标签是否与特征时间对齐?
法则二:样本全覆盖 样本应包含所有符合条件的标的,不因“存活状态”而剔除 ✓ 是否包含已退市标的?
✓ 是否包含停牌期间的数据?
法则三:区间代表性 回测区间应覆盖多种市场状态,避免单一趋势 ✓ 是否包含牛熊转换?
✓ 是否包含高波动和低波动时期?

遵循这三条法则,可以显著降低样本偏差对回测结果的影响,为后续的标签对齐和模型训练奠定坚实基础。