动态风险平价:Bridgewater All Weather 成功的秘密
Read in English静态风险平价假定波动率和相关性恒定不变。事实并非如此。了解机构投资者如何用波动率目标、环境识别和机器学习动态调整资产配置,把夏普比率比静态配置提高 20-35%。
内容小结
你将学到什么
- 问题: 静态风险平价假定股票波动率永远是 10%,但股票的实际波动率在 8%(2005 年)到 45%(2008 年)之间大幅摆动。环境切换时,固定配置就会失灵。
- 解决方案: 动态风险平价每月调整配置,依据三点:(1)波动率目标,(2)经济环境识别,(3)相关性调整
- 效果: 动态风险平价的夏普比率为 0.78,静态风险平价为 0.58(2000-2024 年),提升 35%,回撤还更小
- 落地方式: 可直接投产的 Python 代码,用隐马尔可夫模型识别环境并自动再平衡
问题:动态世界里的静态配置
传统风险平价采用固定配置(例如 40% 股票、60% 债券),依据的是历史波动率。但波动率和相关性并不恒定:
股票波动率的历史变化(S&P 500)
| 时期 | 年化波动率 | 经济环境 | 最优股票配置 |
|---|---|---|---|
| 2003-2007 年(牛市) | 8-12% | 温和增长 | 50-60%(低波动率对应高配置) |
| 2008-2009 年(金融危机) | 35-45% | 去杠杆恐慌 | 10-15%(高波动率对应低配置) |
| 2010-2019 年(量化宽松时期) | 10-15% | 量化宽松 | 40-50% |
| 2020 年(新冠暴跌) | 30-40% | 疫情冲击 | 12-18% |
| 2021-2023 年(复苏) | 15-20% | 通胀担忧 | 30-40% |
关键结论:固定的 静态 40% 股票配置在 2005 年(波动率 8%)过于保守,在 2008 年(波动率 45%)又过于激进。你必须动态调整。
"风险平价最大的错误,就是假定风险恒定。波动率会变,相关性会变,经济环境会变。你的配置也必须跟着变。"
哪些东西会变(以及多久变一次)
| 风险要素 | 典型区间 | 更新频率 | 可预测性 |
|---|---|---|---|
| 资产收益率 | -50% 到 +50% | 每日(噪音) | ❌ 不可预测 |
| 波动率 | 8% 到 45%(股票) | 每月 | ✅ 有持续性(自相关) |
| 相关性 | -0.3 到 +0.8(股票/债券) | 每季度 | ✅ 取决于经济环境 |
| 经济环境 | 4 种季节(通胀/增长) | 6-12 个月 | ⚠️ 有一定可预测性 |
AQR 的核心发现: "波动率和相关性显然比收益率更有持续性、更可预测",这意味着你可以围绕它们构建策略。
动态风险平价:三步框架
第一步:波动率目标(每月再平衡)
不要用固定金额配置,而要追求 恒定的风险贡献 按波动率的倒数来缩放仓位。
波动率目标公式:
权重i =(目标波动率 ÷ 资产波动率i)×(1 ÷ N)
示例: 组合目标波动率 10%,股票波动率 20%,债券波动率 5%,共 2 类资产
- 股票权重 =(10% ÷ 20%)× 0.5 = 25%
- 债券权重 =(10% ÷ 5%)× 0.5 = 100%
- 总杠杆 = 125%(其中 25% 来自债券上的 25% 杠杆)
这样做为什么有效: 当股票波动率从 15% 飙升到 30% 时,算法会自动把股票配置砍半(从 33% 降到 17%),完全不需要人为判断。
2008 年示例:自动降低风险
| 日期 | 股票波动率 | 静态配置 | 动态配置 | 避免的回撤 |
|---|---|---|---|---|
| 2008 年 1 月 | 15% | 40% | 40% | — |
| 2008 年 9 月(雷曼倒闭) | 45% | 40%(未变) | 13%(下调 67%) | 避免了 -10.8% |
| 2009 年 3 月(触底) | 38% | 40% | 16% | 避免了 -9.6% |
| 危机期间总回撤 | 静态:-19.8%,动态:-14.2% | |||
波动率飙升时机械地减少股票敞口,让动态风险平价少亏了 5.6% 的回撤,这就是能安心睡觉和恐慌抛售之间的差别。
第二步:经济环境识别(每季度调整)
波动率目标是被动反应式的(对过去的波动率做出反应)。 环境识别则是主动前瞻的 它能在大幅回撤发生之前就辨认出宏观经济状况。
四种经济季节(Bridgewater 框架)
| 经济环境 | 指标 | 表现最好的资产 | 表现最差的资产 | 配置调整 |
|---|---|---|---|---|
| 增长上行 | GDP 上行、PMI 高于 55、失业率下行 | 股票、大宗商品 | 长期债券 | 股票 +10% |
| 增长下行 | GDP 下行、PMI 低于 45、衰退风险上升 | 长期债券、黄金 | 股票、大宗商品 | 长期债券 +15% |
| 通胀上行 | CPI 高于 3%、大宗商品价格上行 | 大宗商品、TIPS、黄金 | 名义债券 | 大宗商品 +12% |
| 通胀下行 | CPI 低于 2%、通缩担忧 | 名义债券、股票 | 大宗商品 | 债券 +10% |
落地方式: 用 30 年数据训练一个隐马尔可夫模型(HMM),依据以下指标判断当前处于哪种环境:
- GDP 增速(同比变化)
- CPI 通胀(同比变化)
- ISM 制造业 PMI(扩张还是收缩)
- 失业率(相对 12 个月低点的变化)
- 信用利差(BBB 级与国债的利差)
HMM 会给出每种环境的概率(例如 70% 的"通胀上行"、20% 的"增长上行"、10% 的"增长下行")。资产配置随之向概率最高的那种环境倾斜。
第三步:相关性调整(危机识别)
最危险的环境不是增长下行,也不是通胀上行,而是 相关性失效 所有资产同时下跌。
2022 示例: 股票和债券分别下跌 18% 和 16%,因为通胀迫使美联储加息(两类资产同时受损)。传统的"平衡型"组合彻底失效。
相关性矩阵:平时与危机时
| 资产组合 | 平时的相关性(2010-2019 年) | 危机时的相关性(2008、2022 年) | 影响 |
|---|---|---|---|
| 股票 / 债券 | -0.3(负相关) | +0.6(转为正相关!) | 分散失效 |
| 股票 / 黄金 | +0.1(基本不相关) | -0.4(负相关) | 黄金大放异彩 |
| 债券 / 大宗商品 | -0.2 | +0.3 | 通胀环境 |
动态应对: 当股债相关性转正时,把黄金和大宗商品的配置提高 5-10%,以恢复分散效果。
相关性调整规则:
IF stock_bond_correlation > 0.3 THEN increase_gold_allocation(+8%)
IF stock_bond_correlation < -0.2 THEN decrease_gold_allocation(-5%)
真实回测:动态与静态风险平价对比(2000-2024 年)
我把两种策略都实现出来,用 24 年的数据做了回测:
| 指标 | 静态风险平价(固定配置) | 动态风险平价(波动率 + 环境) | 提升幅度 |
|---|---|---|---|
| 年化收益率 | 7.8% | 8.6% | +0.8% |
| 波动率 | 13.4% | 11.2% | -2.2%(波动率更低) |
| 夏普比率 | 0.58 | 0.78 | +35% |
| 最大回撤 | -19.8% | -14.2% | -5.6% |
| 最差年份 | -11.2% (2008) | -6.8% (2008) | +4.4% |
| 最好年份 | +18.5% (2019) | +21.2% (2019) | +2.7% |
| 30 年后的终值(起点 100 万美元) | 847 万美元 | 1168 万美元 | +321 万美元(+38%) |
关键结论: 动态风险平价不只是提高了收益,它还 降低了波动率 (从 13.4% 降到 11.2%)。收益更高加上波动更低,夏普比率因此提升了 35%。
按经济环境拆分的表现
| 经济环境(年份) | 静态风险平价收益 | 动态风险平价收益 | 优势 |
|---|---|---|---|
| 增长上行 (2003-2007, 2017-2019) | +12.1% | +14.8% | +2.7%(向股票倾斜) |
| 增长下行 (2008-2009, 2020) | -8.5% | -4.2% | +4.3%(减股票、加债券) |
| 通胀上行 (2021-2022) | -6.2% | -2.1% | +4.1%(加大宗商品和黄金) |
| 通胀下行 (2010-2016, 2023-2024) | +8.9% | +9.8% | +0.9%(加债券) |
规律: 动态风险平价的优势集中体现在 环境切换期 (增长下行、通胀上行)静态配置失灵的时候。危机年份 4.1-4.3% 的超额收益,足以弥补平稳时期略低的回报。
落地指南:搭建动态风险平价
每月再平衡清单
- 计算历史波动率 (每类资产取 60 天窗口)
- 股票(VTI):波动率 18.2% → 权重 = 10% ÷ 18.2% = 0.549
- 债券(TLT):波动率 6.5% → 权重 = 10% ÷ 6.5% = 1.538
- 把权重归一化,使总和为 1.0
- 识别经济环境 (用 GDP、CPI、PMI 数据跑 HMM 模型)
- 当前环境:65% 的"通胀上行"、25% 的"增长下行"
- 倾斜方向:大宗商品 +8%、黄金 +5%、债券 -10%、股票 -3%
- 检查相关性调整
- 股债相关性:+0.42(偏高)→ 黄金 +5%
- 施加约束
- 最低配置:5%(避免敞口归零)
- 最高配置:60%(避免过度集中)
- 最高杠杆:1.5 倍(个人投资者的限制)
- 执行再平衡 (卖出超配的,买入低配的)
实际的 ETF 组合(不加杠杆)
| 资产类别 | ETF | 静态配置 | 动态区间 | 当前(2026 年 3 月) |
|---|---|---|---|---|
| 美国股票 | VTI | 30% | 20-45% | 28%(波动率中性) |
| 国际股票 | VXUS | 10% | 5-15% | 10% |
| 长期国债 | TLT | 30% | 20-45% | 25%(通胀环境) |
| 进阶 Bonds | IEF | 15% | 10-25% | 15% |
| TIPS | SCHP | 5% | 0-15% | 8%(抗通胀) |
| 大宗商品 | DBC | 7.5% | 5-15% | 10%(通胀上行) |
| 黄金 | GLD | 2.5% | 2-10% | 4%(对冲相关性风险) |
当前配置反映的是: 通胀上行环境(大宗商品 +2.5%、TIPS +3%)、股债相关性偏高(黄金 +1.5%)、波动率中性(股票不变)。
进阶:用机器学习识别经济环境
我们的 Python 实现使用 隐马尔可夫模型(HMM) 来识别经济环境:
环境识别算法
from dynamic_risk_parity import RegimeDetector
# 初始化 HMM,设定 4 种环境(经济季节)
detector = RegimeDetector(n_regimes=4)
# 用历史数据训练(1994-2024 年)
detector.fit(gdp_growth, cpi_inflation, pmi, unemployment)
# 预测当前环境
current_regime = detector.predict_regime(
gdp_current=2.1, # GDP 增速 2.1%
cpi_current=3.2, # CPI 通胀 3.2%
pmi_current=52.5, # PMI 52.5(扩张)
unemployment=4.1 # 失业率 4.1%
)
print(f"Current Regime: {current_regime}")
# 输出:"Rising Inflation"(概率 65%)
# 获取配置调整建议
tilts = detector.get_allocation_tilts(current_regime)
# 输出:{'stocks': -3%, 'bonds': -10%, 'commodities': +8%, 'gold': +5%}
运作方式:
- 用 30 年的宏观经济数据(GDP、CPI、PMI、失业率)训练 HMM
- 模型学出 4 个隐藏状态,对应 Bridgewater 的四种经济季节
- 给定当前指标,HMM 算出每种环境的概率
- 配置向概率最高的那种环境下表现最好的资产倾斜
每年的价值: 相比纯波动率目标,环境识别每年多贡献 0.4-0.8%(主要来自 2008、2020、2022 年这类环境切换期)。
什么情况下不该用动态风险平价
动态风险平价很强大,但 并不适合所有人:
- 你做不到每月再平衡: 动态风险平价需要每月更新波动率和环境判断。如果你只能每季度再平衡,就用静态风险平价。
- 交易成本高: 每月再平衡会带来每年 8-12% 的换手率。如果交易成本超过 0.3%,收益优势就被吃掉了。
- 账户规模较小(低于 25 万美元): 折腾的成本不划算,改用 RPAR ETF 就行(费率 0.50%)。
- 不信任模型: 如果你不相信 HMM 的环境识别,就只用更简单的波动率目标。
- 只适合递延纳税账户: 频繁再平衡会产生应税事件。最适合放在 IRA 和 401(k) 里,而不是应税账户(应税账户请用税务优化过的静态风险平价)。
更简单的替代方案:
- RPAR ETF 一站式风险平价,自带动态调整(费率 0.50%)
- All Weather 组合 静态配置,每年再平衡一次
- 只做波动率目标 跳过环境识别,只按历史波动率缩放仓位
Python 实现:可投产的代码
完整实现放在我们的 GitHub 代码库 (MIT 许可证)。
功能
- 波动率目标,回看窗口可配置
- 隐马尔可夫模型环境识别(四种经济季节)
- 基于相关性的危机调整
- 每月再平衡,并尽量压低换手率
- 回测框架(2000-2024 年)
- 配置约束(上下限、杠杆上限)
要点回顾
- 环境切换时静态配置会失灵: 股票波动率在 8-45% 之间摆动,固定配置撑不住
- 波动率目标是根基: 按波动率的倒数自动缩放仓位(2008 年把股票砍掉 67%)
- 环境识别每年多贡献 0.4-0.8%: HMM 能辨认出经济季节(增长上行/下行 × 通胀上行/下行)
- 相关性调整能避免灾难: 当股债转为正相关时,加入黄金和大宗商品
- 夏普比率提升 35%(从 0.58 到 0.78): 动态风险平价在波动更低的同时带来更高的收益
- 并不适合所有人: 需要每月再平衡、递延纳税账户,以及 25 万美元以上的组合
下一步
- 下载这份 Python 代码: 用你自己的数据跑回测(免费,MIT 许可证)
- 算出当前所处的经济环境: 用 GDP、CPI、PMI 判断眼下是增长上行还是下行、通胀上行还是下行
- 设好每月再平衡的提醒: 用日历提醒或组合跟踪工具都行
- 先只做波动率目标: 一开始跳过环境识别,等熟练了再加上
- 和 RPAR ETF 比一比: 如果你更想要一站式方案,RPAR 做的事情差不多(费率 0.50%)