第67章 现代组合管理与资金分配¶
补充章节:Modern Portfolio Construction & Capital Allocation(原书出版后的市场发展)
在第65章中,我们讨论了策略的生命周期。当你的团队拥有了 10 个不同的策略(如 3 个动量、2 个均值回归、5 个套利),每个策略在不同市场环境下表现各异,如何将有限的资金(Capital)分配给它们?
传统的均值-方差优化(Mean-Variance Optimization, MVO)虽然理论优美,但在实践中往往失效。本章将介绍现代组合管理的实战方法:风险平价(Risk Parity)、层级风险平价(HRP)以及凯利公式(Kelly Criterion)的工程化应用,并进一步讨论动态权重调整与多策略绩效归因。
67.1 为什么 MVO 会失效?¶
Harry Markowitz 提出的 MVO 模型试图最大化组合的夏普比率。 $$ \max w^T \mu - \frac{\lambda}{2} w^T \Sigma w $$ 其中 \(\mu\) 是预期收益率向量,\(\Sigma\) 是协方差矩阵。
核心问题: 1. 输入敏感性:\(\mu\)(预期收益)极其难以预测。微小的误差会导致最优权重 \(w\) 发生剧烈变化(垃圾进,垃圾出)。 2. 相关性不稳定:\(\Sigma\)(相关性)在危机时刻会迅速趋向于 1(第 57 章已讨论)。MVO 会在此时过度集中于某些看似分散实则相关的资产。
67.2 风险平价(Risk Parity)¶
Bridgewater(桥水基金)的全天候策略(All Weather)普及了这一概念。 * 核心思想:不预测收益,只管理风险。让每个资产(或策略)对组合的总风险贡献相等。 * 做法:波动率高的资产(如股票),分配较少的资金;波动率低的资产(如债券),分配较多的资金(并加杠杆)。 * 优势:对 \(\mu\) 的估计误差不敏感,且在不同经济环境下表现稳健。
67.2.1 风险贡献的数学推导¶
要理解风险平价的精确含义,我们需要定义每个资产对组合总风险的边际贡献(Marginal Risk Contribution)和风险贡献(Risk Contribution)。
组合的总风险(以波动率度量)为:
第 \(i\) 个资产的边际风险贡献(MRC)为总风险对该权重的偏导数:
其中 \((\Sigma w)_i\) 是向量 \(\Sigma w\) 的第 \(i\) 个分量。直觉上,MRC 衡量的是"在第 \(i\) 个资产上多配置一个单位资金,组合波动率会增加多少"。
第 \(i\) 个资产的风险贡献(RC)定义为权重与边际风险贡献的乘积:
一个关键性质是,所有资产的风险贡献之和等于组合总风险(Euler 分解定理):
这意味着我们可以将组合总风险无遗漏地分配到各个资产上。
67.2.2 等风险贡献(ERC)约束与求解¶
风险平价的正式数学定义是等风险贡献(Equal Risk Contribution, ERC):
即每个资产对总风险的贡献相等。展开可得到 \(n-1\) 个等式约束:
由于 ERC 约束是非线性的,没有解析解,需要数值求解。常用的方法有两种:
方法一:Newton 迭代法。 将 ERC 条件写为最优化问题:
使用 Newton-Raphson 或序列二次规划(SQP)求解。收敛速度快,但需要计算 Hessian 矩阵,当资产数 \(n > 100\) 时计算量较大。
方法二:Spinu (2013) 的闭式近似。 对于仅有方差(无协方差)的简化情形,ERC 的权重可以近似为:
即权重与波动率成反比。这一直觉非常自然:波动率高的资产分配更少的资金。当资产间相关性不为零时,此公式仅作为迭代的初始值使用。
实践要点:在多策略组合中,协方差矩阵 \(\Sigma\) 本身需要稳健估计。常用的方法包括 Ledoit-Wolf 收缩估计(将样本协方差矩阵向单位矩阵收缩)和指数加权移动窗口(EWMA)以捕获相关性的时变特征。
67.3 层级风险平价(HRP)¶
Marcos Lopez de Prado 提出的 Hierarchical Risk Parity (HRP) 是机器学习时代的组合优化算法。 * 问题:传统风险平价假设资产间相关性结构是线性的。 * HRP 步骤: 1. 聚类(Clustering):使用层次聚类算法将相关性高的资产分在一组(如科技股一组,公用事业一组)。 2. 递归分配(Recursive Bisection):自顶向下,先在两个大类之间分配风险,再在类内部递归分配。 * 优势:无需对协方差矩阵求逆(避免了矩阵不可逆的问题),且对样本外数据的适应性显著优于 MVO。
67.3.1 HRP 完整算例¶
以下通过一个5策略的完整示例,展示 HRP 从原始数据到最终权重的全过程。
Step 1:计算相关矩阵与距离矩阵。
假设5个策略(动量A、动量B、均值回归C、套利D、套利E)的日收益率相关矩阵为:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| A | 1.00 | 0.85 | -0.20 | 0.10 | 0.15 |
| B | 0.85 | 1.00 | -0.15 | 0.12 | 0.18 |
| C | -0.20 | -0.15 | 1.00 | 0.05 | 0.08 |
| D | 0.10 | 0.12 | 0.05 | 1.00 | 0.72 |
| E | 0.15 | 0.18 | 0.08 | 0.72 | 1.00 |
将相关系数转换为距离度量:\(d_{ij} = \sqrt{\frac{1}{2}(1 - \rho_{ij})}\)。例如,\(d_{AB} = \sqrt{0.5 \times (1 - 0.85)} = 0.274\),\(d_{CD} = \sqrt{0.5 \times (1 - 0.05)} = 0.689\)。
Step 2:层次聚类。
使用 Ward 链接(最小化合并后的组内方差)进行聚类: 1. 首先合并距离最近的 A 和 B(\(d = 0.274\)),形成簇 {A, B} 2. 接着合并 D 和 E(\(d = 0.374\)),形成簇 {D, E} 3. 然后将 C 作为独立节点 4. 最终聚类树(Dendrogram)的结构为:{{A, B}, {C, {D, E}}}
Step 3:准对角化(Quasi-Diagonalization)。
根据聚类树对相关矩阵的行列进行重排序,使相关性高的策略在矩阵中相邻。重排后的顺序为 [A, B, D, E, C]——观察重排后的矩阵,对角线附近(同一簇内的元素)相关性高,远离对角线的元素相关性低。
Step 4:递归二分配权重。
自顶向下递归分配。假设各策略的年化波动率为:\(\sigma_A = 18\%\),\(\sigma_B = 20\%\),\(\sigma_C = 12\%\),\(\sigma_D = 15\%\),\(\sigma_E = 16\%\)。
- 第一层分割:{A, B} vs {C, D, E}。根据两个子簇的总方差比例分配权重。子簇 {A, B} 由于高相关性(\(\rho = 0.85\)),其组合方差较大;子簇 {C, D, E} 虽然包含3个策略,但内部相关性低,组合方差相对较小。假设计算得到的分配比例为 {A, B}: 35%, {C, D, E}: 65%。
- 第二层分割:在 {A, B} 内部,按波动率反比分配:\(w_A : w_B = (1/18\%) : (1/20\%) = 1.111 : 1\),归一化后 \(w_A = 52.6\%\), \(w_B = 47.4\%\)(相对于 35% 的分配额)。
- 在 {C, D, E} 内部,先分割 {D, E} vs {C},再在 {D, E} 内分配。
最终权重(近似):\(w_A \approx 18\%\), \(w_B \approx 17\%\), \(w_C \approx 28\%\), \(w_D \approx 20\%\), \(w_E \approx 17\%\)。
注意均值回归策略 C 获得了最大的权重——因为它波动率最低且与其他策略的相关性最低(甚至为负),这正是 HRP 的优势:自动识别分散化贡献最大的策略并给予更高权重。
67.3.2 嵌套聚类优化(NCO)¶
Lopez de Prado 在2020年提出了 HRP 的改进版——Nested Clustered Optimization (NCO)。NCO 的核心改进在于:HRP 在递归分配时仅使用方差信息("风险预算"范式),而 NCO 在每个聚类内部执行完整的均值-方差优化,然后在簇间进行另一层优化。
NCO 的三步流程:
- 聚类:与 HRP 相同,使用层次聚类将资产分组。
- 簇内优化(Intra-Cluster Optimization):在每个簇内部,执行 Markowitz 均值-方差优化,得到簇内最优组合。由于每个簇包含的资产数量很少(通常3-8个),协方差矩阵的条件数较低,MVO 的"输入敏感性"问题被大幅缓解。
- 簇间优化(Inter-Cluster Optimization):将每个簇的最优组合视为一个"超级资产",在簇间再执行一次优化。
NCO vs HRP 的适用场景:当预期收益估计 \(\mu\) 具有一定可信度时(例如基于因子模型或滚动夏普比率),NCO 优于 HRP,因为它利用了收益信息。当 \(\mu\) 的估计完全不可靠时,NCO 退化为 HRP(在簇内外均使用等风险贡献代替均值-方差优化)。
67.4 凯利公式与杠杆管理¶
67.4.1 离散凯利公式¶
对于单个策略,如何决定下注比例? $$ f^* = \frac{bp - q}{b} = \frac{p(b+1) - 1}{b} $$ 其中 \(f^*\) 是下注比例,\(b\) 是赔率,\(p\) 是胜率。
67.4.2 连续时间下的凯利公式¶
在连续时间框架下,假设策略的收益率服从几何布朗运动 \(dS/S = \mu \, dt + \sigma \, dW\),则最优杠杆(凯利分数)为:
其中 \(\mu\) 是超额收益率(扣除无风险利率后),\(\sigma\) 是收益率的标准差。直觉非常清晰:收益率越高、波动率越低,应该使用越高的杠杆。
数值示例:一个年化超额收益 \(\mu = 15\%\),年化波动率 \(\sigma = 20\%\) 的策略,全凯利杠杆为 \(f^* = 0.15 / 0.04 = 3.75\) 倍。这意味着应该借入2.75倍本金进行投资——在实践中,这一杠杆水平几乎没有任何基金经理会采用。
67.4.3 多策略向量化凯利¶
当同时运行 \(n\) 个策略时,最优资金分配向量为:
其中 \(\Sigma\) 是策略收益率的协方差矩阵,\(\boldsymbol{\mu}\) 是超额收益率向量。这是单策略 \(f^* = \mu/\sigma^2\) 的自然推广——当策略之间存在相关性时,协方差矩阵自动调整分配权重以利用分散化效应。
67.4.4 半凯利与分数凯利:实践中的调整¶
为什么不使用全凯利? 全凯利虽然长期增长率最高,但波动极其剧烈。关键数学结果是:
- Kelly 半衰期:使用全凯利时,财富从峰值回撤 50% 的期望等待时间为 \(t_{1/2} = \ln 2 / g^*\),其中 \(g^* = \mu^2 / (2\sigma^2)\) 是最优增长率。对于上面的示例,\(g^* = 0.15^2 / (2 \times 0.04) = 0.281\),\(t_{1/2} = 0.693 / 0.281 \approx 2.5\) 年——即平均每 2.5 年就会经历一次腰斩。
- 最大回撤分布:全凯利下的最大回撤(MDD)可由如下近似公式估计:\(E[\text{MDD}] \approx 1 - e^{-2g^*T}\),对于10年的投资期,几乎必然经历 90%+ 的回撤。
分数凯利的权衡:使用 \(\alpha \cdot f^*\)(\(\alpha \in [0, 1]\))替代全凯利。增长率与最大回撤的关系为:
| 分数 \(\alpha\) | 增长率(占全凯利%) | 期望最大回撤 |
|---|---|---|
| 1.0(全凯利) | 100% | ~90%+ |
| 0.5(半凯利) | 75% | ~50% |
| 0.3 | 51% | ~30% |
| 0.25(四分之一凯利) | 43.75% | ~25% |
半凯利(\(\alpha = 0.5\))保留了全凯利 75% 的增长率,但将最大回撤降低一半。大多数专业基金使用 \(\alpha \in [0.2, 0.5]\) 的范围。Edward Thorp 在其职业生涯中一贯建议使用半凯利或更低。
67.5 动态权重调整与再平衡¶
67.5.1 信号加权 vs 风险加权的混合框架¶
静态的风险平价或凯利分配假设策略参数(\(\mu\), \(\sigma\), \(\rho\))不随时间变化。现实中,策略的预期收益和风险都是时变的。一个实用的框架是将信号强度与风险预算结合:
其中 \(\text{signal}_i(t)\) 反映策略 \(i\) 在时刻 \(t\) 的预期表现(例如滚动夏普比率、动量信号),\(\text{risk\_budget}_i(t)\) 由风险平价框架给出。信号强度为零时退化为纯风险平价,信号权重为等权时退化为纯信号加权。
67.5.2 再平衡频率与交易成本的权衡¶
再平衡过于频繁会产生大量交易成本;过于稀疏则权重漂移导致组合偏离目标配置。最优再平衡频率取决于三个因素:
- 波动率水平:高波动资产权重漂移更快,需要更频繁的再平衡。
- 交易成本:滑点和手续费越高,再平衡阈值越大。
- 策略换手率:高换手策略本身就在持续交易,内在地进行了部分再平衡。
阈值再平衡(Threshold Rebalancing)是最常用的实践方法:当任一策略的实际权重偏离目标权重超过阈值 \(\Delta\)(通常为目标权重的 ±20%)时才触发再平衡。相比定期再平衡(如每月),阈值再平衡在实证上减少约 30%-50% 的再平衡交易次数,同时保持相似的跟踪误差。
67.5.3 Regime-Conditional Allocation¶
不同市场环境(regime)下,策略的表现特征可能发生质变。例如,趋势跟踪策略在高波动率环境下通常表现优异,而均值回归策略在低波动率环境下更为稳健。
Regime-conditional allocation 的基本思路是:
- Regime 识别:使用隐马尔可夫模型(HMM)或简单的波动率阈值将市场状态分为若干 regime(例如:低波动/趋势、高波动/均值回归、危机)。
- Regime 条件参数:在每个 regime 下分别估计策略的 \(\mu\)、\(\sigma\)、\(\rho\)。
- 条件分配:基于当前 regime 的参数重新计算权重。
风险提示:Regime 切换模型的最大风险在于过拟合——用历史数据训练的 regime 模型在样本外的 regime 识别准确率通常低于 60%。因此实践中应使用简单的 regime 定义(如 VIX 是否高于30),避免过度参数化。
67.6 多策略组合的绩效归因¶
67.6.1 收益分解框架¶
当一个多策略组合的月度收益为 \(R_p\) 时,我们需要回答:"这个收益来自哪里?" 标准的 Brinson 分解框架将组合收益分解为三项:
其中 \(w_i\) 是策略 \(i\) 的实际权重,\(w_i^b\) 是基准权重(例如等权),\(R_i\) 是策略 \(i\) 的实际收益,\(R_i^b\) 是基准中策略 \(i\) 对应类别的收益。
- 配置效应(Allocation Effect):因为超配了表现好的策略类别(或低配了表现差的类别)而产生的超额收益。
- 选择效应(Selection Effect):在每个类别内部,选择的具体策略表现优于/劣于该类别平均。
- 交互效应(Interaction Effect):配置与选择的交叉项。
67.6.2 风险归因¶
与收益归因互补的是风险归因——将组合的总风险分解为各策略的贡献。这正是 67.2 中风险贡献 RC 的直接应用。
实践中,基金经理最关心的两个风险归因维度是:
- VaR 分解:将组合的 VaR(参见第76章)分配到各策略。由于 VaR 不满足次可加性,常使用 component VaR 近似:\(\text{CVaR}_i = w_i \cdot \beta_i \cdot \text{VaR}_p\),其中 \(\beta_i\) 是策略 \(i\) 对组合的边际贡献系数。
- 最大回撤归因:识别组合最大回撤期间,哪些策略是主要贡献者。这比 VaR 分解更直觉——如果组合在某月回撤 8%,而策略 A 贡献了 5%、策略 B 贡献了 4%、策略 C 贡献了 -1%(正收益),基金经理可以直接看到哪里出了问题。
67.7 成本敏感的优化¶
在交易成本(滑点 + 手续费)存在的情况下,频繁调整权重会得不偿失。 * 周转率惩罚(Turnover Penalty):在优化目标函数中加入一项 \(-\lambda \sum |w_t - w_{t-1}|\)。 * 稀疏优化(Sparse Optimization):使用 L1 正则化(Lasso),强制某些权重为 0,只持有最有信心的资产,减少管理成本。
主要参考资料¶
- Advances in Financial Machine Learning Ch16 (Marcos Lopez de Prado, 2018) — HRP 算法的原始论文来源,系统阐述层次聚类在投资组合优化中的应用
- Active Portfolio Management (Richard Grinold & Ronald Kahn, 2000) — 信息比率、基本法则与因子组合管理的标准教科书
- The Kelly Criterion in Blackjack, Sports Betting, and the Stock Market (Edward Thorp, 2008) — 凯利公式应用于金融市场的经典论文,涵盖连续时间下的最优杠杆推导
- Expected Returns (Antti Ilmanen, 2011) — 跨资产类别的风险溢价与组合构建的综合参考,注重实证研究
- Risk Parity Fundamentals (Edward Qian, 2016) — 风险平价策略的数学基础与实践经验的系统总结
- Machine Learning for Asset Managers (Marcos Lopez de Prado, 2020) — NCO(嵌套聚类优化)的完整推导与实证比较
- A Robust Estimator for the Tail Index of Pareto-type Distributions (Roncalli, 2013) — 风险预算与等风险贡献组合的数学基础