跳到正文

Sharpe 比率崇拜:为什么你的 2.1 Sharpe 很可能是错的

Sharpe 比率是量化金融中被滥用最多的指标。以下是 2.1 Sharpe 的回测几乎肯定不是它看起来的那个样子的原因。

第 9 篇 · 共 9 篇 约 4 分钟

每个宽客都谈论 Sharpe 比率。每个回测都报告它。每个投资者都问它。但大多数把 Sharpe 作为可靠指标的人至少犯了五个基本错误。

回测显示 2.1 Sharpe 并不是 2.1 Sharpe 策略。它是一个噪声估计——一个未知真实 Sharpe 的有偏估计,受到选择偏差、多重检验和金融收益不是 i.i.d. 正态分布这一事实的污染。以下是原因。

错误 1:Sharpe 是有误差估计的

Sharpe 比率是两个估计量的比值:

SR=μσSR = \frac{\mu}{\sigma}

μ(均值收益)和 σ(波动率)都是从有限回测数据中估计的。Sharpe 估计的标准误大约是:

SE(SR)≈1TSE(SR) \approx \frac{1}{\sqrt{T}}

对于 5 年日频回测(T ≈ 1,260 交易日),SE(SR) ≈ 0.028。报告的 Sharpe 2.1 有 95% 置信区间约 [2.04, 2.16]。这看起来精确——但这假设了 i.i.d. 正态收益,实践中从来不是这样。

收益存在自相关(这是典型的),独立观测的有效数量要低得多,SE(SR) 要高得多。对于日频策略,0.1 或更高的真实 SE 很常见。95% CI 会是 [1.9, 2.3]——仍然「好」,但真实 Sharpe 可能是 1.9 或 2.3,你无法分辨。

错误 2:选择偏差——你看到的是最佳,不是平均

你测试了 30 个策略变体。Sharpe 最高的是 2.1。但所有 30 个的平均 Sharpe 是 -0.3。

这是大数定律的反面:当你从许多试验中选择最大值时,你得到的是极端乐观。你测试的策略越多,向上偏差越大。

Deflated Sharpe Ratio(DSR)修正了这一点:

DSR=SRmax−Emax[SRmax]σSRDSR = \frac{SR_{max} - E_{max}[SR_{max}]}{\sigma_{SR}}

其中 E_max[SR_max] 是在所有真实 Sharpe 均为零的原假设下,期望的最大 Sharpe。对于在 α 显著性水平下检验的 m 个策略:

Emax[SRmax]≈2ln⁡(m)/TE_{max}[SR_{max}] \approx \sqrt{2 \ln(m)} / \sqrt{T}

对于 m=30,T=1,260:E_max ≈ 0.14。如果你观察到的最大 Sharpe 是 2.1,DSR 是 (2.1 - 0.14) / σ_SR ≈ 1.8。仍然好,但不是 2.1。

错误 3:非正态分布——厚尾使 Sharpe 无用

Sharpe 比率假设收益是正态分布的。它们不是。

一个在好月份返回 +30%、坏月份返回 -25% 的策略,与一个稳定返回 +5% 的策略具有相同的均值和波动率——但风险特征截然不同。Sharpe 不能捕捉峰度(厚尾)或偏度(非对称性)。

Sortino 比率用「仅惩罚下行」方差替代波动率:

Sortino=μ−rminDRSortino = \frac{\mu - r_{min}}{DR}

其中 DR 是下行偏差(仅负收益的标准差)。Sortino > 1.5 比 Sharpe > 1.5 更难实现,因为你不为上行波动率加分。

Calmar 比率用最大回撤代替波动率:

Calmar=μMaxDDCalmar = \frac{\mu}{MaxDD}

这比 Sharpe 更严厉地惩罚有大型、不频繁损失的策略。

错误 4:Sharpe 取决于采样频率

一个在日频收益上看起来很棒的策略,在月频收益上可能看起来平庸,反之亦然。这不是数据伪影——它反映了策略的实际自相关结构。

年化 Sharpe 只有在收益 i.i.d. 时才按 √T 缩放。存在序列相关时:

SRannual=SRdaily⋅252⋅1−ρ11+ρ1SR_{annual} = SR_{daily} \cdot \sqrt{252} \cdot \sqrt{\frac{1 - \rho_1}{1 + \rho_1}}

其中 ρ₁ 是日频收益的一阶自相关。如果 ρ₁ > 0(动量),真实年化 Sharpe 低于朴素计算。如果 ρ₁ < 0(均值回归),则更高。

大多数策略具有正日频自相关(在短期内),这意味着朴素年化会高估真实表现。

错误 5:回测长度——Sharpe 至少需要 3-5 年

6 个月回测的 2.1 Sharpe 几乎肯定是噪声。原因如下:

对于真实 Sharpe 为 0,在 T=126 观测(6 个月)下观察样本 Sharpe > 2.0 的概率低于 2%。但你也是从许多试验中选择最大值(错误 2),所以「显著」的阈值要高得多。

经验法则:你需要 T ≥ 252 × 3 = 756 个日频观测才能以 5% 显著性水平、80% 功效区分 Sharpe 1.0 和 0。那是至少 3 年。

如果你的回测是 6 个月,你无法区分真实 Sharpe 0.5 和 2.0。数据不支持这个结论。

怎么做

报告不确定性:始终显示 Sharpe 的标准误、置信区间或贝叶斯后验。没有不确定性的单一数字不是完整报告。

使用 Deflated Sharpe 进行策略选择:如果你从许多变体中选择,用零技能原假设下期望最大值压缩 Sharpe。这给你一个诚实的比较。

报告多个指标:Sharpe + Sortino + 最大回撤 + Calmar 比单独 Sharpe 更全面。如果 Sharpe >> Sortino,你的收益是正偏的——要怀疑。

要求 3+ 年的回测数据:低于 3 年,Sharpe 估计太嘈杂,没有意义。如果你无法运行 3 年回测,你就没有足够的数据来验证策略。

检查稳健性:报告不同时间段、不同波动率环境、不同再平衡频率下的 Sharpe。稳健的策略在这些变化中会显示类似的 Sharpe。脆弱的策略会显示高方差。

底线

来自回测的 2.1 Sharpe 告诉你:

  • 策略在回测期间的实现 Sharpe 是 2.1
  • 约 95% 置信,真实 Sharpe 在 1.5 到 2.7 之间(非常粗略)
  • 如果你从许多试验中选择,真实 DSR 可能更低
  • 在不同市场环境下,策略的真实表现可能差很多

在我们的平台上,我们显示 Sharpe 的贝叶斯后验以及点估计,在适用时对多重检验进行压缩,并要求 3+ 年的数据,然后将 Sharpe 视为「已验证」。

参考文献

  • Bailey, López de Prado, “The Deflated Sharpe Ratio,” Journal of Portfolio Management, 2014.
  • Aronson, Evidence-Based Technical Analysis, 第 1-2 章. Wiley, 2006. ISBN: 978-0-471-75671-9.
  • Sortino, Price, “Performance Measurement in a Downside Risk Framework,” Journal of Performance Measurement, 1994.