作者:老余捞鱼
原创不易,转载请标明出处及原作者。

写在前面的话:本文基于多位量化领域专家的经验分享收集而成,将系统性地介绍程序交易策略的8个核心风险指标。我会以真实数据为案例,讲解每个指标的含义、计算方法和实战应用标准,希望这些工具能帮你看穿策略的真实风险。
前言:别被高收益迷了眼
很多刚接触程序交易的朋友,看到一个策略回测三年翻倍,就觉得自己找到了摇钱树。结果真到市场里,策略刚跌25%就慌了神,在最差的时机砍掉,然后纳闷:”这破系统怎么不管用了?”
老余今天要告诉大家:专业交易员从来不只看收益。他们关注的是一组能看穿策略本质的指标——风险大不大?抗不抗揍?遇到极端行情会怎样?能不能长期活下来?
这篇文章老余给大家整理了一份”程序交易体检表”,用8个核心指标,帮你判断你的交易策略是真金不怕火炼,还是纸老虎一戳就破。
设置初始数据
接下来我将使用苹果公司 (AAPL) 从 2020 年到 2025 年底的日数据作例,来演示每个指标的计算方法。
我们首先加载苹果公司调整后的收盘价,计算每日收益率,并根据 4% 的年收益率定义每日无风险利率。
import yfinance as yfimport pandas as pdimport numpy as np# 下载苹果股票数据 (2020-2025)aapl = yf.download('AAPL', start='2020-01-01', end='2025-12-12', progress=False, auto_adjust=True)['Close']returns = aapl.pct_change().dropna()# 无风险利率(4%年利率换算为日利率)risk_free_annual = 0.04risk_free_daily = (1 + risk_free_annual)**(1/252) - 1print(f"Data loaded: {len(returns)} daily returns")print(f"Annualized return: {returns.mean().values[0] * 252 * 100:.1f}%")我们通过上面的代码获得了约1500个交易日的数据。在此期间,苹果公司(AAPL)实现了高达27.8%的年化收益率,表现显著强于市场。作为参照,标普500指数的长期年化平均收益率通常维持在10%左右。
然而,仅关注最终回报并不足以理解其背后的波动与风险,这也是我们需要借助更多指标进行分析的原因。接下来,我们将逐一审视这8项关键指标。
1. 夏普比率:值不值?
夏普比率回答一个简单问题:你承受一份波动,能换来多少超额收益?
很多新手低估了策略的波动有多大。夏普比率帮你把风险和收益放在天平两端,看看到底划不划算。
实战案例(以苹果股票为例)
用2020-2025年的苹果股票数据测算,夏普比率是0.747。下面是代码:
excess_returns = returns - risk_free_dailysharpe_ratio = excess_returns.mean() / excess_returns.std() * np.sqrt(252)print(f"Sharpe Ratio: {sharpe_ratio.values[0]:.3f}")这说明:
- 收益确实不错。
- 但波动也很大。
- 对单只股票来说,0.7算是正常水平。
如何解读夏普比率?
| 夏普比率 | 策略质量 |
|---|---|
| 低于0.8 | 感觉像随机交易 |
| 1.0-1.5 | 普通投资者能接受的好策略 |
| 超过2.0 | 专业机构水平,不靠杠杆很难达到 |
注意:夏普比率有个毛病:它把上涨波动也算作”风险”。所以咱们还需要第二个指标。
2. 索提诺比率:只惩罚下跌波动
索提诺比率是夏普比率的升级版。它只关心让你亏钱的波动,不管上涨的那部分。计算代码:
downside_returns = excess_returns.copy()downside_returns[downside_returns > 0] = 0downside_deviation = np.sqrt((downside_returns**2).mean())sortino_ratio = excess_returns.mean() / downside_deviation * np.sqrt(252)print(f"Sortino Ratio: {sortino_ratio.values[0]:.3f}")苹果股票的索提诺比率是1.105,比夏普比率高出不少。这说明:
- 大部分波动来自上涨(2020-2021年的暴涨);
- 真正下跌的时候反而没那么吓人;
- 这个不对称性对投资者是有利的。
索提诺比率参考标准
- 最低要求:2.0以上
- 理想水平:3.0+(说明策略趋势比较干净)
如果索提诺比率比夏普比率高很多,说明你的策略”涨起来猛,跌起来温柔”,这是好事。
3. 风险价值(VaR):底线在哪?
VaR告诉你:在正常市场情况下,有95%的把握说,今天的最大损失不会超过多少。
var_95 = np.percentile(returns, 5)print(f"95% Daily VaR: {var_95*100:.2f}%")通过上面代码的计算,苹果股票的95% VaR是-2.85%,意思是:
- 100天里,有95天的损失不超过2.85%;
- 另外5天可能更惨。
VaR使用要点
VaR就像天气预报说”明天有5%概率会下大雨”,但它没告诉你如果真下大雨,是毛毛雨还是倾盆大雨。所以还需要下一个指标。
风险管理与投资组合可视化分析(来源:网络)
4. 条件风险价值(CVaR):最坏情况是什么
CVaR(也叫预期损失)回答:如果倒霉碰上了那5%的极端情况,平均会亏多少?
cvar_95 = returns[returns <= var_95].mean()print(f"95% CVaR: {cvar_95.values[0]*100:.2f}%")苹果股票的CVaR是-4.48%,意思是:
- 在最差的5%日子里,平均损失接近4.5%;
- 这个数值反映了疫情暴跌、2022年科技股回调等极端情况。
关键判断
如果CVaR是VaR的两倍以上(比如VaR-2%,CVaR-5%),说明策略有”尾巴风险”——平时没事,一出事就是大事。这种策略要慎用,除非你有对冲手段。
5. 期望值:长期看好?
期望值告诉你:平均每笔交易能赚多少?它把胜率和盈亏比放在一起算。
# 模拟 20 次交易(如按季度持仓)np.random.seed(42)n_trades = 20win_rate = 0.55avg_win = 0.05avg_loss = -0.03wins = np.random.binomial(1, win_rate, n_trades)trade_returns = np.where( wins == 1, np.random.normal(avg_win, 0.02, n_trades), np.random.normal(avg_loss, 0.01, n_trades))expectancy = trade_returns.mean()expectancy_r = (win_rate * avg_win) - ((1 - win_rate) * abs(avg_loss))print(f"Expectancy per trade: {expectancy*100:.2f}%")print(f"Expectancy in R: {expectancy_r:.3f}R")模拟20笔交易的结果:
- 胜率55%;
- 平均盈利5%;
- 平均亏损3%。
期望值 = 0.55 × 5% – 0.45 × 3% = 1.45%
期望值怎么理解?
- 正数:策略长期能赚钱;
- 负数:策略会 slowly 把钱亏光;
- 数值大小:决定赚钱速度。
胜率不是一切!一个胜率40%的策略,如果盈利时赚20%,亏损时只亏5%,期望值依然是正的。
6. 最大回撤:最多会亏多少?
最大回撤是你账户从高点到低点的最大跌幅。这是最能反映”心理承受力”的指标。
cumulative = (1 + returns).cumprod()rolling_max = cumulative.cummax()drawdown = cumulative / rolling_max - 1max_drawdown = drawdown.min()print(f"Maximum Drawdown: {max_drawdown.values[0]*100:.2f}%")苹果股票的最大回撤是-33.36%。这意味着:
- 最惨的时候亏掉了三分之一;
- 很多人这时候已经心态爆炸了;
- 需要极强的信念才能扛过去。
最大回撤参考标准
| 回撤幅度 | 策略评价 |
|---|---|
| 25%以上 | 很难坚持 |
| 20%以内 | 多数投资者能接受 |
| 10-15% | 优秀水平 |
控制最大回撤,比追求高收益更重要。因为大多数人都在回撤期放弃策略,倒在黎明前。
7.平均逆向波动(MAE):止损的科学
MAE衡量一笔交易在盈利前,通常会先往坏处走多少。
# MAE:每笔交易的平均最大不利变动adverse_excursions = np.minimum(trade_returns, 0) * np.random.uniform(0.5, 1.2, n_trades)mae = np.mean(np.abs(adverse_excursions))print(f"Mean Adverse Excursion (MAE): {mae*100:.2f}%")苹果股票的MAE是1.01%,说明:
- 典型回调幅度不大;
- 苹果通常是”跌一点就反弹”;
- 适合”逢低买入”的思路。
MAE的实战用途
把止损设在MAE的75分位数附近。如果平均MAE是1%,你把止损设在0.6%,会被频繁洗出去。MAE让止损从拍脑袋变成科学决策。
8. 卡尔马比率:这收益划算不?
卡尔马比率 = 年化收益 ÷ 最大回撤
它回答:每承受一份”最大痛苦”,能换来多少年化收益?
cagr = (cumulative.iloc[-1] ** (252 / len(returns))) - 1calmar_ratio = cagr / abs(max_drawdown)print(f"Calmar Ratio: {calmar_ratio.values[0]:.3f}")卡尔马比率参考标准
| 比率 | 策略评价 |
|---|---|
| 低于1.0 | 投资者很难坚持 |
| 1.5-3.0 | 专业水平 |
| 3.0以上 | 非常罕见,极其宝贵 |
策略上线前的体检清单
老余给大家整理了一个”策略上线检查表”,建议收藏:
| 指标 | 最低标准 | 备注 |
|---|---|---|
| 夏普比率 | ≥ 1.2 | 低于1.2说明波动太大 |
| 索提诺比率 | ≥ 2.0 | 衡量下跌风险 |
| 95% VaR | ≤ 2% | 日常风险上限 |
| CVaR | ≤ 2×VaR | 极端风险可控 |
| 期望值 | ≥ 0.5R | 每笔交易预期收益 |
| 最大回撤 | ≤ 25% | 心理承受极限 |
| 止损依据 | MAE分布 | 数据驱动 |
| 卡尔马比率 | ≥ 1.5 | 收益与风险的平衡 |
苹果股票2020-2025年体检报告
| 指标 | 数值 | 评价 |
|---|---|---|
| 夏普比率 | 0.747 | 中等,波动较大 |
| 索提诺比率 | 1.105 | 较好,上涨多于下跌 |
| 95% VaR | -2.85% | 日常风险可控 |
| CVaR | -4.48% | 极端风险偏高 |
| 最大回撤 | -33.36% | 考验心理承受力 |
| 卡尔马比率 | 约1.0 | 勉强及格 |
结论:苹果是优秀的长期资产,但真要捏住它有点难。用数据角度解读就是:它在大部分指标上表现的很优秀,但也在最大回撤和卡尔马比率表现的上不及格。
观点总结
任何人都能画出一个看起来很有说服力的收益曲线。专业人士做的是:用数学检验策略能否在真实市场中活下来。
这8个指标告诉你:
- 策略能否承受市场波动 ?
- 极端情况下表现如何 ?
- 回撤能否控制在可接受范围 ?
- 心理防线能否守住 ?
- 能不能长期执行 ?
- 这支产品是否真的适合投入 ?
最后请记住这句话,我们共勉:好的策略不是预测明天涨不涨,而是无论明天发生什么,你都有应对之道。
#量化交易 #程序交易 #风险管理 #夏普比率 #最大回撤 #策略回测 #交易指标 #VaR风险价值 #卡尔马比率 #交易系统 #算法交易 #投资分析 #金融科技 #数据分析 #Python
感谢阅读!愿本文为您带来新启发与实用知识。若觉有益,请点赞分享,您的支持是我创作的动力,欢迎留言必复。祝投资顺利,收益丰厚!
风险提示:本文仅供参考,不构成投资建议。投资有风险,入市需谨慎
Be First to Comment