核心思想

风险平价 (Risk Parity) 是一种资产配置方法,使每个资产对组合总风险的贡献相等。传统的 60/4060/40 股债组合中,股票通常贡献 >80% 的风险。风险平价通过杠杆平衡实现等风险分配。

RCi=wiΣwwΣw\text{RC}_i = w_i \cdot \frac{\Sigma w}{\sqrt{w^\top \Sigma w}}

目标是:RC1=RC2==RCn\text{RC}_1 = \text{RC}_2 = \dots = \text{RC}_n

计算框架

import numpy as np
from scipy.optimize import minimize

def risk_parity_weights(cov_matrix, target_vol=0.05):
    """风险平价优化:最小化各资产风险贡献的差异"""
    n = len(cov_matrix)
    
    def objective(w):
        w = np.abs(w)  # 确保权重非负
        w /= w.sum()   # 归一化
        port_vol = np.sqrt(w.T @ cov_matrix @ w)
        
        # Marginal risk contribution
        mrc = cov_matrix @ w
        # Risk contribution
        rc = w * mrc / port_vol
        
        # 最小化 RC 的差异
        target_rc = np.ones(n) / n * port_vol
        return np.sum((rc - target_rc)**2)
    
    result = minimize(objective, x0=np.ones(n)/n, 
                      bounds=[(0, 1)]*n)
    return result.x

def leverage_adjusted_target(cov_matrix, base_weights, target_vol):
    """杠杆调整:使用风险平价权重 + 杠杆达到目标波动率"""
    w_rp = risk_parity_weights(cov_matrix)
    rp_vol = np.sqrt(w_rp.T @ cov_matrix @ w_rp)
    
    leverage = target_vol / rp_vol
    return w_rp * leverage, leverage

局限与风险

变体

版本描述
经典 Risk Parity等风险贡献 + 杠杆目标
Risk Budgeting自定义风险预算而非均等分配
Black-Litterman + Risk Parity加入观点调整风险权重
Risk Budgeting with CVaR用 CVaR 替代方差作为风险度量

参考文献

  1. Qian, E., 2005. “Risk Parity Portfolios: Efficient Portfolios Through True Risk Diversification.”
  2. Maillard, S., Roncalli, T. & Teiletche, J., 2010. “The Properties of Equally Weighted Risk Contribution Portfolios.”