指标·术语表

什么是夏普比率?公式、局限与真实数据

夏普比率是平均收益除以这些收益的波动率。本文介绍公式、我们如何逐笔计算,以及为什么我们的中位数是 0.05。

夏普比率是平均收益除以这些收益的标准差,也就是账户每承受一单位波动,换来多少收益。两个账户一年下来增长一样,夏普比率却可能差很多:比率高的那个,一路走得更平稳。

工作原理

教科书上的定义用的是周期收益,并减去无风险利率:

夏普比率 = (平均收益 − 无风险利率) / 收益的标准差

ShowMyTrades 按已平仓交易计算,而不是按日历周期,也不减去无风险利率:

夏普比率 = 每笔交易结果的均值 / 每笔交易结果的标准差

每笔交易按“盈利 + 佣金 + 库存费”计入序列,所以输入已经扣除了成本。只统计已平仓的买入和卖出交易:入金、出金和余额操作在生成序列之前就已剔除。分母是同一序列的总体标准差(距离平方和除以交易笔数,而不是笔数减一)。所以在我们的统计表里,标准差就排在这个比率正上方:它就是那个除数。已平仓交易不足两笔的账户显示 0.00。

按笔而不是按月计算,意味着这个数字没有年化,常见的经验标准也就用不上。“高于 1.0 算好,高于 2.0 算优秀”,说的是基于周期收益的年化夏普比率。在逐笔序列上,1.00 意味着平均每笔交易值整整一个交易结果标准差:交易笔数足以说明问题的账户,几乎没有能达到的。

为什么重要

只看增长,只知道账户最后停在哪里;夏普比率还能说明它是怎么走过来的。优势小但可靠、反复执行的策略,比率不高,但为正;靠两笔运气交易撑起来的策略,均值很大,离散程度却更大,比率随之一落千丈。

有些图表只是看起来平滑,夏普比率能诚实地戳穿它,而它用的正是计算盈利因子的同一批已平仓交易。

它做不到的,是区分好的波动和坏的波动。一笔向上大幅偏离的交易,和一笔向下大幅偏离的交易,把分母抬高的幅度完全一样。索提诺比率正是为了回应这一质疑而诞生的。

数据显示了什么

以下数字描述的是 ShowMyTrades 上已发布的账户,不代表全体交易者。在有交易历史的已发布账户中(2026 年 8 月),夏普比率中位数为 0.05,已平仓交易数中位数为 171 笔,持仓时间中位数为 2.4 小时。

用我们自己的公式来读,0.05 的含义很具体:在中位数账户上,平均每笔交易约值交易结果标准差的二十分之一,差不多是二十份噪音对一份信号。这并不说明这些账户都很失败:时间加权收益率中位数为 +3.2%,长期为正的占 63.0%。真实的优势落到单笔交易上,就是这个样子。

这也说明了短样本为什么什么都证明不了。在这样的信噪比下,一个毫无优势的账户连赢二十笔也很平常,而一个确有优势的账户亏上一周,也说明不了任何问题。

在 ShowMyTrades 上的位置

账户页面的高级统计模块里,表现指标一栏中有一行,标签正是夏普比率,并附有提示说明。它的正上方是它自己的分母标准差,正下方是夏普比率(年化)(以净值的日收益率计算,再乘以 √252 年化;账户历史不足 30 个工作日时显示为 n/a),旁边是盈利因子、Z 值(概率)、期望值、AHPR 和 GHPR。它由我们的服务器根据存储的已平仓交易计算,保留两位小数,1.00 及以上显示绿色,0 到 1 显示黄色,低于零显示红色。在已发布的账户页面上,这个模块默认显示,不过账户主人可以隐藏它;可嵌入的小组件里没有这个模块。

关于我们自己的页面,要提醒一点:逐笔那一行标签的提示说明里,引用的仍是常规区间,即高于 1.0 算好、高于 2.0 算优秀。这些区间适用于下面的年化那一行,而不是旁边显示的逐笔数值。

同一模块提供表格、星期、小时和持续时间视图;自定义分析会在筛选出的子集上重新计算整个模块,可按日期范围、品种、魔术号、交易类型、交易时段、手数等筛选。把账户表现最好的品种去掉再算一次夏普比率,就能看出这个比率描述的是一套系统,还是一段插曲。

常见误解

  • “高于 1.0 就是好。”这话适用于基于周期收益的年化夏普比率,也就是夏普比率(年化) 那一行。普通的夏普比率是逐笔计算的,这个门槛对它不适用。
  • “夏普比率衡量的是风险。”它衡量的是已平仓交易结果的离散程度,至于账户曾经跌得多深,它一无所知:那是回撤,另有单独的数字。
  • “夏普比率高,账户就安全。”网格和摊平系统的已平仓结果之所以紧凑均匀,恰恰是因为它们不肯把亏损单平掉。浮动亏损永远进不了这个序列。
  • “我的夏普比率可以和任何账户比较。”只有交易频率和持仓周期相当时才行:每月平仓 200 笔的剥头皮交易者和每月平仓 8 笔的波段交易者,用的根本不是同一把尺子。

夏普比率和账户页面上其他数字怎么对照着看,请参阅如何读懂交易账户控制台指南。