📊 风险度量 · 四维定义

波动率 · 下行 · VaR · CVaR

📈 波动率 标准差

收益序列的总体/样本标准差,衡量收益离散程度。最经典的风险指标。

σ = √[ Σ(Rᵢ − μ)² / (N−1) ]
  • 对称风险
  • 年化因子 √252
  • 正态假设

📉 下行波动率 Downside

仅考虑低于目标收益(通常为0或无风险利率)的负偏离,聚焦损失尾部。

σD = √[ Σ min(Rᵢ−T, 0)² / (N−1) ]
  • 半方差
  • 目标阈值 T
  • Sortino 分母

🔻 VaR 在险价值

给定置信水平 (如95%),持有期内最大预期损失。即收益分布左侧分位数。

VaRα = −Qα(R)
  • 参数法 (正态)
  • 历史模拟
  • 蒙特卡洛

🧯 CVaR 条件在险价值

损失超过VaR的条件期望,满足次可加性,更审慎的尾部风险。

CVaRα = 𝔼[ −R | −R ≥ VaRα ]
  • ES (Expected Shortfall)
  • 一致风险度量
  • 优化常用
指标关注方向数学特性对极端值敏感度常用场景
波动率 (σ)双向波动对称,方差中等 (平方放大)夏普比率、组合约束
下行波动率下行偏差半方差,非对称较高 (仅负向)Sortino比率、 downside risk
VaR左尾分位数非次可加低 (分位数跳跃)监管资本、风险限额
CVaR尾部期望次可加、凸高 (尾部平均)投资组合优化、压力测试
μ μ−σ μ+σ VaR CVaR 收益分布 & 风险标记
⯁ 正态分布 · σ / VaR / CVaR 示意
📌 下行波动率 vs 波动率 波动率 下行波动 全部偏差 仅负偏差
⯁ 下行波动仅关注负偏离
波动率 标准差计算 下行波动 半方差 VaR 分位数法 CVaR 尾部期望 风险度量模块 · 策略评估核心
⚙️ 风险度量组件架构 (双边框风格)
🐍 Python 计算示例 numpy / pandas
import numpy as np

returns = np.array([0.02, -0.01, 0.03, -0.04, 0.01, -0.02, 0.005])

# 波动率 (样本标准差)
vol = np.std(returns, ddof=1)

# 下行波动率 (目标=0)
downside = np.sqrt(np.mean(np.minimum(returns - 0, 0)**2))

# VaR 95% (历史模拟)
VaR_95 = -np.percentile(returns, 5)

# CVaR 95% (尾部均值)
tail = returns[returns <= -VaR_95]
CVaR_95 = -np.mean(tail) if len(tail) > 0 else 0

print(f"波动率: {vol:.4f}, 下行波动: {downside:.4f}")
print(f"VaR(95%): {VaR_95:.4f}, CVaR(95%): {CVaR_95:.4f}")