
在投资领域,夏普率(Sharpe Ratio)是人们耳熟能详的一个概念。它因为同时考虑了回报和风险而成为衡量一个策略,或者基金业绩的核心指标之一。最初在 William Sharpe 提出这个概念的时候(Sharpe 1966),它的名字叫 Reward-to-Variability Ratio (R/V),这个名字很好的反映了它的实质;不过后来,这个名字被人们谈及的越来越少,人们更愿意使用“夏普率”这个叫法。
在 William Sharpe 自己解读夏普率的一篇文章(Sharpe 1994)中,它指出夏普率分为事前夏普率(the Ex Ante Sharpe Ratio)以及事后夏普率(the Ex Post Sharpe Ratio)。前者使用对未来单期收益率均值和标准差的预测进行计算,而后者使用历史数据计算。通常,当我们谈及夏普率的时候,默认的都是后者。
按照 Sharpe (1994) 的定义,假设 为 期的收益率, 为无风险收益率(假设为常数),则使用 到 这段长度的历史数据计算的(事后)夏普率为:
用白话说,如果标准差可以理解为风险的代理指标后,那么夏普率度量的就是风险调整后的超额收益。在上面的公式中,无论是夏普率、收益率均值还是标准差,它们的符号上面都有一个上标,说明它们是从样本数据中估计出来的数据。
谈到夏普率,首先要说明计算它的频率。人们通常所说的夏普率是年化夏普率。那么,对于一个量化投资策略,年化夏普率多大才比较好的?一般来说,如果一个策略在回测中的年化夏普率(扣除各种交易成本后)小于 1,它就没有什么继续被研究的价值了(确实残酷)。很多量化对冲基金往往要求回测中的年化夏普率超过 2;更有甚者(某家全球上著名的量化对冲基金)仅仅考虑年化夏普率大于 3 的策略。
年化夏普率为 1、2 甚至是 3 是什么概念呢?下图是假象的三条净值曲线。它们都是假设投资长度为十年,并使用正态分布随机生成的月频收益率(均值为 2%),然后按照给定的年化夏普率反推出收益率的标准差。
当年化夏普率为 3 时,净值曲线(在对数坐标下)基本上是一条直线了;当年化夏普率为 2 时,它的净值曲线也仅在局部有一些小的波动;当年化夏普率为 1 时,它的净值曲线在全局范围内呈现出更大的波动;即便如此它也是个靠谱的赚钱策略(想想 A 股各大指数长期以来可怜的夏普率)。
上面的例子告诉我们,当(年化)夏普率为 3 的时候,净值曲线基本上就是一直涨,可想而知其难度。但是我们往往在市场上能看到一些策略,它们计算出来的(年化)夏普率往往比 3 还高,有些还高的离谱。这个现象背后的一种解释是,频率越高的策略,夏普率可能越高;特别是对于那些高频策略,几乎每天赚钱的那种,两位数的夏普率都绝非罕见。
我绝不否认市场中有这种“神一般的存在”,但是超高夏普率的背后恐怕还有一个更合理的解释 —— 年化的时候计算错了,过度的高估了年化夏普率。为了说明这一点,下面就来看看夏普率的统计特性。
在夏普率的公式中,夏普率(包括计算它的收益率均值和标准差)是从样本数据中估计出来的数据;它仅仅是某个策略或者基金业绩在过去一段时间内真实(但未知)的夏普率的一个估计。
它最致命的问题是没有考虑单期收益率之间的相关性(下面英文是 Sharpe 1994 中谈及夏普率计算公式中没有考虑相关性的部分),这将造成样本夏普率和真实夏普率之间的误差。更重要的是,在使用高频夏普率来推导年化夏普率的时候,不考虑单期收益率的相关性将造成年化夏普率估计的巨大误差。
为了定量分析样本夏普率和真实夏普率之间的误差,以及从高频(比如日频、周频、月频)夏普率推算低频(比如年化)夏普率时的误差,Lo (2002) 研究了夏普率的统计性质。
对于最简单的情况 —— 假设单期收益率满足 IID 分布,则样本夏普率对真实夏普率估计的渐近分布满足:
其中 μ、σ 和 SR 分别表示单期收益率的真实均值、标准差和以它们计算出的真实夏普率。由此可知,样本夏普率的 Standard Error 满足:
在实际使用时,可以在上式中将真实夏普率替换为样本夏普率。下图给出了不同夏普率和样本个数对应的夏普率估计误差(Lo 2002)。夏普率越高,它的 Standard Error 越大;而当样本个数小的时候,这个问题更加严重。所以,如果有人只给你看了很短的业绩,并告诉你一个很高的夏普率,那就要小心了。
如果单期收益率不满足 IID 分布,则估算样本夏普率的误差更复杂一些,但仍可以使用 generalized method of moments 方法求解,具体参见 Lo (2002)。
再来看看用高频夏普率推算低频夏普率的情况。假如我们有使用月频收益率计算出的夏普率,当把它换算成年化夏普率的时候,常见的做法是乘以根号 12。然而,这种做法正确的前提是,单期(这里是月频)收益率满足 IID。一旦这个假设不成立,上述计算方法就有不小的问题。
首先仍然考虑最简单的 IID 情况。令 表示 期真实夏普率,Lo (2002) 给出如下结果:
下面来考虑非 IID 的情况,即单期收益率之间存在自相关性(可能是正的,也可能是负的)。假设收益率满足平稳性、令 表示间隔 期的自相关系数,则有:
可见,当单期收益率之间不满足 IID 时,计算 期夏普率就不能简单的乘以 了,而是要计算一个系数 ,它和收益率的各阶自相关系数有关。对于最简单的 AR(1) 情况, 和期数 以及自相关系数 的关系可以从下面这个表中感受一二。
表中 对应的是 。当 时(收益率正相关), 小于 ;说明当收益率正相关时,按照传统方法计算的 期夏普率高估了其真实值。当 时(收益率负相关), 大于 ;说明当收益率负相关时,按照传统方法计算的 期夏普率低估了其真实值。
这样的结果不难理解。当计算 期夏普率的时候,对于 IID 的情况,收益率按 增长,而标准差随根号 增长,因此最终夏普率按照 增长。但是当收益率之间有正(负)相关时,标准差的增长要快(慢)于 IID 的情况,导致 大(小)于 。
总结一下,本节的介绍说明以下两点:
最后,对于那些想要进一步研究 Lo (2002) 成果的小伙伴,需要指出的是他在研究 期夏普率的统计特性时,使用的是单期的百分比收益率而非对数收益率,因此结果是一种近似。Lin and Chou (2003) 指出当投资期限很长时,不考虑复利的影响也会在计算夏普率时产生误差。
如果问 Willian Sharpe 本人关于夏普率,最重要的一点是什么,我猜他会说:夏普率描述的是一个零额投资策略单位风险对应的期望收益,两个投资品的期望收益之差(按无风险利率借来钱,投资到风险资产)构成了这样一个策略,这就是为什么在计算夏普率的时候必须要减去无风险利率。事实上,Sharpe 确实反复强调过这一点(Sharpe 1994):
举个例子,假如有两个投资品 X 和 Y,前者期望收益 5%,标准差 10%;后者期望收益 8%,标准差 20%。另外假设无风险收益率为 3%。如果我们错误的计算风险收益比 —— 即使用投资品的收益(而非减去无风险的超额部分)直接除以标准差,那么得出的结论是 X (比值是 5%/10% = 0.5)强于 Y(比值是 8%/20% = 0.4)。但是根据夏普率,X (夏普率 0.2)应该弱于 Y(夏普率 0.25)。
如果有个投资品想在 X 和 Y 之间选择,目标是在 10% 的风险下获得更高的收益。如果按照错误的风险收益比,他会选择 X,并获得 5% 的期望收益。而如果按照夏普率度量,他会选择 Y(因为 Y 的夏普率高于 X),并把一半的资金投资于无风险、另一半投资于 Y,这会让他在 10% 的风险下获得 5.5% 的期望收益,优于前一种选择。这说明夏普率才是正确的度量。
在 Willian Sharpe 谈及夏普率的著名文章 The Sharpe Ratio(Sharpe 1994)中,在这个大标题的下面还有一行小字:
无疑,这里面核心的前提条件是使用得当。面对这个在市场中天天被我们说、为我们用的风险收益度量指标,也许是时候重新审视一番、并问问我们自己到底用对了没有。
参考文献
