投资理财

夏普比率与波动率计算器

把收益率序列换算成年化波动率与夏普比率,看清这份收益是靠承担多少波动换来的。

  • 免费免注册
  • 结果可分享链接
  • 浏览器本地计算

无风险利率这一栏请自己填。用国债收益率、货币基金收益率还是银行存款利率,不同口径算出来的夏普 比率不一样,没有唯一正确答案,但同一批对比对象必须用同一个口径,否则比出来的高低没有意义。

0.679
夏普比率
1.083
索提诺比率
2.155
卡玛比率
8.16%
年化波动率
7.54%
年化收益(几何)
3.50%
最大回撤
5.12%
年化下行波动率
0.63%
平均单月收益
−3.50%
最大单期跌幅
4 / 12
负收益期数
12度数据,平均每期 0.63% , 几何年化 7.54%,年化波动率 8.16% 扣掉 2% 的无风险利率之后,每承担 1 个百分点的年化波动, 换回来 0.679 个百分点的 超额收益,这就是夏普比率的字面含义。 索提诺比率 1.083高于夏普,说明这段波动里向上跳的成分更多,惩罚项被夏普高估了。
卡玛比率:换个分母看同一段曲线。把这串收益率按顺序折成净值曲线(起点记作 100),最深的一次从 104.30 跌到 100.65 , 最大回撤 3.50%,从这个坑底回到前高需要再涨 3.63% 年化收益 ÷ 最大回撤 = 2.155,含义是「你每忍受 1 个百分点的最深回撤,换回多少个百分点的年化收益」。 它和夏普、索提诺的分子几乎一样,区别全在分母:夏普罚全部波动, 索提诺只罚下跌,卡玛只认最深的那一个坑。 注意卡玛依赖顺序:把同一串收益打乱重排,夏普一个字都不变,卡玛却会变。
年化是折算出来的,不是观测到的。这里把 12 期数据按每年 12 期直接放大。样本越短,放大出来的年化数字越不可靠—— 用一个季度的日线算出的「年化波动率」,只是说「假如全年都像这个季度这么抖」, 而市场恰恰不会一直像某一个季度。

逐期明细

第几期该期收益率偏离均值累计净值当期回撤偏离方向
12.40%1.77 pp102.40高于均值
2−1.80%−2.43 pp100.56−1.80%低于均值
33.10%2.47 pp103.67高于均值
40.60%−0.03 pp104.30低于均值
5−3.50%−4.13 pp100.65−3.50%低于均值
64.20%3.57 pp104.87高于均值
71.10%0.47 pp106.03高于均值
8−0.90%−1.53 pp105.07−0.90%低于均值
92.80%2.17 pp108.01高于均值
10−2.20%−2.83 pp105.64−2.20%低于均值
111.50%0.87 pp107.22−0.73%高于均值
120.30%−0.33 pp107.54−0.44%低于均值

本工具只做统计换算:算术均值、样本标准差(除以 n−1)、以无风险利率为门槛的下行标准差、 按每年固定期数做的平方根年化,以及按输入顺序折出净值曲线后取到的最大回撤。 它不判断某个夏普值或卡玛值算高还是算低,不含交易费用、税负与申赎摩擦, 也不识别你填的这串数字是回测结果还是实盘结果。序列顺序不影响标准差与夏普, 但会直接改变最大回撤与卡玛比率。

链接带当前参数,发给别人打开就是同一份结果。

怎么用

7 步
  1. 粘贴收益率序列:把一组周期收益率填进文本框,单位是百分数,逗号、空格或换行分隔都行,写成 2.4 或 2.4% 都能识别。至少要两个数才能算标准差。
  2. 选对周期类型:这串数字是日收益就选「日」,是月收益就选「月」。这一栏决定年化时乘的是根号 252 还是根号 12,选错会让波动率差出好几倍。
  3. 填无风险年化利率:填一个你认可的无风险收益口径,比如国债收益率或货币基金收益率。这个数直接从超额收益里扣,填得越高夏普越低。
  4. 读结果并看逐期明细:上方给出夏普、索提诺、卡玛与年化波动率、年化收益、最大回撤,下方表格逐期列出每期收益、偏离均值的幅度、累计净值与当期回撤。偏离越大的那几期,就是波动率的主要来源。
  5. 把三个比率横着对比:夏普罚全部波动、索提诺只罚下跌、卡玛只认最深的那一个坑。三个数放在一起看:如果卡玛明显比夏普难看,说明这条曲线平时挺稳,坑却挖得很深,标准差没把这件事说出来。
  6. 把序列打乱再算一遍:把同一串收益率换个顺序重新粘进去,夏普和索提诺一个字都不会变,卡玛和最大回撤却会变。这一步能直观看出「路径」这件事被标准差彻底忽略了。
  7. 换口径再算一遍:把无风险利率上下各调一档,或者换一段样本区间重算,看看夏普比率变化多大。稳不稳,比它本身是多少更值得关心。
深入讲解

夏普比率在衡量什么

单看收益率是没法比较两笔投资的。一个人一年赚 30%,另一个人赚 12%,谁做得更好? 答案取决于他们各自承担了多少波动。如果第一个人的净值在一年里上下翻腾了三四十个点, 而第二个人几乎是一条缓坡向上的线,那么第一个人只是把赌注下得更大,不一定更聪明。 夏普比率就是把这件事量化:分子是收益减去无风险收益的那部分,分母是收益率的标准差, 算出来的数字表示每承担一个单位的波动,能换回多少超额收益。

注意分子里减掉的那一项。躺着买无风险资产也能拿到一份收益,这部分不算本事, 必须先扣掉,剩下的才是承担风险换来的补偿。所以夏普比率衡量的从来不是「赚得多不多」, 而是「这份多赚的钱是不是买得划算」。

年化是折算,不是观测

工具里的年化波动率,是把样本标准差乘以根号周期数得到的:日频乘根号 252,月频乘根号 12。 这个做法背后有个很强的假设——每期收益互相独立、分布不变。它只是一个换算约定, 并不代表你真的观测到了一年的波动。样本越短,这层折算就越像放大镜: 六十个交易日的标准差本身估得就毛糙,再乘上十六倍左右的放大系数,误差同样被放大。

更隐蔽的问题是样本区间的选择。一段只有上涨的三个月,波动率会算得偏低,夏普自然好看; 把起点往前挪一个月,把那次下跌包进来,同一个策略的夏普可能直接腰斩。 所以看到一个漂亮的夏普数字,第一反应应该是问「这是哪段时间算的、包不包含完整的涨跌」, 而不是先信了再说。

无风险利率这一栏,会改变结论

这个工具刻意把无风险利率做成必填项,不给默认答案。原因是它没有唯一正确值: 有人用短期国债收益率,有人用货币基金的七日年化,有人干脆用银行定存利率, 期限选一年还是十年也是分歧点。这些口径之间差个一两个百分点很正常, 而这一两个百分点是从分子里直接扣的。

当两个对象的年化收益都不高、波动又接近时,换一个无风险利率口径足以让它们的排名对调。 结论就是:夏普比率不是一个能脱离上下文报出来的绝对数。你自己算的时候, 同一批对比对象必须锁死同一个口径、同一个期限、同一段样本区间; 别人报给你的时候,先问清楚这三件事,再决定要不要采信。

几个容易踩的坑

把波动率当成风险的全部。 标准差只描述收益率围绕均值的抖动幅度,它不认识流动性枯竭、不认识杠杆爆仓、 也不认识一只票停牌半年之后的复牌跳水。有些策略平时曲线极其平滑、夏普很高, 风险却全部压在尾部的小概率事件上,标准差在事发之前完全看不出这一点。

忽略了顺序不影响夏普。 把同一串收益率打乱重排,均值和标准差一个字都不变,夏普比率也不变。 但先跌 30% 再慢慢涨回来,和先涨上去再回撤 30%,持有体验和实际的加减仓行为天差地别。 想看清路径造成的伤害,得配合最大回撤一起看——工具里的卡玛比率就是干这件事的, 它把分母换成最大回撤,所以你打乱顺序重算一遍,卡玛会变而夏普不会。

拿不同频率的夏普直接对比。 日频算出来的年化波动率和月频算出来的往往对不上,因为收益率序列存在自相关时, 平方根法则就不成立了。跨频率比较之前,至少要确认两边用的是同一种频率的原始数据。

用夏普给自己的持仓打分,样本却只有几期。 标准差在小样本下极不稳定,几期数据算出来的夏普基本上是噪声。与其纠结那个三位小数, 不如老老实实积累更长的记录。

怎么用它做决策

最实用的用法是横向比,而不是看绝对值。把几个候选对象放在同一段区间、 同一个无风险利率口径下各算一遍,谁的单位风险回报更高一目了然。 第二个用法是做稳健性检验:把样本区间前后各挪一段重算,如果排名翻来覆去地变, 说明这个差距是噪声而不是能力。第三个用法是配合索提诺看波动的构成—— 索提诺只惩罚跌,如果它明显高于夏普,说明这个组合的波动主要来自向上跳, 夏普对它其实是不公平的。

还有一个反向用法:拿它去检验别人报给你的数字。有人说自己的策略年化 40%、夏普 3, 你可以倒推一下——分子接近 38 个百分点,那分母只能是十来个点的年化波动率, 也就是净值几乎不怎么抖却每年翻小一半。把这两个条件放在一起,它需要样本区间、 口径和运气三样都站在同一边。这个反推只要十几秒,比听半小时路演有用。

边界与假设

本工具只做统计换算:算术均值、样本标准差、以无风险利率为门槛的下行标准差、 按固定期数做的平方根年化,以及把收益率按输入顺序折成净值曲线(起点记作 100)后取到的最大回撤。 卡玛比率取的是「年化收益 ÷ 最大回撤」这一常见口径,分子不再扣无风险利率, 这一点与夏普、索提诺不同,跨平台对比前请先确认对方用的是哪种口径。 工具不含交易费用、申赎费与税负,不区分你填进去的是回测数据还是实盘记录, 也不判断某个夏普值或卡玛值算高还是算低。收益率序列一次最多接受 600 个数,超出部分会被截断。

风险提示:历史波动率与历史收益率都不能推断未来,过往业绩不代表未来表现。本工具仅为测算演示,不构成投资建议。

常见问题

8 条
夏普比率怎么计算?
公式是(组合年化收益率 − 无风险年化利率)÷ 年化波动率。分子是你比躺着拿无风险收益多赚的那部分,分母是这段时间收益率的标准差按周期数年化之后的结果。本工具的年化收益用几何法(把每期的 1+r 连乘再开根),波动率用样本标准差(除以 n−1)乘以根号周期数。日频按每年 252 期、周频按 52 期、月频按 12 期折算,这是行业里最常见的口径。
无风险利率填多少?会影响结论吗?
会,而且影响不小。无风险利率是直接从分子里减掉的,填 2% 和填 3% 之间差的这一个百分点,会原封不动地压低超额收益。如果两个产品的年化收益都不高、波动又接近,换一个无风险利率口径完全可能让排名颠倒。这个工具不替你预设任何数字,你可以填国债收益率、货币基金收益率或存款利率,关键是同一批对比对象必须用同一个口径、同一个期限,否则比出来的高低没有意义。
用三个月的数据算年化夏普,靠谱吗?
不靠谱。年化只是把短样本按每年固定期数放大,它假设「剩下的时间都和这段一样」,而市场恰恰不会。三个月的日线只有六十来个观测值,标准差本身的估计误差就很大,再乘以根号 252 放大,误差也被一起放大了。更麻烦的是短样本很可能整段都在单边行情里,既没有经历过下跌也没有经历过反弹,算出来的波动率会系统性偏低、夏普偏高。要用夏普做判断,样本至少覆盖一个完整的涨跌周期。
夏普比率多少算好?
这个工具不给答案,因为没有一个跨资产、跨周期通用的及格线。同一个策略在牛市里的夏普可以是熊市里的好几倍,股票型和债券型的夏普也不在一个尺度上比较。更有实操价值的做法是横向比:拿同类型、同期间、同无风险利率口径的几个对象放在一起看谁高,再看这个高低在换一段样本区间之后还站不站得住。一个只在特定区间里成立的高夏普,说明不了什么。
索提诺比率和夏普比率有什么区别?
分母不同。夏普用的是全部收益的标准差,涨得猛和跌得狠都算波动,都会被扣分;索提诺只统计低于门槛的那些期,也就是只惩罚下跌。本工具的门槛取的是折算到单期的无风险利率。如果一个组合的波动主要来自向上跳,它的索提诺会明显高于夏普,说明夏普高估了它的风险;反过来如果两者接近甚至索提诺更低,说明这段波动主要是跌出来的。两个一起看,比只看一个信息量大。
卡玛比率是什么?和夏普、索提诺差在哪里?
卡玛比率 = 年化收益 ÷ 最大回撤。它和夏普、索提诺的分子几乎是同一件事,真正的区别全在分母上:夏普的分母是全部收益的标准差,涨得猛也算波动、也要扣分;索提诺的分母只统计低于门槛那几期的下行标准差,只惩罚跌;卡玛的分母干脆换成最大回撤,也就是净值从历史最高点掉下去最深的那一次。为什么说它更贴近体感?因为标准差是一个抽象的离散度,你在持仓过程中感受不到「标准差 18%」,你感受到的是「账户从最高点回撤了 30%」。卡玛直接把这个数字放进分母,回答的是「我每忍受一个百分点的最深回撤,换回多少个百分点的年化收益」。本工具会把你填的收益率按顺序折成一条净值曲线(起点记作 100),再从中取出最大回撤来算卡玛,逐期明细里也能看到每一期的累计净值和当期回撤。
卡玛比率有什么缺陷?为什么有时显示「无法计算」?
不能。它最大的问题是只反映最坏的那一次,完全不反映频率。一条曲线一辈子就崩过一次 30%,和另一条每年都要来一次 28%,两者的最大回撤看起来差不多,卡玛也差不多,但后者的持有难度高得多。第二个问题是它对样本区间极度敏感:最大回撤是一个极值统计量,样本拉长几乎只会让它变大不会变小,所以三年期的卡玛和十年期的卡玛没法直接比,短样本的卡玛会系统性偏好看。第三,它依赖顺序。同一串收益率打乱重排,夏普和索提诺一个字不变,卡玛和最大回撤却会明显变化——这既是它的优点(终于把路径算进来了),也是它的脆弱之处(换一个起点重新截取,数字就变了)。实际用法是三个一起看:夏普看整体抖动,索提诺看跌的那部分,卡玛看最深的坑,三者背离的地方往往就是这条曲线真正的性格。至于「无法计算」,有两种成因:一是这段样本里最大回撤为零,净值从头到尾没有一期低于此前最高点,分母为零除不了——工具返回「无法计算」而不是一个无穷大的漂亮数字,这不代表没风险,只代表你截取的区间恰好没出现过回撤,单边上涨的短样本特别容易撞上,越是这时候越不该拿卡玛下结论;二是序列里存在单期跌幅达到或超过 100%,本金在数学上已经归零,几何连乘失去意义,分子都没有了。这两种情况都建议改看夏普和索提诺,或换一段更长、包含完整涨跌的样本重算。
为什么和某个平台展示的对不上?这个结果算税后费后吗?
常见有四个原因。一是周期折算的期数不同,有人日频用 250 有人用 252,年化波动率就会差一点。二是年化收益的算法不同,几何年化和「平均值乘以期数」的算术年化在波动大的样本里能差出不少。三是标准差除以 n 还是 n−1,样本小的时候差异更明显。四是无风险利率的口径和期限不一样。这些差异都属于口径问题,不是谁算错了,所以对比时要先统一口径。还有一层口径要注意:本工具只对你填进去的那串数字做统计换算,你填的是什么口径,算出来就是什么口径——它不替你扣税也不替你扣费。产品净值涨跌通常已扣管理费但没扣申赎费和你的税负;手工记的账户收益可能连佣金都没扣。想看真实到手的年化,先把每一笔实际现金流录进站内的 XIRR 计算器,再把那个结果拿回来当夏普的分子会更贴近现实。

本工具仅为测算演示,不构成投资建议。计算结果受输入假设影响,实际情况请以官方规定与金融机构公布为准。

回到计算器