
如何识别高质量的量化回测?
了解如何通过夏普比率、最大回撤、收益回撤比、R²、胜率和期望收益评估量化回测。学习识别过拟合、数据泄漏和不切实际的交易成本,在策略实盘运行前验证其可靠性。
盈利的资金曲线并不能证明一个量化策略在实盘交易中同样有效。前视偏差、过度拟合、交易记录缺失以及不切实际的执行成本,都可能让表现不佳的策略看起来很有说服力。在投入资金之前,应同时评估策略的绩效指标,以及产生这些结果的整个回测过程。
1. 不同市场环境下的收益稳定性
评估策略时,不要只关注最终收益,还应查看资金曲线和各个周期的收益表现。分别分析策略在不同月份、年份、交易品种和市场环境下的表现。
一个策略不必在所有市场环境中都盈利,但其实际表现应当符合策略本身的逻辑,而不是过度依赖某个异常有利的时期。
需要重点关注以下问题:
- 是否只有少数几笔交易、几个交易日或少数几个交易品种贡献了大部分利润?
- 策略的表现能否在样本外测试和滚动前推测试(Walk-Forward Testing)中持续保持?
- 策略的亏损周期和恢复时间,是否符合其预期用途?
仅凭平滑的资金曲线还不足以判断策略的质量,因为它可能掩盖陈旧价格、低频估值或不切实际的成交假设等问题。
2. 夏普比率:单位波动率对应的收益
夏普比率用于衡量策略的平均超额收益相对于收益波动率的大小。
夏普比率 =(平均周期收益率 − 周期无风险利率)÷ 周期收益率的标准差
如果需要将夏普比率年化,可以将周期夏普比率乘以一年内周期数平方根。但前提是,所采用的采样方式和收益率序列适合使用这种年化方法。
计算时,应确保收益率的时间间隔一致,并尽量在相近的测试周期内比较不同策略。
较高的夏普比率可能意味着策略具有更好的风险调整后表现,但不存在一个适用于所有策略的统一标准,能够仅凭夏普比率判断策略是否优秀。
较短的样本周期、收益分布的偏斜、收益率的序列相关性,以及参数选择过程,都可能导致夏普比率被高估。因此,应将其视为一项辅助诊断指标,并结合极端亏损情况和样本外测试结果进行评估。
如需了解更多背景知识,可以参考 CFA Institute 关于夏普比率与投资风险的相关说明。
3. 最大回撤:衡量亏损幅度与持续时间
最大回撤(Maximum Drawdown)是指资金曲线从某个峰值下跌至随后低点的最大跌幅,计算区间通常持续到资金曲线重新创出新高为止。
它反映了策略历史上相对于此前高点的最大资本损失,但不能预测策略未来可能遭受的最大亏损。
不要机械地采用 10% 或 20% 作为所有策略通用的最大回撤限制。应根据策略的投资目标、杠杆水平、流动性、持仓周期以及风险预算,判断回撤是否可以接受。
同时,还应记录策略在回撤后多久才能恢复至此前的峰值。持续数年的中等幅度回撤,可能比持续时间较短的回撤更难承受。
评估回撤时,应考虑交易成本,并在合理的滑点假设和压力情景下重新计算,而不是只看理想化回测中的结果。
4. 收益回撤比
一种简单的收益回撤比计算方法,是将年化收益率除以最大回撤的绝对值。
例如,某策略的年化收益率为 12%,最大回撤为 6%,那么其收益回撤比为 2.0。
这一指标用于描述策略的收益与历史最大回撤之间的关系,并不意味着未来也能取得相同的表现。
比较不同策略时,应采用一致的收益定义、测试周期和交易成本假设。
如果测试样本过短、最大回撤被低估,或者收益主要来自少数几笔异常出色的交易,那么较高的收益回撤比也可能产生误导。
因此,应结合夏普比率、回撤持续时间以及样本外表现进行综合判断。
5. R²:理解策略对基准市场的依赖程度
通过将策略收益率对相关基准收益率进行回归,可以计算出 R²(决定系数)。该指标反映了在所使用的回归模型中,基准变量能够解释策略收益率变化的程度。
较高的 R² 可能意味着策略的表现很大程度上跟随基准市场;较低的 R² 则可能表明策略与基准市场之间的线性关系较弱。
但 R² 的高低本身并不能决定策略的优劣。
例如,跟踪市场表现的策略可能具有较高的 R²,而市场中性策略则可能希望降低对基准市场的依赖程度。
R² 本身也不能证明策略具备交易能力或能够创造超额收益(Alpha)。
因此,应选择合适的基准,并进一步检查贝塔系数(Beta)、估计的 Alpha、样本规模,以及策略在独立测试周期中的表现。
6. 胜率、平均盈亏比与期望收益
胜率(Win Rate)是指盈利交易占全部交易的比例。
平均盈亏比用于比较盈利交易的平均利润与亏损交易的平均亏损。评估策略时,这两个指标都不应单独使用。
一个实用的起点是计算每笔交易的期望收益:
每笔交易的期望收益 =(胜率 × 平均盈利)−(亏损率 × 平均亏损)
举例来说,假设某策略具有以下表现:
- 胜率:40%
- 平均盈利:3 个单位
- 平均亏损:1 个单位
那么,在不考虑交易成本的情况下,其每笔交易的期望收益为:

也就是说,该策略每笔交易的期望收益为 0.6 个单位。
但是,佣金、买卖价差、滑点以及其他适用的交易成本,都可能降低甚至完全抵消这一优势。
因此,在得出策略是否有效的结论之前,必须基于合理的成本假设,计算扣除交易成本后的期望收益。
在相信回测指标之前,先验证回测的可靠性
在将回测结果视为策略有效性的证据之前,应使用以下清单进行检查。
| 检查项目 | 需要核实的内容 |
|---|---|
| 数据完整性 | 时间戳、重复记录、缺失观测值、交易代码变更、必要时的公司行为调整,以及时区是否一致 |
| 无信息泄漏 | 交易信号只能使用当时已经可获得的信息;订单执行时间不得早于下一个现实中可获得的成交价格 |
| 真实的交易成本与成交假设 | 纳入佣金、买卖价差、滑点、在相关情况下的市场冲击,以及延迟方面的假设 |
| 样本外测试 | 在策略设计阶段保留一段完全未参与开发的最终测试数据;适当时增加滚动前推测试 |
| 稳健性 | 适度调整参数,并在不同时间段和交易品种上进行测试,避免无休止地搜索表现最好的结果 |
| 可复现性 | 记录数据版本、策略参数、代码版本和相关假设,确保回测结果能够重新运行并复现 |
数据质量是整个回测流程的基础。
如果你正在评估一个依赖详细历史行情数据的策略,就必须确认所选数据源能够提供策略所需的交易品种、数据周期、时间戳和历史数据深度。
AllTick 的官方开发者资源介绍了通过 REST 接口获取历史时间序列数据,以及通过 WebSocket 实时推送市场行情的方式。
在设计数据处理流程之前,应查阅最新的官方文档,确认可用的交易品种及相关接口的具体细节。
最终判断:寻找可靠证据,而不是追求完美指标
优秀的量化回测,并不只是拥有最高的收益率、夏普比率或胜率。
真正值得信赖的回测结果,应当在计入交易成本后依然具有可信度,能够避免数据泄漏,在训练样本之外表现合理,并且符合策略自身的风险预算。
评估时,应综合分析各项指标,完整记录回测假设,并将回测表现视为值得进一步验证的证据,而不是对实盘收益的承诺。