9.5 风险调整收益:为什么高收益不一定好
课前导读
本节目标
你将学会:把“赚了多少”升级为“冒了多大波动和回撤才赚到”。 适合基础:已经知道资金曲线、波动率、最大回撤、胜率和盈亏比的 A 股新手。 预计用时:约 40 分钟。 本节产出:完成一张风险调整收益评分表,知道夏普和索提诺能提醒什么,也知道它们不能替你做什么。
知识正文
1. 先用开车路线理解收益质量
从城市 A 到城市 B,有两条路线。
第一条路线很快。
它只需要 3 小时。
但一路急刹、急转、陡坡、窄桥,坐在车里的人非常紧张。
第二条路线需要 4 小时。
它慢一点,但道路平稳,休息点清楚,几乎没有惊吓。
如果只看“到达时间”,第一条路线更好。
如果还看“乘坐体验”和“中途翻车概率”,第二条路线可能更值得选择。
投资收益也是这样。
年化收益高,像是到达得快。
波动大、回撤深,像是一路颠簸甚至中途掉头。
风险调整收益要回答的问题是:这份收益是轻松赚到的,还是用很大的不确定性换来的?
直觉提醒
同样赚 20%,如果一条资金曲线平稳向上,另一条先腰斩再反弹,它们给投资者的真实体验完全不同。
2. 为什么高收益不一定好
新手最容易被最终收益吸引。
看到策略 A 回测三年赚 120%,策略 B 赚 60%,就以为 A 一定更强。
但我们必须追问四件事。
第一,中间最大亏过多少?
第二,资金曲线每天上下波动有多大?
第三,亏损持续了多久才恢复?
第四,这种收益是否依赖少数几天的大涨?
如果策略 A 曾经最大回撤 45%,很多普通投资者可能在最低点附近放弃。
如果策略 B 最大回撤只有 12%,虽然最终收益低一些,却更容易被长期执行。
一个不能被执行下去的高收益策略,对真实学习者并不友好。
所以我们需要“风险调整”的视角。
它不是否定收益。
它是给收益加上一个问题:为了这份收益,你承受了多少颠簸?
3. 波动率:资金曲线的颠簸程度
波动率可以先理解为“每天收益上下晃动的幅度”。
如果某策略经常一天涨 4%、第二天跌 5%、第三天又涨 6%,它的波动率通常较高。
如果另一策略多数日子在 -0.5% 到 +0.8% 之间变化,它的波动率通常较低。
波动率不等于亏损。
上涨也会贡献波动。
但对持有人来说,波动越大,越容易产生情绪压力。
在 A 股语境下,个股涨跌停、题材轮动、成交活跃度变化,都可能让波动突然放大。
回测时看到高收益,必须同时看波动率。
如果收益来自剧烈波动,策略的持有体验可能并不适合新手。
4. 夏普比率:每承受一份总波动,换来多少额外收益
夏普比率可以先不背复杂定义。
它的直觉是:单位颠簸带来的收益。
简化写法是:
无风险收益可以理解为非常稳健资金的基准收益。
教学练习中,为了看清结构,可以先把它近似为 0。
真实比较时,应该在同一批策略中使用同一个口径。
如果策略年化收益 20%,年化波动率 10%,简化夏普约为 2。
如果策略年化收益 30%,年化波动率 40%,简化夏普约为 0.75。
第二个策略收益更高,但每一份波动换来的收益更少。
这就是夏普的价值。
它逼我们不只问“赚多少”,还问“晃多大”。
使用边界
夏普比率会把上涨波动和下跌波动都算作波动,因此它不适合单独描述“最痛苦的亏损体验”。
5. 索提诺比率:更关注下跌带来的痛感
有些投资者会说:上涨很猛我不怕,我怕的是下跌。
这时可以认识索提诺比率。
它的直觉是:每承受一份下跌波动,换来多少收益。
简化写法是:
下行波动率只关注低于目标收益的那些日子。
目标收益可以设为 0,也可以设为一个保守基准。
如果一个策略经常大涨小跌,夏普可能被大涨波动拉低。
索提诺会相对更宽容。
如果一个策略经常小涨大跌,索提诺会更敏感。
对 A 股新手来说,不需要一开始就追求复杂计算。
你只要记住:夏普看整体颠簸,索提诺更关心下跌颠簸。
6. 风险调整收益必须和回撤一起看
夏普和索提诺都很有用。
但它们不能替代最大回撤。
原因很简单。
波动率是“日常晃动”的统计。
最大回撤是“从高点跌到低点”的真实伤口。
有些策略平时很稳,偶尔遇到极端行情突然大跌。
这种策略可能在平常样本里夏普不错,但最大回撤很吓人。
所以评估策略时,至少要把下面四个指标放在一起。
| 指标 | 它回答的问题 | 新手解读 |
|---|---|---|
| 年化收益 | 长期大约赚多少 | 目的地有多远 |
| 年化波动率 | 路上有多颠 | 持有过程是否难受 |
| 最大回撤 | 最深伤口有多深 | 最差阶段能否扛住 |
| 夏普或索提诺 | 收益和风险是否匹配 | 每份颠簸是否值得 |
一个策略如果年化收益很高,但回撤也极深,不能简单说它优秀。
一个策略如果收益中等,但波动和回撤都较低,也可能更适合长期学习和执行。
7. A 股案例:两条资金曲线的选择
假设我们回测两套 A 股策略。
它们都不使用真实外部数据,只是为了训练判断。
| 指标 | 策略甲:强势轮动 | 策略乙:稳健筛选 |
|---|---|---|
| 年化收益 | 32% | 18% |
| 年化波动率 | 38% | 12% |
| 最大回撤 | 34% | 10% |
| 最长恢复期 | 8 个月 | 2 个月 |
| 简化夏普 | 0.84 | 1.50 |
策略甲看上去更刺激。
它可能在题材行情中快速上涨。
但它也可能在风格切换时大幅回撤。
策略乙看上去不够耀眼。
但它每承受一份波动换来的收益更多。
对专业老师来说,这张表说明收益必须放进风险框架里讲。
对投资者来说,这张表是在问:你能不能接受 34% 的回撤和 8 个月恢复期?
对量化开发者来说,这张表提示:不要只用最终净值排序策略。
8. 用 pandas 做一个最小计算示例
下面代码只演示思路。
假设 daily_returns 是策略每日收益率。
import numpy as np
import pandas as pd
daily_returns = pd.Series([0.006, -0.003, 0.004, -0.012, 0.009, 0.002, -0.004])
annual_return = (1 + daily_returns).prod() ** (252 / len(daily_returns)) - 1
annual_volatility = daily_returns.std() * np.sqrt(252)
sharpe = annual_return / annual_volatility
downside = daily_returns[daily_returns < 0]
downside_volatility = downside.std() * np.sqrt(252)
sortino = annual_return / downside_volatility
print(annual_return, annual_volatility, sharpe, sortino)这里的 252 是常见的年交易日近似数。
annual_return 把一小段收益年化。
样本很短时,年化结果会非常不稳定。
所以代码的重点不是得出结论,而是看清计算口径。
annual_volatility 用每日收益的标准差近似波动。
downside 只保留亏损日。
sortino 用下行波动作为分母。
如果亏损日太少,索提诺可能被计算得很夸张。
这时不要被一个漂亮数字迷惑。
9. 使用边界:指标不是裁判,是体检表
夏普和索提诺不是万能裁判。
它们依赖样本。
样本越短,越容易偶然好看。
它们依赖收益分布。
如果策略收益经常出现极端单日亏损,普通波动指标可能低估痛感。
它们依赖数据质量。
如果回测没有处理停牌、涨跌停无法成交、复权口径等问题,指标再漂亮也不可靠。
它们还依赖成本假设。
如果没有扣除交易成本,高换手策略的风险调整收益可能被高估。
所以风险调整收益要和前面学过的资金曲线、回撤、胜率、盈亏比一起看。
不要把任何单一指标神化。
10. 一个可执行的判断流程
评估一套策略时,可以按下面顺序提问。
第一,最终收益是否为正?
第二,最大回撤是否在自己能承受的范围内?
第三,年化波动率是否明显过高?
第四,夏普或索提诺是否比同类策略更好?
第五,收益是否来自少数几笔或少数几天?
第六,加入合理成本后是否仍然成立?
这个流程不需要你成为数学专家。
它要求你不要被单一亮点带偏。
一套成熟的交易系统,应该在多个维度上经得起追问。
交互实验室
练习 1:给两套策略打分
请阅读下面表格,给每项打 1 到 5 分。
5 分代表更适合长期执行。
| 维度 | 策略甲 | 策略乙 | 你的评分依据 |
|---|---|---|---|
| 年化收益 | 28% | 16% | 收益越高越好,但不能单独看 |
| 年化波动率 | 30% | 11% | 波动越低,持有越平稳 |
| 最大回撤 | 25% | 9% | 回撤越低,心理压力越小 |
| 简化夏普 | 0.93 | 1.45 | 单位波动收益越高越好 |
| 最长恢复期 | 7 个月 | 2 个月 | 恢复越快,执行越容易 |
请先独立选择你更愿意研究哪套策略。
然后写下理由。
不要只写“收益高”。
至少要同时提到收益、波动和回撤。
练习 2:识别漂亮数字背后的风险
下面是一个策略介绍。
“过去三年累计收益 150%,年化收益很高,最近半年表现尤其突出。”
请补问五个问题。
第一,最大回撤是多少?
第二,最长回撤恢复期多久?
第三,年化波动率是多少?
第四,夏普和索提诺分别是多少?
第五,收益是否集中在少数交易日或少数股票?
如果这些问题没有答案,就不要急着相信高收益结论。
练习 3:写一段风险调整结论
请用下面模板写一句策略评价。
“策略 A 的年化收益为 ___,但年化波动率为 ___,最大回撤为 ___。如果只看收益,它看起来 ___;如果结合风险调整收益,它更像是 ___。”
示例:
“策略 A 的年化收益为 30%,但年化波动率为 35%,最大回撤为 28%。如果只看收益,它看起来很强;如果结合风险调整收益,它更像是一条速度快但颠簸大的路线。”
这个练习的目的,是训练你用完整句子表达风险。
能表达清楚,才更容易做出稳定决策。
核心复盘
知识清单:
- [ ] 高收益不一定好,必须同时观察波动、回撤和恢复期。
- [ ] 夏普比率的直觉是每承受一份总波动,换来多少收益。
- [ ] 索提诺比率更关注下跌波动,适合补充观察痛感。
- [ ] 最大回撤不能被夏普或索提诺替代。
- [ ] 小样本、极端亏损、数据质量和成本假设都会影响指标可信度。
- [ ] 策略评估要用组合视角,不要让单一指标当裁判。
金句总结
“真正优秀的收益,不只是跑得快,还要让你有足够的信心坐完全程。”