第二章 风险贡献的数学基础:方差-协方差矩阵、投资组合方差、边际风险贡献的定义
各位同学,咱们今天聊点硬核的。风险贡献这东西,说白了就是搞清楚「谁在拖后腿」。我刚开始做风控那会儿,领导让我分析一个组合为什么波动大,我盯着收益率曲线看了半天,愣是没看出门道。后来老同事甩给我一句话:「你先把方差-协方差矩阵算出来。」嗯,从那以后,我才真正入了门。
2.1 方差-协方差矩阵:组合风险的「基因图谱」
先问个问题:为什么不能只看单个资产的风险?
你想想看,两个股票各自波动都很大,但如果它们走势相反,组合反而稳得很。这就是协方差的作用。方差-协方差矩阵,说白了就是一张表格,记录了每个资产自己的波动(方差),以及每对资产之间的联动关系(协方差)。
数学上长这样:
Σ = [σ₁² σ₁₂ σ₁₃]
[σ₂₁ σ₂² σ₂₃]
[σ₃₁ σ₃₂ σ₃³]
其中:
- 对角线:σᵢ² 是资产 i 的方差
- 非对角线:σᵢⱼ 是资产 i 和 j 的协方差
关键点:协方差矩阵必须是对称的,而且半正定。我在项目中遇到过有人用Excel算出来负的特征值,那肯定是数据有问题。
2.2 投资组合方差:把风险「量化」出来
有了协方差矩阵,组合方差就很好算了。假设你有 n 个资产,权重向量 w = [w₁, w₂, ..., wₙ]ᵀ,那么组合方差就是:
σ²_p = wᵀ Σ w
展开写就是:
σ²_p = Σᵢ Σⱼ wᵢ wⱼ σᵢⱼ
这个公式看着吓人,其实逻辑很简单——把所有两两资产之间的「权重×权重×协方差」加起来。我习惯把这个过程叫做「风险加总」,但注意,不是简单相加,因为有协方差项在起作用。
我的小技巧:实际计算时,我一般用矩阵乘法,别手算。Python里用 np.dot(w.T, np.dot(cov, w)) 一行搞定。
2.3 边际风险贡献:谁在「拖后腿」?
好,现在我们知道组合风险是多少了。但问题来了:每个资产到底贡献了多少风险?
边际风险贡献(Marginal Risk Contribution, MRC)就是干这个的。它衡量的是:如果我把资产 i 的权重增加一点点,组合风险会变化多少。
数学定义:
MRCᵢ = ∂σ_p / ∂wᵢ = (Σ w)ᵢ / σ_p
说白了,就是组合风险对权重的偏导数。我个人觉得,这个指标比单纯看波动率有用得多——因为它考虑了资产之间的相关性。
避坑指南:我曾经犯过一个错——直接用资产自身的波动率来分配风险预算。结果发现某个资产虽然波动大,但跟其他资产负相关,实际贡献的风险很小。MRC 才能真正反映「增量风险」。
2.4 知识体系总览
下面这张图,我把本章的核心逻辑画出来了。你一看就明白:
2.5 一个简单的计算示例
光说不练假把式。咱们来个具体例子:
假设两个资产,权重各50%。协方差矩阵如下:
| 资产A | 资产B | |
|---|---|---|
| 资产A | 0.04 | 0.01 |
| 资产B | 0.01 | 0.09 |
计算步骤:
- 组合方差:σ²_p = 0.5²×0.04 + 0.5²×0.09 + 2×0.5×0.5×0.01 = 0.01 + 0.0225 + 0.005 = 0.0375
- 组合标准差:σ_p = √0.0375 ≈ 0.1936
- 边际风险贡献:
- MRC_A = (0.5×0.04 + 0.5×0.01) / 0.1936 = 0.025 / 0.1936 ≈ 0.1291
- MRC_B = (0.5×0.01 + 0.5×0.09) / 0.1936 = 0.05 / 0.1936 ≈ 0.2582
结论:资产B的边际风险贡献是资产A的两倍。虽然两者权重相同,但B的自身波动大,导致它对组合风险的「增量影响」更大。这就是为什么我说「别只看权重,要看边际贡献」。
2.6 我的一点经验总结
做风险贡献分析这么多年,我总结了几条铁律:
- 协方差矩阵是基石:数据质量决定一切。我曾经用日频数据算协方差,结果因为节假日处理不当,矩阵全是错的。
- 边际贡献不是风险本身:它衡量的是「变化率」,不是「绝对值」。要算每个资产的总贡献,还得乘以权重。
- 别迷信公式:数学工具再漂亮,也得结合实际业务逻辑。比如某些资产流动性差,MRC再低也不能重仓。
实用建议:刚开始学的时候,我建议你用Excel手动算一遍小例子。别嫌麻烦,手算一次比看十遍公式都管用。等你理解了矩阵运算的物理意义,再用Python批量处理。
好了,这一章的内容就到这儿。数学基础打牢了,后面讲风险分解和归因,你才能跟得上。记住:方差-协方差矩阵是组合风险的「DNA」,边际风险贡献是「体检报告」。两者结合,你才能看清组合里到底谁在「作妖」。
公众号:蓝海资料掘金营,微信deep3321