"不要把所有鸡蛋放在一个篮子里——但要计算清楚放几个。"


核心思想

问题:给定 N 个资产,如何分配资金使收益最大、风险最小?

Markowitz 洞察:收益可以加权平均,但风险不是简单相加——相关性决定了分散化的效果


基础数学

组合收益

组合期望收益 = Σ wᵢ × μᵢ

其中:
  wᵢ =  i 个资产的权重
  μᵢ =  i 个资产的期望收益率

示例:两个资产

AAPL:权重 60%,期望收益 12%
MSFT:权重 40%,期望收益 10%

组合期望收益 = 0.6 × 12% + 0.4 × 10% = 11.2%

组合风险

组合方差 = Σᵢ Σⱼ wᵢ × wⱼ × σᵢⱼ

其中:
  σᵢⱼ = 资产 i  j 的协方差
  σᵢᵢ = 资产 i 的方差

两个资产的简化形式:

σ²ₚ = w₁²σ₁² + w₂²σ₂² + 2w₁w₂ρσ₁σ₂

其中:
  ρ = 两资产的相关系数

相关性的威力

示例:两个资产各投 50%

  • 资产 A:波动率 20%
  • 资产 B:波动率 20%
相关性 ρ组合波动率分散效果
+1.020.0%
+0.517.3%减少 13.5%
0.014.1%减少 29.5%
-0.510.0%减少 50%
-1.00%完美对冲

关键洞察:相关性越低,分散化效果越好。


有效前沿

定义:在给定风险水平下,能获得最高期望收益的组合集合。

收益
                      ●─────── 最高收益点
                   ●●●
                ●●●
             ●●●     有效前沿
          ●●●
       ●●●
    ●●●─────────────── 最小方差点
  
  └──────────────────────→ 风险

有效前沿以下的点都是"无效":
同样风险可以获得更高收益

计算有效前沿

优化问题:

最大化:组合收益 = w'μ
约束:
  1. 组合风险 = √(w'Σw)  σ_target
  2. Σwᵢ = 1(权重和为 1)
  3. wᵢ  0(可选:禁止做空)

实际计算示例

三资产组合:AAPL、MSFT、GOOGL

输入数据:

期望收益(年化):
  AAPL: 15%
  MSFT: 12%
  GOOGL: 18%

波动率(年化):
  AAPL: 25%
  MSFT: 20%
  GOOGL: 30%

相关矩阵:
       AAPL  MSFT  GOOGL
AAPL   1.0   0.7   0.6
MSFT   0.7   1.0   0.5
GOOGL  0.6   0.5   1.0

最小方差组合:

权重:AAPL 25%,MSFT 55%,GOOGL 20%
收益:13.5%
波动率:17.2%

最大夏普组合(假设无风险利率 2%):

权重:AAPL 30%,MSFT 30%,GOOGL 40%
收益:15.6%
波动率:20.1%
夏普:0.68

常见优化目标

目标优化目标函数特点
最小方差min w'Σw最保守,波动最小
最大夏普max (w'μ - rf) / √(w'Σw)风险调整收益最高
目标收益min w'Σw s.t. w'μ = target达到目标收益的最小风险
风险平价每个资产对组合风险贡献相等更均衡的风险分配
最大分散化max Σwᵢσᵢ / √(w'Σw)最大化分散效果

实际应用中的问题

问题一:估计误差

理论需要:精确的期望收益和协方差矩阵

现实:从历史数据估计,误差很大

估计误差影响:

收益估计误差  权重大幅波动
  - 历史 5  AAPL 收益 18%
  - 但未来可能是 10%  25%
  - 微小的收益预测变化  权重剧烈变化

协方差估计误差  相关性不稳定
  - 正常时期:AAPL-MSFT 相关性 0.6
  - 危机时期:相关性飙升到 0.9
  - 分散效果消失

问题二:极端权重

未加约束的优化常产生极端结果:

理论最优:
  资产 A: +250%(做多)
  资产 B: -150%(做空)

问题:
  - 高杠杆风险
  - 做空成本
  - 流动性限制

解决方案:添加约束

常见约束:
  - 0  wᵢ  30%(单一资产上限)
  - Σwᵢ = 1(全仓)
  - wᵢ  0(禁止做空)

问题三:换手率过高

优化结果对输入敏感,每次重新优化可能产生大幅调仓:

本月最优:AAPL 40%,MSFT 30%,GOOGL 30%
下月最优:AAPL 20%,MSFT 50%,GOOGL 30%

换手:|40-20| + |30-50| + |30-30| = 40%
成本:40% × 0.2% × 2 = 0.16%

年化成本可能吞噬大部分超额收益

解决方案:

1. 换手惩罚:目标函数 - λ × 换手率
2. 只在偏离阈值时调仓
3. 使用更稳定的估计方法

改进方法

1. 收缩估计(Shrinkage)

将样本估计向更稳定的先验"收缩":

收缩协方差 = α × 样本协方差 + (1-α) × 结构化估计

常用结构化估计:
  - 对角矩阵(假设不相关)
  - 单因子模型
  - 等相关模型

2. Black-Litterman 模型

结合市场均衡和主观观点:

输入:
  1. 市场均衡收益(从市值权重反推)
  2. 投资者观点(:"我认为 AAPL 将跑赢 MSFT 3%")
  3. 观点置信度

输出:
  调整后的期望收益  更稳定的权重

3. 风险平价(Risk Parity)

不预测收益,只平衡风险贡献:

目标:每个资产对组合风险的贡献相等

三资产例子:
  总风险 = 15%
  每资产贡献 = 5%

结果:低波动资产权重更高,高波动资产权重更低

多智能体视角

在多智能体架构中,组合优化可以这样应用:

Signal Agents(多个)
  
  ├─ Agent A:输出 AAPL 预期收益
  ├─ Agent B:输出 MSFT 预期收益
  └─ Agent C:输出 GOOGL 预期收益
       
       
Portfolio Agent(组合优化器)
  
  ├─ 输入: Agent 的收益预测
  ├─ 估计协方差矩阵
  ├─ 执行均值方差优化
  └─ 输出:目标权重
       
       
Risk Agent
  
  ├─ 检查权重是否违反风险限制
  ├─ 检查换手率是否过高
  └─ 调整或拒绝建议权重

常见误区

误区一:历史最优组合在未来也最优

不对。最优化是过拟合的完美工具:

  • 过度依赖历史数据的噪音
  • 历史相关性可能变化
  • 期望收益估计不可靠

误区二:更多资产分散效果更好

有上限。边际效益递减:

资产数量 vs 分散效果:
  2  10:显著降低风险
  10  30:中等效果
  30  100:效果有限,复杂度增加

误区三:协方差矩阵是稳定的

危险假设。协方差在不同 Regime 下变化剧烈:

  • 正常时期:分散有效
  • 危机时期:相关性趋近 1,分散失效

实用建议

1. 从简单开始

起步选择:
- 等权重(1/N):稳健,不依赖估计
- 风险平价:不需要收益预测
- 最小方差:只需要协方差估计

2. 添加合理约束

推荐约束:
- 单一资产权重  30%
- 禁止做空(除非有明确做空策略)
- 换手率惩罚

3. 定期再平衡

再平衡策略:
- 固定周期:每月/每季度
- 阈值触发:偏离目标权重 >5% 
- 结合两者:阈值触发 + 最小间隔

总结

要点说明
核心思想通过低相关资产分散风险
基本公式组合方差 = w'Σw
关键挑战估计误差、极端权重、换手成本
改进方法收缩估计、Black-Litterman、风险平价
实用建议添加约束、从简单开始
Cite this chapter
Zhang, Wayland (2026). 背景知识:均值方差组合优化. In AI Quantitative Trading: From Zero to One. https://waylandz.com/quant-book/均值方差组合优化
@incollection{zhang2026quant_均值方差组合优化,
  author = {Zhang, Wayland},
  title = {背景知识:均值方差组合优化},
  booktitle = {AI Quantitative Trading: From Zero to One},
  year = {2026},
  url = {https://waylandz.com/quant-book/均值方差组合优化}
}