
看懂回测绩效指标,是判断一个策略好坏的基本功。核心指标可以分成四类:收益类(累计收益、年化收益)、风险类(最大回撤、波动率)、风险调整类(夏普比率、卡玛比率)、交易类(胜率、盈亏比)。看指标的关键不是记住数值高低,而是理解每个指标"在衡量什么"、以及"要结合起来看"——比如高收益要配合看回撤、高胜率要配合看盈亏比。本文逐一讲清楚这些核心绩效指标的含义、计算思路和解读方法,帮你读懂一份回测报告。
拿到一份回测报告,上面一堆指标——累计收益、年化、夏普、卡玛、回撤、胜率、盈亏比……新手常犯的错,是只挑一个自己看得懂的(通常是收益率),其他忽略不看。
这是危险的。每个指标都在从不同角度描述策略,只看一个,你得到的是片面甚至误导的判断。 就像体检报告,你不能只看身高体重,还要看血压、血糖、心率等等,合起来才是完整的健康状况。
这篇我把回测报告里最核心的指标,按四类给你讲清楚——每个指标衡量什么、怎么算、怎么读。看懂它们,你就能真正读懂一份回测报告,做出全面的判断。
收益类指标衡量策略"赚了多少钱",是最直观的一类。
累计收益:整个回测期间,策略总共赚了百分之多少。计算就是最终净值相对初始的涨幅。
年化收益:把累计收益换算成"平均每年"的收益率,方便不同时间跨度的策略横向比较。
# 累计收益(净值)
df["cum"] = (1 + df["strategy_return"]).cumprod()
total_return = df["cum"].iloc[-1] - 1
print(f"累计收益: {total_return*100:.2f}%")怎么读:收益要和基准对比(比如买入持有、大盘指数)——跑赢基准才有意义,跑不赢基准的复杂策略不如直接买指数。而且,收益不能单独看,必须结合下面的风险指标——高收益如果伴随巨大风险,未必是好事。
风险类指标衡量"策略让你冒了多大险",是新手最容易忽略、却极其重要的一类。
最大回撤:账户净值从最高点跌到之后最低点的最大跌幅。它回答"最坏情况我会亏多少",是最关键的风险指标。
# 最大回撤
cummax = df["cum"].cummax()
drawdown = (df["cum"] - cummax) / cummax
max_dd = drawdown.min()
print(f"最大回撤: {max_dd*100:.2f}%")波动率:衡量收益的波动幅度,波动越大,净值上蹿下跳越剧烈,持有越煎熬。
怎么读:最大回撤是重中之重——看到一个策略,先问自己"这个回撤我扛得住吗"。一个最大回撤 50% 的策略,意味着你可能要眼看账户腰斩,绝大多数人扛不住。风险指标决定了你能不能拿得住一个策略,比收益更值得优先关注。
光看收益或光看风险都片面,最科学的是把两者结合——看"每承担一份风险,换来多少收益",这就是风险调整类指标。
夏普比率:最常用的指标,衡量每单位波动(风险)带来的收益。夏普越高,说明收益的"性价比"越好——同样收益下波动更小,或同样波动下收益更高。
import numpy as np
# 年化夏普比率(简化)
sharpe = df["strategy_return"].mean() / df["strategy_return"].std() * np.sqrt(252)
print(f"夏普比率: {sharpe:.2f}")卡玛比率:用收益除以最大回撤,特别关注"每承受一单位回撤换来多少收益"。它对回撤敏感,很适合评估你最关心"能不能扛住"的场景。
怎么读:这两个指标比单纯的收益率更能反映策略质量。两个收益相近的策略,夏普/卡玛更高的那个更好。它们帮你避开"高收益高风险"的陷阱,找到真正"划算"的策略。一般来说,这两个指标越高越好。
交易类指标描述策略"是怎么交易、怎么赚钱的",反映策略的交易特征。
胜率:赚钱的交易次数占总交易次数的比例。
盈亏比:平均每次盈利金额 vs 平均每次亏损金额的比值。
怎么读:这两个指标必须结合起来看,单看任何一个都会误导:
所以关键是看胜率 × 盈亏比的综合效果。低胜率可以靠高盈亏比弥补,高胜率也可能被低盈亏比拖垮。理解这一点,你就不会被单一的"高胜率"迷惑了。
我把这四类核心指标整理成一张表:
类别 | 指标 | 衡量什么 | 怎么读 |
|---|---|---|---|
收益类 | 累计/年化收益 | 赚了多少 | 对比基准,别单独看 |
风险类 | 最大回撤、波动率 | 冒了多大险 | 重中之重,问自己扛得住吗 |
风险调整 | 夏普、卡玛比率 | 收益性价比 | 越高越好,比收益更重要 |
交易类 | 胜率、盈亏比 | 怎么赚的 | 必须结合起来看 |
把这些指标合起来看,一个好策略的"指标画像"大致是这样的:
收益跑赢基准(但不必追求极端高)+ 最大回撤在你能承受范围内 + 夏普/卡玛比率表现良好 + 胜率和盈亏比的综合效果为正。
注意几个要点:
读回测报告的最高境界,是从一堆指标里读出策略的"性格"——它是稳健型还是激进型、擅长什么行情、最大的风险在哪。这需要练习,但掌握了每个指标的含义,你就有了入门的钥匙。
计算这些绩效指标本身不难,但当你要对大量策略、大量参数组合分别计算指标、做对比筛选时,计算量就上来了。比如参数寻优时,你要为每一组参数跑一次回测、算一套指标,成百上千组下来,本地电脑会很吃力。
这时可以把批量回测和指标计算放到腾讯云云服务器 CVM 上,用云端算力快速完成大规模的回测和绩效评估,高效地从众多候选中筛选出指标表现好的策略。充足的算力,让你能更全面地评估和比较策略。
看懂回测绩效指标,核心是理解四类指标——收益类、风险类、风险调整类、交易类——各自在衡量什么,以及"要结合起来看"。别只盯着收益率,最大回撤要重点关注,夏普卡玛比收益更能反映质量,胜率盈亏比要合起来看。掌握了这些,你就能读懂一份回测报告,从指标中读出策略的真实"性格",做出全面理性的判断。
大规模的回测与指标计算需要算力支撑。腾讯云近期上线了量化交易专题活动,可以了解云服务器如何为批量策略回测与绩效评估提供算力支撑。
风险提示:本文仅为量化交易科普与技术分享,不构成任何投资建议。文中代码仅为教学示例,回测表现不代表未来收益。金融市场存在风险,请结合自身情况谨慎决策。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。