📊 夏普比率 · 信息比率 · 索提诺比率

策略评估与归因分析
指标 公式 含义 优点 缺点
夏普比率
(Sharpe Ratio)
\( SR = \frac{R_p - R_f}{\sigma_p} \) 每承担一单位总风险所获得的超额回报。衡量风险调整后收益。 ✔ 直观,应用最广
✔ 同时考虑收益与波动
✘ 假设收益正态分布
✘ 对上行/下行波动同等惩罚
信息比率
(Information Ratio)
\( IR = \frac{R_p - R_b}{\sigma_{p-b}} \) 每单位主动风险(跟踪误差)带来的主动收益。衡量基金经理选股/择时能力。 ✔ 聚焦主动管理能力
✔ 与基准直接挂钩
✘ 基准选择影响大
✘ 主动风险可能不稳定
索提诺比率
(Sortino Ratio)
\( SoR = \frac{R_p - R_f}{\sigma_d} \)
(\(\sigma_d\) 为下行标准差)
只考虑下行风险(负收益波动),衡量每单位下行风险获得的超额回报。 ✔ 区分好坏波动
✔ 更符合投资者心理
✘ 下行标准差计算方式多样
✘ 需要足够下行数据

⚡ 夏普比率

收益 风险 超额 SR = (Rp−Rf)/σp

📈 信息比率

组合 基准 IR = (Rp−Rb)/σ(p-b)

🛡️ 索提诺比率

上行波动 下行波动 SoR = (Rp−Rf)/σd

比率归因框架

夏普比率 总风险调整 信息比率 主动管理能力 索提诺比率 下行风险聚焦 策略评估 & 归因分析
import numpy as np

# 示例数据:策略收益率、无风险利率、基准收益率
returns = np.array([0.02, 0.015, -0.005, 0.03, 0.01, 0.025])
risk_free = 0.002
benchmark = np.array([0.01, 0.008, 0.002, 0.018, 0.006, 0.015])

# 夏普比率
excess = returns - risk_free
sharpe = np.mean(excess) / np.std(excess, ddof=1)

# 信息比率
active = returns - benchmark
info_ratio = np.mean(active) / np.std(active, ddof=1)

# 索提诺比率 (下行标准差)
downside = excess[excess < 0]
down_std = np.sqrt(np.mean(downside**2)) if len(downside) > 0 else 0
sortino = np.mean(excess) / down_std if down_std != 0 else np.nan

print(f"夏普比率: {sharpe:.3f}")
print(f"信息比率: {info_ratio:.3f}")
print(f"索提诺比率: {sortino:.3f}")