performance-metrics

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Performance 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_downside
where 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) / TE
where 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_p
Useful 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) dr
where 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 Capture
Ideal 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_b
Interpretation: "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

关键公式

FormulaExpressionUse Case
Sharpe Ratio(R_p - R_f) / sigma_pReturn per unit of total risk
Sortino Ratio(R_p - R_f) / sigma_downsideReturn per unit of downside risk
Information Ratio(R_p - R_b) / TEActive return per unit of active risk
Treynor Ratio(R_p - R_f) / beta_pReturn per unit of systematic risk
Calmar RatioCAGR /MaxDD
Omega Ratiosum(max(R_i - tau, 0)) / sum(max(tau - R_i, 0))Full-distribution gain-loss ratio
Up CaptureR_p(up) / R_b(up) * 100Participation in rising markets
Down CaptureR_p(down) / R_b(down) * 100Participation in falling markets
M-SquaredR_f + SR_p * sigma_bRisk-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-squaredR_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.533
The 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.50
The 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
scripts/performance_metrics.py
for computational helpers.
计算辅助工具请参见
scripts/performance_metrics.py