读懂回测报告:年化收益、最大回撤、夏普比率、胜率、盈亏比

青 青柠量化
2026-10-11
沪深300年线择时10年涨27%、回撤29%,买入持有只涨16%却回撤46%,20日线择时反而亏27%。

一句话结论:回测报告要成组看。收益看年化,风险看最大回撤,两者合起来看夏普比率;胜率和盈亏比必须一起看。沪深 300「站上年线持有」胜率只有 19.2%,却跑赢了买入持有;一条胜率 64.5% 的个股规则,10 年下来是亏的。

上一课说了回测不能只看收益率。这一课把一份回测报告里最常见的五个指标逐个讲清楚,并用同一份数据把它们放在一起比较。

沪深300年线择时10年涨27%、回撤29%,买入持有只涨16%却回撤46%,20日线择时反而亏27%。
沪深300年线择时10年涨27%、回撤29%,买入持有只涨16%却回撤46%,20日线择时反而亏27%。

一、五个指标,各回答一个问题

指标回答的问题计算方法
年化收益平均每年赚多少(期末净值 ÷ 期初净值) 的 (1 ÷ 年数) 次方,再减 1
最大回撤中途最多亏过多少净值从历史最高点跌到之后最低点的幅度
夏普比率每承担一份波动,换来多少收益(年化收益 − 无风险利率) ÷ 年化波动率
胜率赚钱的交易占多少盈利笔数 ÷ 总笔数
盈亏比赚的时候赚多少、亏的时候亏多少平均每笔盈利 ÷ 平均每笔亏损(取绝对值)

年化收益:把不同长度的回测放到一起比

「累计赚了 100%」,用了 2 年和用了 10 年完全不是一回事:前者年化 41%,后者年化 7%。所以比较策略时先看年化。

最大回撤:你能不能坚持到最后

最大回撤是中途最难熬的那一段。回撤越深,回本越难:

回撤需要涨多少才能回本
−10%+11%
−30%+43%
−50%+100%

一个年化 20% 但中途亏过 60% 的策略,大多数人在亏到一半时就放弃了。

夏普比率:收益和波动放在一起看

两个策略都年化 10%,一个每天上蹿下跳,一个走得很稳,夏普比率会区分出来:波动越小,夏普越高。

无风险利率是不承担风险也能拿到的收益,中国常用 1 年期国债收益率(2026 年 10 月约 1.2%),也有人直接取 0。本课按 0 和 2% 各算一次。

经验上,夏普大于 1 已经很不错,小于 0 说明还不如存钱。

胜率和盈亏比:必须一起看

这两个指标单独看都没有意义。它们之间有一条简单的关系:

保本胜率 = 1 ÷ (1 + 盈亏比)

盈亏比至少要多高的胜率才不亏
0.566.7%
150%
233.3%
325%
811.1%

盈亏比越高,需要的胜率越低。下面的数据会让你看到:胜率 19% 的策略可以赚钱,胜率 64% 的策略可以亏钱。


二、青柠数据实验 1:沪深 300 的三份回测报告

我们用沪深 300 指数,从 2016 年 1 月到 2026 年 10 月,比较三种做法:

  • – S1 买入持有:第一天买入,一直拿着。
  • – S2 年线择时:收盘站上 250 日均线(年线)就持有,跌破就空仓。
  • – S3 20 日线择时:收盘站上 20 日均线就持有,跌破就空仓。

择时都是收盘判断、第二天执行,每次买卖扣 0.1% 成本。

指标S1 买入持有S2 年线择时S3 20 日线择时
总收益+15.6%+26.9%−26.5%
年化收益1.36%2.24%−2.82%
年化波动18.9%13.7%12.5%
最大回撤−45.6%−29.0%−42.6%
夏普比率(无风险利率 0)0.170.24−0.18
夏普比率(无风险利率 2%)0.060.09−0.33
交易次数126157
胜率100%19.2%21.0%
平均盈利—+12.97%+4.60%
平均亏损—−1.67%−1.41%
盈亏比—7.753.27
平均持有全程56 天8.5 天
最长连续亏损012 笔18 笔

逐个指标读这份报告:

  1. 1. 年化收益:S2 最高,但也只有 2.24%。这 10 年沪深 300 整体涨得不多,任何做法的绝对收益都不高。
  2. 2. 最大回撤:买入持有从 2021 年 2 月的高点跌到 2024 年 9 月,回撤 45.6%,要涨 84% 才能回本。年线择时的最大回撤是 29.0%,少亏了三分之一。
  3. 3. 夏普比率:S2 收益更高、波动更低,所以夏普最高。但按 2% 无风险利率算只有 0.09,说明扣掉存款利息后,承担这么多波动并不划算。
  4. 4. 胜率:买入持有只有 1 笔交易,胜率 100% 没有任何参考价值。S2 的 26 笔里只有 5 笔赚钱。
  5. 5. 盈亏比:S2 赚钱的那几笔平均赚 13%,亏钱的平均只亏 1.7%,盈亏比 7.75。按上面的公式,它只需要 11.4% 的胜率就能保本,实际是 19.2%,所以赚钱。

胜率差不多,为什么一个赚一个亏

S2 和 S3 的胜率很接近(19.2% 和 21.0%),结果一个赚 27%,一个亏 27%。区别在盈亏比:

S2 年线择时S3 20 日线择时
胜率19.2%21.0%
盈亏比7.753.27
保本需要的胜率11.4%23.4%
结果胜率高于保本线,赚钱胜率低于保本线,亏钱

20 日线离价格太近,股价稍有波动就来回穿越,交易了 157 次,每次都扣成本,赚钱的那几次又赚得不够多。

每年的表现

年份S1 买入持有S2 年线择时S3 20 日线择时
2016−11.4%−5.5%−5.8%
2017+21.8%+21.8%+8.4%
2018−25.3%−7.5%−15.2%
2019+36.1%+16.3%+24.6%
2020+27.2%+12.1%+1.7%
2021−5.2%−5.6%−17.0%
2022−21.6%0.0%−7.8%
2023−11.4%−12.4%−13.5%
2024+14.7%+6.1%+8.0%
2025+17.7%+12.8%+2.7%
2026−6.8%−7.6%−8.9%

年线择时的作用很清楚:熊市少亏,牛市少赚。 2018 年少亏了 18 个百分点,2022 年整年空仓没亏钱;但 2019 年、2020 年也少赚了一大截。它也不是每年都有效:2023 年反而比买入持有多亏了 1 个百分点。


三、青柠数据实验 2:高胜率为什么会亏钱

择时策略交易次数少。我们再用个股做一次,交易次数多到 100 万笔,看得更清楚。

  • – 入场:收盘价创 20 日新高,第二天开盘买入;一字涨停买不进的剔除。
  • – 区间:2016 年 1 月至 2026 年 10 月,全 A 股,排除 ST 和北交所。
  • – 成本:每笔来回 0.15%。
  • – A 股 T+1:买入当天不能卖,从第二天收盘开始判断止盈止损,触发后再下一天开盘卖出。

只换出场:

  • – P1 小赚就跑:赚 2% 止盈,亏 8% 止损,最长持有 20 天。
  • – P2 让利润跑:赚 25% 止盈,亏 8% 止损,最长持有 20 天。
  • – P3 不设止盈止损:固定持有 20 天。
指标P1 小赚就跑P2 让利润跑P3 固定持有
交易笔数999,317999,317999,317
胜率64.5%40.7%45.2%
平均盈利+4.88%+12.29%+11.90%
平均亏损−9.00%−8.32%−9.42%
盈亏比0.541.481.26
保本需要的胜率64.9%40.3%44.2%
平均每笔收益−0.05%+0.08%+0.23%
最差一笔−45.1%−45.1%−78.3%
保本线上方是赚钱区:年线择时胜率仅19%却赚钱,小赚就跑胜率65%却亏钱。
保本线上方是赚钱区:年线择时胜率仅19%却赚钱,小赚就跑胜率65%却亏钱。

P1 的胜率高达 64.5%,三笔里赢两笔,看起来是最好的策略。但它赢的时候平均赚 4.9%,输的时候平均亏 9.0%,盈亏比只有 0.54,保本需要 64.9% 的胜率。胜率差了 0.4 个百分点,100 万笔交易下来是亏的。

P2 胜率只有 40.7%,十笔里输六笔,但平均每笔是赚的。

注意 P1 设的止盈是 2%,平均盈利却有 4.9%;止损是 8%,平均亏损却有 9%。这是因为 A 股收盘才确认触发、第二天开盘才卖,中间的跳空会让实际成交偏离止盈止损线。

还要诚实地说一句:P2 和 P3 的优势也很薄,每笔不到 0.25%,而且有一半以上年份是亏的,主要靠 2019 年、2021 年和 2025 年。这个实验想说明的是指标怎么读,不是推荐哪条规则。


四、读回测报告的顺序

拿到一份回测报告,可以按这个顺序看:

  1. 1. 先看交易次数。 只有几笔交易,所有指标都不可信。
  2. 2. 看年化收益和最大回撤。 能赚多少、最多亏过多少,这两个数要一起记住。
  3. 3. 看夏普比率。 收益和波动的综合评价,低于 0.5 要谨慎。
  4. 4. 胜率和盈亏比一起看。 用「保本胜率 = 1 ÷ (1 + 盈亏比)」算一下,实际胜率比保本线高多少。
  5. 5. 最后看分年度。 是每年都稳定,还是靠一两年。

五、常见误区

「胜率越高越好」
P1 胜率 64.5%,照样亏钱。胜率高往往是因为赚一点就走、亏了死扛,盈亏比会很低。

「夏普比率高就是好策略」
夏普只衡量收益和波动的关系。交易次数很少、或者只在某几年有效的策略,夏普也可能很高。

「最大回撤只发生一次,不用在意」
回撤 45% 的那段时间,买入持有用了三年半才走到谷底。最大回撤决定了你会不会中途放弃。

「总收益最高的策略最好」
总收益不考虑时间长短和中途风险。至少要换算成年化,再和最大回撤一起看。


在青柠中实操

  1. 1. 在策略编辑里写一条均线择时策略:收盘价上穿 250 日均线买入,下穿卖出,对沪深 300 跑一次回测。
  2. 2. 把 250 改成 20,再跑一次,对比两份报告里的年化收益率、最大回撤、夏普比率、胜率和盈亏比。
  3. 3. 在出场设置里分别设「固定止盈 2%、止损 8%」和「固定止盈 25%、止损 8%」,用批量回测在全市场跑,看胜率和盈亏比怎么此消彼长。

青柠的回测报告直接给出这几个指标,还有每一笔交易的明细。想先看看别人的策略报告,可以去青柠策略市场:

策略库回测 · 沪深A股 · 近 1 年日 K · 默认参数 更新于 2026-09-11 19:02 · 每日重算
# 策略 类型 年化收益 夏普 最大回撤 胜率 评级
01 左侧趋势抄底·急跌收阳 趋势 +1.3% 0.85 16.4% 83% A 导入复现
02 MACD金叉死叉 趋势 +0.9% 0.08 20.8% 35% PRO 导入复现
03 RSI超买超卖 震荡 +0.8% 0.23 30.8% 45% PRO 导入复现

第一章到这里结束。下一章开始上手青柠:第 6 课讲安装青柠和同步数据。


常见问题

夏普比率多少算好?
大于 1 算不错,大于 2 很少见。本课沪深 300 的三种做法都低于 0.3,说明这 10 年 A 股大盘指数本身的收益风险比并不高。

盈亏比和利润因子有什么区别?
盈亏比是平均每笔盈利除以平均每笔亏损;利润因子是全部盈利加总除以全部亏损加总,它同时包含了胜率的信息。利润因子大于 1 就是赚钱的。

为什么年化收益和总收益对不上?
年化是复利计算的。10 年总收益 26.9%,年化不是 2.69%,而是 2.24%。

卡玛比率是什么?
年化收益除以最大回撤,衡量「每承受 1% 的回撤,换来多少年化收益」。S2 年线择时是 0.08,买入持有是 0.03。


口径说明

沪深 300 使用指数日线(000300.SH,价格指数,不含分红),区间 2016-01-04 至 2026-10-09,共 2,613 个交易日。择时策略收盘判断、次日持仓,每次换仓扣 0.1%;买入持有期初扣 0.1%。年化收益按日历天数计算;年化波动为日收益标准差乘以 √252;夏普比率用日超额收益年化。个股实验股票池为全 A 股,排除 ST(按当前名称)和北交所,价格后复权;入场为收盘价高于前 19 日最高收盘价,同一股票连续创新高会记为多笔交易;次日一字涨停视为买不进;止盈止损按收盘价相对买入价判断,最早从买入次日收盘开始,触发后次日开盘卖出,最长持有 20 天;每笔来回扣 0.15%;未模拟跌停卖不出。数据由青柠量化回测数据库计算。历史统计不代表未来表现,不构成投资建议。

读到这里,不如自己验证一次

文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。

免费下载客户端

写下你的看法

邮箱仅用于回复通知,不会公开。