AllTick
ALT
量化交易算法交易 策略回测风险管理 市场数据

如何识别高质量的量化回测?

了解如何通过夏普比率、最大回撤、收益回撤比、R²、胜率和期望收益评估量化回测。学习识别过拟合、数据泄漏和不切实际的交易成本,在策略实盘运行前验证其可靠性。

AllTick阅读 1 分钟

盈利的资金曲线并不能证明一个量化策略在实盘交易中同样有效。前视偏差、过度拟合、交易记录缺失以及不切实际的执行成本,都可能让表现不佳的策略看起来很有说服力。在投入资金之前,应同时评估策略的绩效指标,以及产生这些结果的整个回测过程。

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 实时推送市场行情的方式。

在设计数据处理流程之前,应查阅最新的官方文档,确认可用的交易品种及相关接口的具体细节。

最终判断:寻找可靠证据,而不是追求完美指标

优秀的量化回测,并不只是拥有最高的收益率、夏普比率或胜率。

真正值得信赖的回测结果,应当在计入交易成本后依然具有可信度,能够避免数据泄漏,在训练样本之外表现合理,并且符合策略自身的风险预算。

评估时,应综合分析各项指标,完整记录回测假设,并将回测表现视为值得进一步验证的证据,而不是对实盘收益的承诺。

立即开始接入市场数据

几秒内生成免费 API 密钥,通过一个端点连接所有市场。