3、核心理论基础(下):协方差矩阵与相关性、投资组合的数学期望与方差、无差异曲线与最优组合选择

3.1 协方差矩阵:资产之间的“社交网络”

咱们做量化,说白了就是在研究资产之间的关系。你想想看,如果两只股票总是同涨同跌,那把它们放在一起,风险根本分散不了。协方差矩阵,就是用来量化这种关系的工具。

我个人习惯把协方差矩阵看作一张“社交关系表”。矩阵里的每个元素,都告诉你两只资产之间是怎么“互动”的。正数表示它们倾向于一起涨跌,负数则表示一个涨的时候另一个在跌。

核心公式:
Cov(Ri, Rj) = E[(Ri - μi)(Rj - μj)]

我在项目中遇到过一个问题:直接用历史数据算协方差,结果发现矩阵不是正定的。这意味着什么?意味着你没法做后续的优化求解。嗯,这里要注意,数据量不够或者资产高度相关时,很容易出现这种情况。

3.2 相关性:把协方差“标准化”

协方差有个缺点——它受量纲影响。比如一只股票价格是100块,另一只是10块,它们的协方差数值会很大,但这不代表相关性就强。这时候就需要相关性系数出场了。

说白了,相关性就是把协方差“归一化”到[-1, 1]之间。公式很简单:

ρij = Cov(Ri, Rj) / (σi × σj)

我曾经踩过一个坑:看到两只资产相关性是0.8,就以为它们高度相关。其实在极端市场环境下,相关性会急剧变化。平时0.8,危机时刻可能直接跳到0.99。所以做风控时,我建议用滚动窗口算动态相关性,别只看静态值。

3.3 投资组合的数学期望:你预期的回报

组合的期望收益,其实就是各资产期望收益的加权平均。这个很好理解:

E(Rp) = w1 × E(R1) + w2 × E(R2) + ... + wn × E(Rn)

但这里有个陷阱——期望收益是“期望”,不是“保证”。我见过太多人把历史平均收益直接当成期望收益,结果模型跑出来很漂亮,实盘一跑就崩。为什么?因为历史不会简单重复。

3.4 投资组合的方差:风险的量化

组合的方差就没那么简单了。它不仅要考虑每个资产自身的波动,还要考虑资产之间的协方差。公式长这样:

σp² = wT × Σ × w

其中Σ就是协方差矩阵,w是权重向量。你想想看,如果组合里有10只资产,协方差矩阵就有100个元素。手动算?不现实。所以我们用矩阵运算,一行代码搞定。

import numpy as np

# 假设有3只资产,协方差矩阵和权重已知
cov_matrix = np.array([
    [0.04, 0.01, 0.005],
    [0.01, 0.09, 0.02],
    [0.005, 0.02, 0.16]
])
weights = np.array([0.4, 0.3, 0.3])

# 计算组合方差
portfolio_variance = weights.T @ cov_matrix @ weights
portfolio_std = np.sqrt(portfolio_variance)
print(f"组合方差: {portfolio_variance:.4f}")
print(f"组合标准差: {portfolio_std:.4f}")
避坑指南: 我曾经直接用样本协方差矩阵做优化,结果发现样本外表现很差。后来改用收缩估计(Shrinkage Estimator),效果好了很多。记住,样本协方差矩阵在高维情况下噪声很大。

3.5 无差异曲线:投资者的“口味”

每个投资者对风险和收益的偏好都不一样。有人愿意为了多赚1%去承担10%的波动,有人则完全受不了。无差异曲线就是用来描述这种偏好的。

它的核心思想是:在同一条曲线上,投资者觉得所有点都一样“爽”。比如点A(收益10%,波动5%)和点B(收益15%,波动10%),如果投资者觉得两者没区别,那它们就在同一条无差异曲线上。

效用函数形式:
U = E(R) - 0.5 × A × σ²

这里的A是风险厌恶系数。A越大,说明越讨厌风险。我习惯把A设在2到4之间,具体看投资者的风险承受能力。

3.6 最优组合选择:找到那个“切点”

好了,现在我们有两条东西:

  • 有效前沿:所有最优组合的集合(给定风险下的最大收益)
  • 无差异曲线:投资者的偏好集合

最优组合就是这两者的切点。说白了,就是在你“最满意”的那条无差异曲线上,找一个在有效前沿上的点。

我记得有一次帮客户做配置,他的风险厌恶系数特别高(A=6)。结果最优组合里债券占了80%,股票只有20%。他一开始觉得收益太低,但回测下来,他的风险承受能力确实只能配这么多股票。嗯,这就是无差异曲线的实际应用。

3.7 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你可以看到,从底层数据到最终决策,每一步都环环相扣。

核心理论基础(下)知识体系 资产历史收益率 协方差矩阵 相关性矩阵 组合期望收益 E(Rp) 组合方差 σ²(Rp) 有效前沿(Efficient Frontier) 无差异曲线(投资者偏好) 最优组合(切点) 图:从数据到决策的完整链路

3.8 实战中的几点提醒

注意: 协方差矩阵对异常值非常敏感。如果某天某只股票突然暴跌20%,这个数据点会严重扭曲协方差估计。我建议做数据清洗时,把极端值用Winsorization方法处理一下。

另外,无差异曲线虽然理论完美,但实际中很难精确知道投资者的A值。我通常的做法是:先算几个不同A值下的最优组合,然后让投资者自己选。这样既保留了理论框架,又增加了灵活性。

好了,这一章的内容就到这里。记住,理论是骨架,实践是血肉。下一章我们会把这些工具真正用到实盘中去。


专注资料整理