4.2 回测框架与方法论
核心概念
回测(Backtesting) 是量化策略开发的核心环节——用历史数据模拟策略表现。但统计学家会告诉你:"过去的表现不代表未来结果。"
回测方法论三支柱
| 支柱 | 内容 | 常见错误 |
|---|---|---|
| 数据清洗 | 复权处理、幸存者偏差剔除(仅保留还存活的标的,高估历史收益)、分红拆股调整 | 使用未复权数据 |
| 逻辑验证 | 确保信号只使用当时已知信息 | 前瞻偏差(信号中用到了当时还看不到的未来数据) |
| 稳健性检验 | Walk-Forward、蒙特卡洛、多市场验证 | 数据窥探偏差(反复测试同一数据集,偶然发现的虚假规律被误认为有效) |
Walk-Forward 分析
将历史数据分为训练集(In-Sample) 和测试集(Out-of-Sample),在训练集优化参数后在测试集验证。循环前进:
[训练期1 → 验证期1] → [训练期2 → 验证期2] → [训练期3 → 验证期3]手工计算:Sharpe Ratio 的前瞻偏差修正
问题:一个策略在回测中报告年化 Sharpe Ratio = 2.5,但发现信号中使用了"未来数据"(如当日收盘价计算开盘信号)。调整后 Sharpe 会变成多少?
原始计算(含前瞻偏差)
假设:策略在2019-2023年(5年)月收益率数据如下:
| 月份 | 原始策略收益率 | (错误地使用未来信息) |
|---|---|---|
| 1月 | +5.2% | 使用了月末数据产生月初信号 |
| 2月 | +4.8% | 同上 |
| 3月 | +3.1% | |
| 4月 | -1.2% | |
| 5月 | +6.5% | |
| 6月 | +2.0% | |
| 7月 | -0.5% | |
| 8月 | +4.2% | |
| 9月 | +3.8% | |
| 10月 | +1.5% | |
| 11月 | -0.8% | |
| 12月 | +5.0% |
计算:
月均收益率:
月收益率标准差:
月 Sharpe Ratio:
年化 Sharpe Ratio(乘 ):
调整后计算(消除前瞻偏差)
修正后,信号使用 t-1 收盘价计算 t 日开盘信号,收益率显著下降:
| 月份 | 修正后收益率 | 原因 |
|---|---|---|
| 1月 | +2.1% | 信号延迟一天,错过跳空 |
| 2月 | +3.0% | |
| 3月 | +1.5% | |
| 4月 | -2.8% | 亏损加大 |
| 5月 | +3.2% | |
| 6月 | +0.5% | |
| 7月 | -1.8% | |
| 8月 | +1.9% | |
| 9月 | +2.0% | |
| 10月 | +0.3% | |
| 11月 | -2.1% | |
| 12月 | +2.5% |
月均收益率:
月收益率标准差:
调整后的年化 Sharpe:
结论:调整后 Sharpe 从 3.96 暴跌至 1.39——这是真实可实现的水平。
常见回测陷阱
| 陷阱 | 描述 | 如何避免 |
|---|---|---|
| 前瞻偏差(Look-Ahead Bias) | 信号使用了未来数据 | 严格对齐数据时间戳 |
| 生存者偏差(Survivorship Bias) | 只回测存活至今的股票 | 使用存活/退市全覆盖数据库 |
| 过度优化(Overfitting) | 参数调整过多拟合历史噪声 | Walk-Forward + 交叉验证 |
| 数据窥探(Data Snooping) | 反复使用同一数据测试 | 预留 Out-of-Sample 数据 |
| 交易成本忽略 | 未考虑滑点(Slippage——订单簿深度不足导致的预期价与实际成交价之差,详见 1.2 订单类型)和佣金 | 保守估计成本并做敏感性分析 |
| 极端值影响 | 单次极端盈利/亏损扭曲结果 | 使用夏普比率的稳健版本 |
Quant Link
Quant Link:为什么 90% 的回测在上线后失败?AQR 的研究指出三大原因:①回测假设与现实交易环境存在巨大差异(如假设以收盘价成交、零滑点);②数据挖掘导致的虚假显著性——测试足够多的参数组合总能找到一个"看起来好"的结果(Multiple Testing Bias);③市场状态变化——策略在特定市场环境下有效(如低波动),环境改变后失效。真正的量化基金在回测中会做压力测试,包括2008年金融危机、2020年3月的流动性枯竭。
关键公式总结
| 概念 | 公式 | 用途 |
|---|---|---|
| 年化 Sharpe | 风险调整后收益 | |
| 年化(月数据) | 月收益年化 | |
| 年化(日数据) | 日收益年化 | |
| 净收益率 | 扣除交易成本 |
下一步:4.3 绩效评估指标 → 如何全面评估策略表现。