| 指标 | 公式 | 含义 | 优点 | 缺点 |
|---|---|---|---|---|
| 夏普比率 (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\) 为下行标准差) |
只考虑下行风险(负收益波动),衡量每单位下行风险获得的超额回报。 | ✔ 区分好坏波动 ✔ 更符合投资者心理 |
✘ 下行标准差计算方式多样 ✘ 需要足够下行数据 |
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}")