夏普比率

夏普比率(Sharpe ratio)是一组收益序列的均值除以同一序列的标准差,衡量的是每承受一单位离散度换来了多少成绩。在以单笔交易为单位的分析里,通常按每笔交易计算,并且不做年化。

Senzoukria · 术语表 · 更新于 2026 年 9 月


定义

取一组收益序列。如果有参照收益就先减掉,算出均值,再除以同一序列的标准差。结果是无量纲的:一个平均盈利大、离散度也大的策略,可能和一个平均盈利小、离散度也小的策略拿到相同的分数。

在主观交易和日内期货交易里,这个序列通常是一串以跳数、美元或 R 计的交易结果,参照收益取零。这样得到的是每笔交易的夏普比率。年化夏普比率是把单期数值乘以「一年内期数」的平方根,这就默认了各期之间相互独立且同分布。

每笔口径 对 年化口径

  • 每笔夏普比较的是交易频率相同的策略。它没法拿一个日内剥头皮者去和一个波段交易者比较。
  • 把一个交易时段年化,等于假设这一年长得和这个时段一样。在很短的样本上,年化数字主要是那个乘数造出来的产物。
  • 这个比率对上行离散和下行离散一视同仁地惩罚。索提诺比率(Sortino ratio)则只除以下行离散度。
  • 少数几笔大额盈利会同时抬高均值和离散度,所以即便资金曲线看起来很漂亮,比率也可能依然平平。

在 Senzoukria 里

桌面端「回放」的绩效面板会报出「夏普 / 每笔」,并附提示:均值 / 标准差,未做年化——把一个交易时段年化,就等于假设这一年长得和它一样。旁边紧挨着「索提诺 / 每笔」。当样本小到这些比率没有意义时,同一个面板会发出警告;它把数字显示出来,是因为它们算得准确,而不是因为它们有统计意义。

在回测面板里,每笔夏普是前推优化器可以最大化的三个目标函数之一,另外两个是每笔期望和 SQN。还有一张「滚动夏普」图,按最近 N 个交易日衡量,能显示出「全时期的一个数字」会在哪里掩盖掉一条中途就不再奏效的策略。

常见错误

  • 拿基金报告里的年化夏普,去和回测里的每笔夏普作比较。
  • 在寥寥几笔交易上读夏普比率。小样本的标准差本身就不稳定。
  • 忽视了挑选这件事:一大堆配置里最高的那个夏普,会被试验次数抬高。参见紧缩夏普比率。
  • 把夏普比率当成回撤的度量。它对收益出现的先后顺序一言不发。

其他语言版本

常见问题

夏普比率会是负数吗?
会。当平均收益低于参照收益时,分子为负,比率也为负。负的夏普依然携带着关于离散度的信息,但两个负值之间的比较很难解读:离散度更大反而会让比率显得没那么负。
桌面端为什么拒绝把夏普比率年化?
年化是把单期数值乘以每年期数的平方根,这默认了每一期都和样本长得差不多。一个回放时段或一次短回测,代表不了一整年的交易。桌面端只给出每笔口径的数字,把「更长的样本是否足以支撑一次外推」的判断留给你。

继续阅读