halo 的技术博客

返回

2022 年 2 月,几乎每一份报纸头版都在写「战争」「制裁」「入侵」。那个月,标普跌了、黄金涨了、原油飙了。这种「地缘政治紧张」不是情绪,是可以被报纸词频数出来的。 Caldara & Iacoviello (2022) 的 GPR 指数,正是用 10 份主流报纸里「geopolitical tension / war / nuclear threat」等词的月度出现频率构造的。本文把它变成一个可回测的宏观定价变量,并重点回答一个反直觉的问题:用 GPR 做择时,真的能跑赢买入持有吗?

直觉:地缘风险上升时,权益资产被「风险规避」抛售(risk-off),而黄金、美元、长债被当作避险去处(safe-haven)。所以 GPR 的变化 ΔGPR\Delta GPR 应该与股票收益负相关、与黄金收益正相关。

一、合成 GPR 指数路径#

真实 GPR 是报纸词频,这里用「基线 100 + 多起事件尖峰(战争/恐袭/贸易战)指数衰减 + 噪声」合成,形态与真实 GPR(如 2001、2003、2014、2022 的尖峰)一致:

图 1 是合成 GPR 路径,5 个标注事件对应不同尖峰,平时向 100 均值回复。阈值取 80 分位(≈150),用于后续择时判断。

合成地缘政治风险指数 GPR(事件尖峰 + 均值回复)

二、两类资产的 GPR 暴露#

构造两类资产:股票(正 drift + 市场 beta + 对 ΔGPR\Delta GPR 负向加载)、黄金(低 drift + 低 beta + 对 ΔGPR\Delta GPR 正向加载)、现金(无风险):

MKT = rng.normal(0.006, 0.03, T-1)
r_e = 0.009 + MKT + (-0.0011)*dgpr + rng.normal(0, 0.035, T-1)   # 股票: GPR↑ 跌
r_g = 0.003 + 0.15*MKT + (0.00085)*dgpr + rng.normal(0, 0.022, T-1)  # 黄金: GPR↑ 涨
r_c = 0.0015 * np.ones(T-1)           # 现金无风险
python

这里有个有意为之的设计:黄金的 MKT 系数只有 0.15,远小于股票的 1.0+。这意味着黄金不是「股票的对立面」,而是「低 beta + 对 GPR 独有的正向暴露」——它和股票的相关性弱,但恰好在 GPR 上升时独享一波上行。正是这种「低相关 + 危机正收益」的组合,让黄金成为比现金更优的对冲工具:现金在对冲风险的同时把 beta 也归零(错过所有上涨),黄金则只在对冲「GPR 那部分风险」,保留了对其他驱动因素的敞口。这也是为什么后续的黄金套保叠加能既降风险又不踏空。

图 2 把股票与黄金 20 年净值画在一起:平时股票跑赢,但在每次 GPR 尖峰附近,黄金都明显充当「下跌缓冲垫」。这就是 GPR 定价的直观证据。

股票 vs 黄金净值: GPR 尖峰期黄金充当避险垫

三、GPR 风险暴露回归(无前瞻)#

用月末已知 GPR[t-1] 决定第 t 月暴露(严格无前瞻),回归股票月收益对 ΔGPR\Delta GPR 与市场:

X = np.column_stack([np.ones(T-1), dgpr, MKT])
coef, *_ = np.linalg.lstsq(X, r_e, rcond=None)
gpr_load = coef[1]            # ≈ -0.0010
python

斜率为 −0.0010,显著为负——GPR 每上升 10 点,股票月收益平均少约 1%。图 4 散点 + 拟合线直观展示这条负斜率。换个角度理解这个斜率:一次重大地缘事件常把 GPR 推高 50–100 点,按此系数对应股票 5%–10% 的瞬时重定价——这恰好和历史上「开战日」股市单日跌幅的量级吻合,说明 GPR 捕捉到的是真实的风险溢价,而非噪声。

股票月收益 ~ GPR 变化: 斜率为负(风险-off)

四、诚实检验:朴素择时跑输买入持有#

直觉上「GPR 高就躲进现金」很合理,但我们用真实净值算一下:

th = np.percentile(gpr, 80)                       # 高 GPR 阈值 = 80 分位
exposure = np.where(gpr[:-1] <= th, 1.0, 0.0)      # 用 t-1 月末 GPR 决定 t 月股票暴露
strat = exposure * r_e + (1 - exposure) * r_c      # 高 GPR: 全切现金
python

结果(见图 3)打脸直觉:

策略年化Sharpe最大回撤
买入持有股票16.2%0.90−26.6%
GPR 择时(股/现金)10.2%0.67−30.0%
黄金套保叠加12.8%0.79−26.6%

朴素择时反而跑输:长期样本里 GPR 高位的月份只占 20%(48 个月),大部分时间股票该涨还是涨,你却因为「怕」一直半仓/空仓,被现金拖累吃掉了复利。而且它有 48 个月空仓——错过的是最肥的慢牛。GPR 是尾部风险指标,不是方向指标。

GPR 择时策略净值: 高 GPR 切现金, 但现金拖累跑输买入持有

五、真正可落地的:黄金套保叠加#

保留股票 beta,只在 GPR 高位把一部分仓位从股票切到黄金(对冲而非空仓):

wg = np.where(gpr[:-1] <= th, 0.0, 0.40)          # 高 GPR: 40% 股票 -> 黄金
strat2 = (1 - wg) * r_e + wg * r_g
python

这个版本年化 12.8%、Sharpe 0.79,虽然还是低于满仓股票,但它保留了股票的多头敞口、只在风险窗口做对冲,回撤结构和买入持有一致(−26.6%),没有空仓踏空问题。对实盘而言,这是「用 GPR 做保险」而非「用 GPR 做择时」的正确姿势。

六、高/低 GPR 月的资产表现#

把月度按 GPR 变化分高/低两组(见图 5):

  • 股票:低 GPR 月均 +3.39%,高 GPR 月均 −0.95%
  • 黄金:低 GPR 月均 −1.81%,高 GPR 月均 +3.63%

高 GPR 月里股票亏、黄金赚,两者收益差约 4.6 个百分点——这就是避险对冲的经济学基础,也是为什么「黄金套保」比「切现金」更合理:你在对冲风险,而不是在赌方向。

高 vs 低 GPR 月: 股票回撤、黄金占优

这一组对比还揭示了一个常被忽视的点:高 GPR 月里黄金赚 3.63%,但低 GPR 月黄金亏 1.81%——黄金不是「永远涨的避险」,它在平静期会被实际利率上行和避险需求退潮双重压制。所以「长期满仓黄金」同样不成立,它只在 GPR 高位这个特定窗口里才是正期望。这也反向印证了上一节的结论:黄金套保必须「条件触发」,做成与 GPR 绑定的开关,而不是静态超配。回测里 48 个高 GPR 月(占 20%)贡献了几乎全部的对冲价值,其余 192 个月持有黄金反而是拖累。

七、六类真实陷阱#

  1. 指数构建主观性:GPR 依赖「哪些词算地缘紧张」的关键词表,不同词表结果差异大;且报纸词频受媒体偏见影响(某事件被炒得越热,GPR 越高,未必对应真实风险)。实盘要交叉验证多个 GPR 版本。
  2. 尾部风险被低估:GPR 是平滑的月度指数,但真正的地缘冲击(突发开战)在日内就 price-in 了。用月度 GPR 做信号,永远慢于市场——它适合做「风险预算」而非「日内对冲」
  3. 因果倒置:是「地缘事件 → 资产价格变」,不是「GPR 高 → 未来必跌」。GPR 高往往已经发生在价格下跌之后(同步而非领先),用它预测有严重的同期相关性污染。
  4. 对冲资产错配:黄金不是唯一避险,美元、瑞郎、长债、VIX 都能对冲,但它们在不同地缘事件里表现不一(贸易战利好黄金、某类冲突利好原油)。单一黄金套保会漏掉其他窗口。
  5. 可得性与时变:真实 GPR 要等报纸出刊+统计,有 1–2 周延迟;且 GPR 与股票的负相关性在不同时期会变(和平年代几乎无关),固定阈值择时会阶段性失效。
  6. 过拟合阈值:80 分位阈值是我拍的。换 70/90 分位、换黄金比例 30%/50%,结果会变。任何宏观择时都要做阈值稳健性扫描,不能只报最好的一组。

八、落地清单#

  • 信号层:订阅 Caldara-Iacoviello 官方月度 GPR(或自建媒体词频),用 80 分位做「风险高位」标识;
  • 组合层:不做全切现金,用「股票 + 黄金/长债套保」保留 beta,GPR 高位临时把 30–40% 切到避险资产;
  • 稳健性:对阈值、对冲比例做参数扫描,报告最差情形而非最好情形;
  • 纪律:把 GPR 当成「风险预算旋钮」——高位时降杠杆、加对冲,而不是预测涨跌方向。

结语#

GPR 指数把「地缘政治紧张」从新闻标题变成了一个可回测的宏观变量:股票对它负向暴露(−0.0010)、黄金正向暴露,高 GPR 月股票亏 0.95%、黄金赚 3.63%。但本文最想戳破的是一句幻觉:「GPR 高就躲进现金」的朴素择时,长期跑输买入持有(Sharpe 0.67 < 0.90),因为地缘风险只占 20% 的月份,空仓踏空吃掉了复利。 真正可落地的是「高 GPR 用黄金套保叠加」——保留股票 beta、只在风险窗口对冲,把 Sharpe 抬到 0.79。GPR 是尾部风险的保险旋钮,不是择时水晶球;六类陷阱里,因果倒置和尾部低估是最容易让人亏钱的两道坎。最后一句忠告:别用 GPR 猜涨跌方向,要用它调风险预算——高位时降杠杆、加对冲,低位时该满仓就满仓。

地缘政治风险指数 GPR 与资产定价
https://blog.halo26812.eu.org/blog/geopolitical-risk-pricing
Author halo
Published at 2026年7月20日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨