回测报告最重要一行数,通常是看夏普比,1.2,1.5,2.0,数字越高,策略看起来越诱人。
但少有人追问:这个1.5,误差有多大?
如果回测只有三年,这个1.5可能意味着真实夏普只有0.5,也可能意味着真实夏普高达2.5,你可能无法确定它到底是哪一个,夏普比率本身是一个估计值,只要是从样本中算出来的,就一定有误差,样本量越小,误差越大。
本文说说,如何计算夏普比的误差范围,以及到底需要多少年回测,才能让这个误差,小到可爱。
夏普比率的标准误
夏普比的统计性质可以用中心极限定理来近似,在样本量足够的情况下,夏普比率的估计值服从近似正态分布,其标准差约为:
SE(SR) = √((1 + SR²/2) / N)
其中N是样本数量(日频数据通常用交易日数),SR是观察到的夏普比率。
这公式有三个含义,样本量越大,标准误越小,这是直觉,夏普比率本身越高,标准误越大,这不太直观,一个高夏普比的估计其实比低夏普更不稳定,对于一个给定的夏普比率,你可以用这个公式计算出它的置信区间。
三年回测的夏普1.5,意味着什么?
假设你在三年(约750个交易日)的回测中得到了年化夏普1.5,代入公式:
SE(SR) = √((1 + 1.5²/2) / 750) = √(2.125 / 750) ≈ 0.053
这是日频夏普的标准误。要得到年化夏普的标准误,乘以√252:
SE(SR_annual) ≈ 0.053 × 15.87 ≈ 0.84
年化夏普1.5,标准误0.84。用这个数字构建90%置信区间(±1.645倍标准误):
1.5 ± 1.645 × 0.84 = [0.12, 2.88]
结论:真实夏普有90%的概率落在0.12到2.88之间。下限0.12意味着策略可能几乎没有真正的alpha,上限2.88意味着策略可能极其优秀。但问题是,你无法确定它落在哪个位置。
三年回测,仍然无法告诉你这个策略到底是真有实力还是运气好,如果你把回测期延长到五年(约1260个交易日),同样的夏普1.5,标准误降到0.65,90%置信区间变成[0.43, 2.57]。区间收窄了一些,但仍然很宽。五年回测,真实夏普的下限仍然可能低于0.5,在扣除交易成本后,这并不比无风险收益好多少。
需要多少年回测,夏普比率才能“显著”?
一个常用判断标准是:如果夏普比率的90%置信区间下界大于0,说明策略在统计上显著不为零,用这个条件反推需要的样本量,可以得到一个直观的参考。假设你观察到的夏普比率是0.8,你需要大约5年的日频数据才能让90%置信区间的下界大于0。如果观察到的夏普是1.0,大约需要3.5年。如果观察到的夏普是1.5,大约需要2年。
但对于一个夏普只有0.5的策略,即使回测十年,置信区间下界仍然可能触及零。这意味着低夏普策略需要极长的回测周期来验证其有效性,而大多数策略在回测十年后,市场结构可能已经发生了变化,验证本身的意义也变得模糊。
这里有个容易被忽略的问题:这些计算假设收益率是独立同分布的。如果交易收益存在自相关,实际需要的样本量会更大。这问题前面文章有所提及,读者感兴趣可以翻阅。
夏普比率置信区间在日常监控中的应用
即使在实盘运行阶段,夏普比率的标准误也有实际用途,随实盘数据不断积累,你可以定期计算滚动窗口的夏普比率及其置信区间。如果你的策略显示出的夏普比率的置信区间下限连续两个季度低于零,可能说明策略的alpha在衰减,这个信号比单纯看夏普数字的下降更早提示问题,因为数字下降可能只是波动,而置信区间结构的变化才是更可靠的指标。
为什么大多数回测报告的夏普比率不可靠
大多数策略回测报告的夏普比率是基于三年或更短的数据计算的。三年回测出的1.5夏普,90%置信区间下界只有0.12,几乎不显著。但报告里不会告诉你这个。他们只会展示一个漂亮的数字,然后暗示你“这个策略很好”。
如果你看到一份回测只展示了夏普比率,没有展示标准误或置信区间,你至少知道了它可能有所保留,一个严谨的策略评估,应该包含夏普比率的标准误和置信区间。
更务实的做法
在策略开发的初期,把夏普比率的置信区间作为决策依据之一。如果区间的下界仍然为正,说明策略在统计意义上可能有效。如果区间的下界为负或接近于零,说明策略还没有通过最基础的统计检验——在没有更多数据积累之前,它可能不值得投入太多实盘资金。
夏普比率不是金标准,只是一个估计值,估计值有误差,而这个误差的大小决定了你能否信赖这个数字。
真正的策略评估,不是看夏普的数字,是看它的置信区间下界在哪里。一个夏普1.0但下限0.7的策略,比一个夏普1.5但下限0.1的策略更值得信赖。前者你大概知道它能赚多少,后者你仍然充满不确定性。既然实盘中的不确定性已经足够多了,回测报告里至少应该有一份清晰的确定性。而夏普置信区间提供了这一确定性它把“大概是多少”变成了“不差于多少”的表达,这是决策所需要的全部信息。