跳到主内容
@wquguru
术语风险与组合

协方差矩阵 Covariance Matrix

2026-09-05 更新

定义#

协方差矩阵记录一组资产两两之间的共同波动幅度。对角线上是每个资产自己的方差,非对角线上是两个资产的协方差——正值代表倾向同涨同跌,负值代表反向,零代表没有线性关系。

它是几乎所有组合风险计算的输入:组合方差要用它算,最小方差组合、风险归因、对冲比例都建在它上面。麻烦也出在这里——它不是观测到的,而是估出来的,而估计误差会被优化器放大成离谱的权重。

公式#

Cov(X,Y)=E[(XE[X])(YE[Y])],σp2=wΣw\mathrm{Cov}(X, Y) = E\big[(X - E[X])(Y - E[Y])\big], \qquad \sigma_p^2 = w^{\top} \Sigma\, w

其中 Σ\SigmaN×NN \times N 的协方差矩阵,ww 是权重向量。Ledoit-Wolf 收缩估计把不稳定的样本矩阵往一个结构简单的目标矩阵拉:

Σ^shrunk=δF+(1δ)S\hat{\Sigma}_{\text{shrunk}} = \delta F + (1 - \delta) S

SS 是样本协方差矩阵,FF 是结构化的目标矩阵,δ[0,1]\delta \in [0,1] 是收缩强度,由数据自动定出,本质是在偏差和方差之间取平衡。

算一笔账#

两个资产,年化波动分别是 20% 和 30%,相关系数 0.4。协方差 =0.20×0.30×0.4=0.024= 0.20 \times 0.30 \times 0.4 = 0.024

等权组合的方差 =0.52×0.04+0.52×0.09+2×0.5×0.5×0.024=0.01+0.0225+0.012=0.0445= 0.5^2 \times 0.04 + 0.5^2 \times 0.09 + 2 \times 0.5 \times 0.5 \times 0.024 = 0.01 + 0.0225 + 0.012 = 0.0445,波动率 21.1%\approx 21.1\%

再看维度问题:50 个资产的协方差矩阵有 50×51/2=127550 \times 51 / 2 = 1275 个待估参数。若只用 250 个交易日的数据,等于拿 250 行样本去定 1275 个数——矩阵必然不稳定,某些方向的方差会被估成接近零,优化器就会往那些方向猛压仓位。

常见问题#

协方差和相关系数有什么区别?#

相关系数就是协方差除以两个标准差,把量纲去掉后压进 −1 到 1 之间,方便横向比较。协方差保留了幅度信息,所以组合风险计算用协方差;判断「关系强不强」时看相关系数更直观。

为什么组合优化器算出来的权重那么极端?#

因为它把协方差矩阵当成了真值。样本估计里那些偶然出现的低方差方向,在优化器眼里是免费的风险削减机会,于是仓位被推到极限;换一段样本,权重又翻天覆地。收缩估计正是为了抑制这个现象。

收缩强度该设多大?#

不用手工设。Ledoit-Wolf 方法会根据样本量和资产数量自动算出使估计误差最小的 δ\delta——资产多、样本短时收缩得更狠,样本充足时自然接近样本矩阵。手工调这个参数通常只是把一次拟合变成了一次调参。

相关术语

出自