"不要把所有鸡蛋放在一个篮子里——但要计算清楚放几个。"
核心思想
问题:给定 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.0 | 20.0% | 无 |
| +0.5 | 17.3% | 减少 13.5% |
| 0.0 | 14.1% | 减少 29.5% |
| -0.5 | 10.0% | 减少 50% |
| -1.0 | 0% | 完美对冲 |
关键洞察:相关性越低,分散化效果越好。
有效前沿
定义:在给定风险水平下,能获得最高期望收益的组合集合。
收益
│ ●─────── 最高收益点
│ ●●●
│ ●●●
│ ●●● ← 有效前沿
│ ●●●
│ ●●●
│ ●●●─────────────── 最小方差点
│
└──────────────────────→ 风险
有效前沿以下的点都是"无效"的:
同样风险可以获得更高收益
计算有效前沿
优化问题:
最大化:组合收益 = 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、风险平价 |
| 实用建议 | 添加约束、从简单开始 |