performance-metrics
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePerformance Metrics
绩效指标
Purpose
用途
Evaluate investment performance on a risk-adjusted basis using industry-standard ratios and capture analysis. This skill covers the Sharpe, Sortino, Information, Treynor, and Calmar ratios, the Omega ratio, upside/downside capture ratios, and M-squared. These metrics allow fair comparison across strategies with different risk profiles.
使用行业标准比率和捕获分析,基于风险调整评估投资绩效。本技能涵盖Sharpe、Sortino、Information、Treynor、Calmar比率、Omega比率、上行/下行捕获率以及M-squared。这些指标允许对具有不同风险特征的策略进行公平比较。
Layer
层级
1a — Realized Risk & Performance
1a — 已实现风险与绩效
Direction
方向
Retrospective
回顾性
When to Use
使用场景
- Evaluating how well an investment or strategy performed relative to the risk it took
- Comparing managers, funds, or strategies on a risk-adjusted basis
- Computing Sharpe, Sortino, Information Ratio, Treynor, or Calmar ratios
- Performing upside/downside capture analysis against a benchmark
- Calculating the Omega ratio for a given threshold return
- Assessing M-squared (Modigliani-Modigliani) risk-adjusted performance
- 评估投资或策略相对于其所承担风险的表现
- 基于风险调整比较基金经理、基金或策略
- 计算Sharpe、Sortino、Information Ratio、Treynor或Calmar比率
- 针对基准进行上行/下行捕获分析
- 计算给定阈值收益下的Omega比率
- 评估M-squared(Modigliani-Modigliani)风险调整绩效
Core Concepts
核心概念
Sharpe Ratio
Sharpe比率
The most widely used risk-adjusted performance measure. It divides excess return (over the risk-free rate) by total volatility.
SR = (R_p - R_f) / sigma_p- R_p: annualized portfolio return
- R_f: annualized risk-free rate
- sigma_p: annualized portfolio volatility (standard deviation of returns)
A higher Sharpe ratio indicates more return per unit of total risk. Typical benchmarks: SR < 0.5 is poor, 0.5-1.0 is acceptable, > 1.0 is strong, > 2.0 is exceptional.
Annualization: If computed from monthly data, SR_annual = SR_monthly * sqrt(12).
应用最广泛的风险调整绩效衡量指标。它将超额收益(超过无风险利率)除以总波动率。
SR = (R_p - R_f) / sigma_p- R_p: 年化投资组合收益
- R_f: 年化无风险利率
- sigma_p: 年化投资组合波动率(收益的标准差)
Sharpe比率越高,表明单位总风险带来的收益越多。典型基准:SR < 0.5为较差,0.5-1.0为可接受,>1.0为优秀,>2.0为卓越。
年化处理: 如果从月度数据计算,SR_annual = SR_monthly * sqrt(12)。
Sortino Ratio
Sortino比率
Replaces total volatility with downside deviation, penalizing only harmful volatility (returns below a Minimum Acceptable Return).
Sortino = (R_p - R_f) / sigma_downsidewhere sigma_downside = sqrt((1/n) * sum(min(R_i - MAR, 0)^2)).
Common MAR choices: 0%, risk-free rate, or a target return. Always state which MAR is used.
用下行偏差替代总波动率,仅惩罚有害波动(低于最低可接受收益的收益)。
Sortino = (R_p - R_f) / sigma_downside其中sigma_downside = sqrt((1/n) * sum(min(R_i - MAR, 0)^2))。
常见MAR选择:0%、无风险利率或目标收益。需始终说明使用的MAR。
Information Ratio
Information Ratio
Measures active return (alpha) per unit of active risk (tracking error) relative to a benchmark.
IR = (R_p - R_b) / TEwhere TE = std(R_p - R_b) * sqrt(N).
An IR above 0.5 is generally considered good; above 1.0 is exceptional and difficult to sustain.
衡量相对于基准的主动收益(alpha)与主动风险(跟踪误差)的比值。
IR = (R_p - R_b) / TE其中TE = std(R_p - R_b) * sqrt(N)。
IR高于0.5通常被认为良好;高于1.0则为卓越且难以维持。
Treynor Ratio
Treynor比率
Measures excess return per unit of systematic risk (beta) rather than total risk.
Treynor = (R_p - R_f) / beta_pUseful for evaluating diversified portfolios where idiosyncratic risk has been diversified away. For undiversified holdings, the Sharpe ratio is more appropriate.
衡量单位系统性风险(beta)而非总风险带来的超额收益。
Treynor = (R_p - R_f) / beta_p适用于评估已分散非系统性风险的多元化投资组合。对于非多元化持仓,Sharpe比率更合适。
Calmar Ratio
Calmar比率
Relates annualized return to the worst peak-to-trough drawdown.
Calmar = CAGR / |MaxDrawdown|A Calmar ratio above 1.0 means the annualized return exceeds the maximum drawdown. This ratio is popular among CTAs and hedge fund investors. Typically computed over a 3-year window.
将年化收益与最严重的峰谷回撤关联。
Calmar = CAGR / |MaxDrawdown|Calmar比率高于1.0意味着年化收益超过最大回撤。该比率在CTA和对冲基金投资者中较为流行。通常基于3年窗口期计算。
Omega Ratio
Omega比率
A gain-loss ratio that considers the entire return distribution above and below a threshold tau.
Omega(tau) = integral from tau to +inf of [1 - F(r)] dr
/ integral from -inf to tau of F(r) drwhere F(r) is the cumulative distribution function of returns.
In practice, this is computed as:
Omega(tau) = sum(max(R_i - tau, 0)) / sum(max(tau - R_i, 0))Omega > 1 means expected gains above tau exceed expected losses below tau. Unlike Sharpe, Omega captures the full shape of the distribution (skewness, kurtosis).
一种损益比率,考虑阈值tau上下的整个收益分布。
Omega(tau) = integral from tau to +inf of [1 - F(r)] dr
/ integral from -inf to tau of F(r) dr其中F(r)是收益的累积分布函数。
实际计算方式为:
Omega(tau) = sum(max(R_i - tau, 0)) / sum(max(tau - R_i, 0))Omega > 1表示tau以上的预期收益超过tau以下的预期损失。与Sharpe不同,Omega捕获了分布的完整形态(偏度、峰度)。
Upside and Downside Capture Ratios
上行和下行捕获率
Measure how the portfolio participates in benchmark up and down markets.
Up Capture = R_p(in up months) / R_b(in up months) * 100
Down Capture = R_p(in down months) / R_b(in down months) * 100
Capture Ratio = Up Capture / Down CaptureIdeal profile: Up Capture > 100% and Down Capture < 100%, yielding a Capture Ratio > 1. "Up months" and "down months" are defined by the benchmark return being positive or negative, respectively.
衡量投资组合在基准上涨和下跌市场中的参与度。
上行捕获率 = R_p(上涨月份) / R_b(上涨月份) * 100
下行捕获率 = R_p(下跌月份) / R_b(下跌月份) * 100
捕获比率 = 上行捕获率 / 下行捕获率理想特征:上行捕获率>100%且下行捕获率<100%,使得捕获比率>1。“上涨月份”和“下跌月份”分别由基准收益为正或负定义。
M-Squared (Modigliani-Modigliani)
M-squared(Modigliani-Modigliani)
Expresses risk-adjusted return in the same units as return, by leveraging or deleveraging the portfolio to match benchmark volatility.
M^2 = R_f + SR_p * sigma_b
= R_f + ((R_p - R_f) / sigma_p) * sigma_bInterpretation: "If this portfolio were scaled to have the same volatility as the benchmark, it would have returned M-squared." This makes it directly comparable to benchmark returns.
通过杠杆化或去杠杆化投资组合以匹配基准波动率,用收益的相同单位表示风险调整收益。
M^2 = R_f + SR_p * sigma_b
= R_f + ((R_p - R_f) / sigma_p) * sigma_b解释:“如果将该投资组合调整至与基准相同的波动率,其收益将为M-squared。”这使其可直接与基准收益比较。
Key Formulas
关键公式
| Formula | Expression | Use Case |
|---|---|---|
| Sharpe Ratio | (R_p - R_f) / sigma_p | Return per unit of total risk |
| Sortino Ratio | (R_p - R_f) / sigma_downside | Return per unit of downside risk |
| Information Ratio | (R_p - R_b) / TE | Active return per unit of active risk |
| Treynor Ratio | (R_p - R_f) / beta_p | Return per unit of systematic risk |
| Calmar Ratio | CAGR / | MaxDD |
| Omega Ratio | sum(max(R_i - tau, 0)) / sum(max(tau - R_i, 0)) | Full-distribution gain-loss ratio |
| Up Capture | R_p(up) / R_b(up) * 100 | Participation in rising markets |
| Down Capture | R_p(down) / R_b(down) * 100 | Participation in falling markets |
| M-Squared | R_f + SR_p * sigma_b | Risk-adjusted return in return units |
| 公式 | 表达式 | 使用场景 |
|---|---|---|
| Sharpe比率 | (R_p - R_f) / sigma_p | 单位总风险收益 |
| Sortino比率 | (R_p - R_f) / sigma_downside | 单位下行风险收益 |
| Information Ratio | (R_p - R_b) / TE | 单位主动风险的主动收益 |
| Treynor比率 | (R_p - R_f) / beta_p | 单位系统性风险收益 |
| Calmar比率 | CAGR / | MaxDD |
| Omega比率 | sum(max(R_i - tau, 0)) / sum(max(tau - R_i, 0)) | 全分布损益比率 |
| 上行捕获率 | R_p(上涨) / R_b(上涨) * 100 | 上涨市场参与度 |
| 下行捕获率 | R_p(下跌) / R_b(下跌) * 100 | 下跌市场参与度 |
| M-squared | R_f + SR_p * sigma_b | 收益单位下的风险调整收益 |
Worked Examples
示例计算
Example 1: Sharpe Ratio Calculation
示例1:Sharpe比率计算
Given: A fund returned 12% annualized, the risk-free rate is 4%, and the fund's annualized volatility is 15%.
Calculate: Sharpe Ratio.
Solution:
SR = (0.12 - 0.04) / 0.15
= 0.08 / 0.15
= 0.533The fund earned 0.533 units of excess return per unit of risk. This is in the "acceptable" range but below 1.0.
已知: 某基金年化收益为12%,无风险利率为4%,基金年化波动率为15%。
计算: Sharpe比率。
解答:
SR = (0.12 - 0.04) / 0.15
= 0.08 / 0.15
= 0.533该基金每单位风险获得0.533单位的超额收益,处于“可接受”区间但低于1.0。
Example 2: Comparing Funds with Sharpe and Sortino
示例2:用Sharpe和Sortino比较基金
Given:
- Fund A: Sharpe = 0.8, Sortino = 1.2
- Fund B: Sharpe = 0.7, Sortino = 1.5
Calculate: Which fund is better for a downside-averse investor?
Solution:
Fund A has a higher Sharpe ratio (0.8 vs 0.7), indicating better total-risk-adjusted performance. However, Fund B has a notably higher Sortino ratio (1.5 vs 1.2), meaning it delivers significantly more return per unit of downside risk.
The divergence implies Fund B's volatility is more skewed to the upside -- its total volatility includes more "good" volatility (gains), while its downside volatility is relatively contained.
For a downside-averse investor, Fund B is preferable because the Sortino ratio better captures the risk they care about (losses), and Fund B's superior Sortino indicates better downside risk management.
已知:
- 基金A:Sharpe = 0.8,Sortino = 1.2
- 基金B:Sharpe = 0.7,Sortino = 1.5
计算: 对于厌恶下行风险的投资者,哪只基金更优?
解答:
基金A的Sharpe比率更高(0.8 vs 0.7),表明其总风险调整表现更好。但基金B的Sortino比率显著更高(1.5 vs 1.2),意味着其单位下行风险带来的收益明显更多。
这种差异表明基金B的波动率更多偏向于上行——其总波动率包含更多“良性”波动(收益),而下行波动率相对可控。
对于厌恶下行风险的投资者,基金B更优,因为Sortino比率更能捕捉他们关注的风险(损失),而基金B更优的Sortino比率表明其下行风险管理更好。
Example 3: Information Ratio
示例3:Information Ratio
Given: A portfolio returned 10% annualized, its benchmark returned 8%, and the tracking error is 4%.
Calculate: Information Ratio.
Solution:
IR = (0.10 - 0.08) / 0.04
= 0.02 / 0.04
= 0.50The manager generated 0.50 units of active return per unit of active risk. This is generally considered a good IR, suggesting consistent alpha generation relative to benchmark deviations.
已知: 某投资组合年化收益为10%,基准年化收益为8%,跟踪误差为4%。
计算: Information Ratio。
解答:
IR = (0.10 - 0.08) / 0.04
= 0.02 / 0.04
= 0.50该基金经理每单位主动风险获得0.50单位的主动收益,这通常被认为是良好的IR,表明相对于基准偏差,其持续产生alpha。
Common Pitfalls
常见误区
- Annualizing Sharpe incorrectly: The Sharpe ratio scales by sqrt(N) where N is the number of periods per year. SR_annual = SR_monthly * sqrt(12), not * 12. The excess return and volatility must be in consistent units before dividing.
- Using wrong risk-free rate frequency: If computing monthly Sharpe, use the monthly risk-free rate (annual rate / 12), not the annual rate directly.
- Sortino MAR ambiguity: The Sortino ratio result changes significantly depending on whether MAR = 0, MAR = risk-free rate, or MAR = some target return. Always state the MAR assumption explicitly.
- Small sample sizes making ratios unreliable: Ratios computed from fewer than 36 monthly observations are statistically unreliable. A Sharpe ratio from 12 months of data has a standard error of approximately sqrt((1 + SR^2/2) / 12), which is very wide.
- Comparing Sharpe ratios across different time periods: A Sharpe of 1.0 in a low-vol environment is not the same as 1.0 in a high-vol environment. Performance ratios are period-specific and not directly comparable across different market regimes.
- Sharpe比率年化错误: Sharpe比率按sqrt(N)缩放,其中N为每年的期数。SR_annual = SR_monthly * sqrt(12),而非*12。在相除前,超额收益和波动率必须保持一致的单位。
- 使用错误频率的无风险利率: 如果计算月度Sharpe比率,应使用月度无风险利率(年化利率/12),而非直接使用年化利率。
- Sortino比率MAR模糊性: Sortino比率结果会因MAR=0、MAR=无风险利率或MAR=某目标收益而显著不同。需始终明确说明MAR假设。
- 样本量过小导致比率不可靠: 基于少于36个月度观测值计算的比率在统计上不可靠。基于12个月数据计算的Sharpe比率标准误差约为sqrt((1 + SR^2/2)/12),误差范围非常大。
- 跨不同时间段比较Sharpe比率: 低波动环境下的Sharpe比率1.0与高波动环境下的1.0并不相同。绩效比率具有时效性,不能直接跨不同市场周期比较。
Cross-References
交叉引用
- historical-risk (wealth-management plugin, Layer 1a): Provides the risk measures (volatility, drawdown, downside deviation, tracking error) used as denominators in these performance ratios.
- forward-risk (wealth-management plugin, Layer 1b): Forward-looking risk measures (VaR, CVaR) complement retrospective performance assessment by estimating future potential losses.
- volatility-modeling (wealth-management plugin, Layer 1b): Volatility forecasts from GARCH or EWMA can be used to compute forward-looking or conditional Sharpe ratios.
- historical-risk(财富管理插件,层级1a):提供这些绩效比率分母所用的风险指标(波动率、回撤、下行偏差、跟踪误差)。
- forward-risk(财富管理插件,层级1b):前瞻性风险指标(VaR、CVaR)通过估算未来潜在损失,补充回顾性绩效评估。
- volatility-modeling(财富管理插件,层级1b):GARCH或EWMA的波动率预测可用于计算前瞻性或条件Sharpe比率。
Reference Implementation
参考实现
See for computational helpers.
scripts/performance_metrics.py计算辅助工具请参见。
scripts/performance_metrics.py