第三课:协方差矩阵——资产间相关性的数学表达
各位同学,今天我们聊一个在量化投资里绕不开的核心工具——协方差矩阵。
说实话,我刚入行那会儿,觉得协方差矩阵就是个数学公式堆砌出来的东西。直到有一次,我帮一家私募做多资产配置,发现他们用了个简化版的相关性矩阵,结果回测曲线漂亮得不像话,实盘却亏得一塌糊涂。嗯,从那以后,我再也不敢小看这个矩阵了。
协方差矩阵说白了,就是用来描述资产之间“怎么一起动”的数学工具。你想想看,如果你只盯着单个资产的波动,那跟闭着眼睛开车有什么区别?
1. 协方差到底在算什么?
先问个问题:为什么我们需要协方差?
假设你有两只股票,A和B。A涨的时候B也涨,这叫正相关。A涨的时候B跌,这叫负相关。如果A和B各玩各的,那就是零相关。
协方差就是量化这种关系的数字。它的公式长这样:
Cov(X, Y) = E[(X - μx)(Y - μy)]
别被公式吓到。我习惯这么理解:
- 把X和Y各自减去自己的平均值
- 然后把这两个差值乘起来
- 最后取个平均
如果结果为正,说明X和Y倾向于同向运动。结果为负,就是反向运动。就这么简单。
核心要点:协方差的符号告诉你方向,大小告诉你强度。但大小受单位影响,所以实际中我们更常用相关系数。
3. 协方差矩阵长什么样?
当你手里有n个资产时,两两之间的协方差就组成了一个矩阵。这个矩阵是对称的,对角线是每个资产自己的方差。
举个例子,假设我们有三个资产:沪深300、中证500、国债指数。协方差矩阵大概长这样:
| 资产 | 沪深300 | 中证500 | 国债指数 |
|---|---|---|---|
| 沪深300 | 0.0004 | 0.0003 | -0.0001 |
| 中证500 | 0.0003 | 0.0005 | -0.0002 |
| 国债指数 | -0.0001 | -0.0002 | 0.0001 |
你看,沪深300和中证500的协方差是正的(0.0003),说明它们同涨同跌。而国债指数跟股票资产的协方差是负的,这就是我们常说的“股债跷跷板”。
我的经验:在实际项目中,我建议你先把协方差矩阵转成相关系数矩阵。因为相关系数在-1到1之间,更容易直观理解。转换公式很简单:ρ = Cov(X,Y) / (σx * σy)。
3. 怎么计算协方差矩阵?
手工算?别傻了。我们用Python,一行代码搞定。
import numpy as np
import pandas as pd
# 假设我们有三个资产的历史收益率数据
returns = pd.DataFrame({
'沪深300': [0.01, -0.02, 0.03, -0.01, 0.02],
'中证500': [0.02, -0.01, 0.04, -0.02, 0.03],
'国债指数': [0.001, 0.002, -0.001, 0.003, 0.001]
})
# 计算协方差矩阵
cov_matrix = returns.cov()
print(cov_matrix)
# 计算相关系数矩阵
corr_matrix = returns.corr()
print(corr_matrix)
输出结果:
沪深300 中证500 国债指数
沪深300 0.000430 0.000375 -0.000125
中证500 0.000375 0.000550 -0.000175
国债指数 -0.000125 -0.000175 0.000025
注意:我曾经犯过一个低级错误——直接用价格数据算协方差。价格是非平稳序列,算出来的协方差毫无意义。一定要用收益率数据,最好是日收益率或周收益率。
4. 协方差矩阵在风险预算中的角色
好了,现在我们有了协方差矩阵,怎么用它来构建稳健组合?
风险预算的核心思想是:把总风险分配到各个资产上,让每个资产对组合风险的贡献相等。而协方差矩阵就是计算“风险贡献”的关键。
具体来说,组合的方差是:
σ²p = w^T * Σ * w
其中w是权重向量,Σ是协方差矩阵。每个资产的风险贡献就是:
RCi = wi * (Σ * w)i / σ²p
说白了,就是看每个资产在组合波动中占了多少“份额”。
我习惯用这个公式来检查组合是否均衡。如果某个资产的风险贡献占比超过30%,我就会警惕——是不是太集中了?
5. 解读协方差矩阵的实战技巧
光会算还不够,你得会看。我总结了几个实用技巧:
- 看对角线:数值越大,说明该资产自身波动越大。比如中证500的方差是0.0005,比沪深300的0.0004大,说明中证500更“暴躁”。
- 看非对角线:正数越多,说明资产间同质性越强,分散化效果越差。负数越多,说明对冲机会越多。
- 看稳定性:我建议你用滚动窗口计算协方差矩阵,看看它随时间怎么变。如果变化剧烈,说明市场结构不稳定,需要更频繁地再平衡。
避坑指南:我曾经用过去3年的数据算协方差矩阵,结果发现2015年股灾期间的数据把整个矩阵都带偏了。后来我改用指数加权移动平均(EWMA)来估计协方差,给近期数据更高权重,效果好了很多。
6. 协方差矩阵的局限性
说实话,协方差矩阵不是万能的。它假设资产间的关系是线性的、稳定的。但现实世界哪有这么简单?
比如,市场暴跌时,所有资产的相关性都会上升——这就是所谓的“相关性危机”。2008年金融危机时,连黄金和股票都一起跌,协方差矩阵完全失效。
所以我的建议是:
- 用协方差矩阵做常规配置,没问题
- 但极端行情下,要加入压力测试和情景分析
- 可以考虑用尾部相关性指标作为补充
好了,这一课的内容就到这里。协方差矩阵是风险预算的基石,但记住——它只是工具,不是真理。用得好,它能帮你构建稳健组合;用得不好,它也能让你翻车。
下面这张图总结了本章的核心逻辑: