第三课:协方差矩阵——资产间相关性的数学表达

各位同学,今天我们聊一个在量化投资里绕不开的核心工具——协方差矩阵。

说实话,我刚入行那会儿,觉得协方差矩阵就是个数学公式堆砌出来的东西。直到有一次,我帮一家私募做多资产配置,发现他们用了个简化版的相关性矩阵,结果回测曲线漂亮得不像话,实盘却亏得一塌糊涂。嗯,从那以后,我再也不敢小看这个矩阵了。

协方差矩阵说白了,就是用来描述资产之间“怎么一起动”的数学工具。你想想看,如果你只盯着单个资产的波动,那跟闭着眼睛开车有什么区别?

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年金融危机时,连黄金和股票都一起跌,协方差矩阵完全失效。

所以我的建议是:

  • 用协方差矩阵做常规配置,没问题
  • 但极端行情下,要加入压力测试和情景分析
  • 可以考虑用尾部相关性指标作为补充

好了,这一课的内容就到这里。协方差矩阵是风险预算的基石,但记住——它只是工具,不是真理。用得好,它能帮你构建稳健组合;用得不好,它也能让你翻车。

下面这张图总结了本章的核心逻辑:

协方差矩阵知识体系 协方差矩阵 定义与公式 Cov(X,Y)=E[(X-μx)(Y-μy)] 计算方法 Python: returns.cov() 解读技巧 对角线→波动,非对角线→相关性 风险预算应用 σ²p = w^T Σ w 局限性 线性假设、相关性危机 核心:协方差矩阵是风险预算的数学基石

专注资料整理