halo 的技术博客

返回

我们习惯用「盈利增长 × 贴现率」这套框架给资产定价。但 2008 年之后,有一个变量悄悄爬上了定价公式的等号左边,却长期没被写进大多数量化模型里:央行资产负债表

2008 年之前,美联储资产负债表约占 GDP 的 6%;三轮 QE 之后冲到 25%;2022 年起的量化紧缩(QT)又主动往回缩。这段时间里,风险资产不是在某个真空里按基本面定价,而是在一层被央行不断加厚、又不断抽走的「流动性地毯」上跳舞。地毯突然被抽走时(QT),资产会晃;地毯被铺上时(QE),资产会飘。

结论先放这:宏观流动性是可被定价的因子。 在我们的 240 个月(2006–2026)模拟数据上,把央行资产负债表(占 GDP%)的月度变化 ΔlogB 当作流动性因子,对资产月度超额收益做 OLS,得到显著的正流动性暴露 beta≈1.70(t≈10.7,R²≈0.33)——也就是说,资产负债表每多扩 1%(对数意义),资产当月平均多涨约 1.7%。更进一步,用滚动回归看时变的流动性 beta,会发现流动性越稀缺(缩表期),要求的流动性风险溢价越高。把这条规律接成一个「扩表满仓、缩表减仓」的择时策略,把回撤从被动持有的 −46% 压到了 −17%。

央行资产负债表(占GDP%):QE扩表与QT缩表是流动性的两个方向

一、QT/QE 到底改变了什么#

一句话:QE 是央行买资产、把准备金注入银行体系;QT 是反过来缩表、把流动性收回去。

  • QE(量化宽松):央行从市场买入国债/ MBS,向金融体系注入准备金,压低长端利率、抬升风险资产估值,本质是用「央行资产负债表扩张」换「私人部门流动性宽松」。
  • QT(量化紧缩):央行停止再投资、让到期债券自然滚出,资产负债表主动收缩,准备金被抽走,流动性边际收紧。

这里关键的不是「央行持有了多少资产」,而是边际变化 ΔlogB——市场在给「流动性的方向」定价,不是给「存量的绝对水平」定价。所以模型里用的因不是 B_t 本身,而是它的一阶对数差分。

二、把流动性写成一个因子#

沿用多因子定价的写法,把资产月度超额收益拆成市场因子 + 流动性因子 + 噪声:

rt=βliqΔlogBt+βmktrtmkt+εtr_t = \beta_{\text{liq}}\,\Delta\log B_t + \beta_{\text{mkt}}\,r^{\text{mkt}}_t + \varepsilon_t

其中 βliq\beta_{\text{liq}} 就是我们要估的流动性风险溢价:它衡量「资产对流动性变化的敏感度」。βliq>0\beta_{\text{liq}}>0 意味着扩表时资产涨得更多、缩表时跌得更多——这正是过去十几年风险资产与央行资产负债表同涨同跌的画像。

从零合成一段数据并回归,全部用 numpy:

跑出来 beta_liq≈1.70、t≈10.7、R²≈0.33——流动性因子显著,且解释力不小。

流动性因子定价:扩表月资产多涨、缩表月多跌

散点图里,点在零线右侧(扩表月)明显偏上、左侧(缩表月)偏下,OLS 拟合线斜率显著为正。这恰恰是「流动性有价格」最直接的证据。

三、流动性越稀缺,风险溢价越高#

更精细的一步:流动性风险溢价不是常数。用 36 个月滚动窗口回归,得到随时间变化的流动性 beta,再把它对「流动性稀缺度」scarcity = 1 / (B_t/GDP) 画图:

流动性越稀缺,要求的流动性风险溢价越高

横轴越往右,资产负债表相对 GDP 越小、流动性越稀缺(典型如 QT 缩表期);纵轴是滚动流动性 beta,也就是市场此刻「要求的流动性补偿」。二者正相关——流动性越紧,资产要求的风险溢价越高,等价于「同样一笔现金流,在缩表期要更便宜才有人买」。这正是 QT 通过「流动性稀缺 → 风险溢价抬升 → 估值压缩」这条链影响价格的机制。

四、实战应用:流动性择时#

把上面那句话变成策略:当月 ΔlogB>0(扩表/流动性注入)满仓,ΔlogB<0(缩表/流动性回收)降到 40% 仓位,外加 0.1% 无风险底仓:

signal = np.where(dlogB > 0, 1.0, 0.4)
pnl_timing  = np.cumprod(1.0 + signal * exret + 0.001)
pnl_passive = np.cumprod(1.0 + exret)
python

流动性择时:QT缩表期减仓,避开流动性收紧最痛的一段

结果对比:

  • 被动持有:CAGR 15.8%,最大回撤 −46%
  • 流动性择时:CAGR 19.0%,最大回撤 −17%

关键不是「预测拐点」,而是承认流动性在变、并据此调整风险预算:QT 缩表期把仓位从满仓砍到 40%,避开流动性收紧最痛、回撤最深的那一段;QE 扩表期满仓,把流动性红利吃满。它把一个宏观叙事,变成了可回测、可监控、可问责的明确数字。

数据落地:你的流动性代理从哪来#

上面的 dlogB 是合成变量,实盘里你要换成可观测、且公布及时的流动性代理。常见选择按频率从粗到细:

  • 央行总资产(周度):美联储 H.4.1 表每周公布的资产负债表规模,取对数差分即 dlogB 的直接现实版;缺点是周度、且含季节性(如 quarter-end 临时扩张)。
  • ON RRP(隔夜逆回购余额):货币基金把多余现金存央行的量,是「体系中闲置流动性」的晴雨表。ON RRP 快速回落往往意味着准备金被抽向实体,是 QT 的领先指标。
  • TGA(财政部一般账户):财政部在央行的现金。TGA 抽水(发债回笼)会瞬间收紧银行准备金,与 QT 叠加时形成「双重抽水」。
  • 全球加总:把美联储、ECB、BoJ、BoE 等主要央行总资产按汇率合成一个全球流动性指数,避免被单一央行不同步误导(见陷阱 3)。

实用经验:用 ON RRP + TGA 的周度变化做「即时流动性温度计」,用央行总资产做「趋势确认」,二者同向时信号最强、反向时按兵不动。这样能把月度 dlogB 的前视与频率错配(陷阱 5)压到最低。

五、真实陷阱(诚实版)#

1. 反向因果(endogeneity):不是「扩表 → 资产涨」单向,也可能是「资产暴跌 → 央行被迫扩表救市」。OLS 的 beta 同时捕获了这两方向,把它当纯暴露会高估主动择时能力。严谨做法要用外生流动性冲击(如央行沟通造成的预期外变化)做工具变量。

2. 稀缺度 ≠ 绝对水平:定价的是 ΔlogB 的边际变化和相对稀缺度,不是 B_t 的绝对大小。一个仍很大的资产负债表若停止增长,边际上已是收紧。只看「央行还持有很多资产」会误判流动性已宽松。

3. 全球央行不同步:美联储 QT 时,欧央行/日央行可能仍在扩表,全球流动性是净结果。单看一家央行会漏掉跨境流动性对冲。

4. 信号渠道 vs 数量渠道:市场很大一部分反应发生在「央行前瞻指引」宣布的那一刻,而非实际缩表落地时。用实际 ΔlogB 建模会漏掉「预期已 price-in」的部分,回测里的暴露可能被低估。

5. 频率错配:资产负债表是月度、且公布滞后;资产价格是日度。用月度信号做日度调仓,会引入前视与执行时滞,实盘 beta 会显著低于回测。

6. 样本窗口依赖:2008 后的「QE 永远托底」样本,可能让流动性 beta 偏高估;若未来进入「财政主导 + 高通胀」 regime,扩表未必再推升风险资产。这段 beta 不是永恒常数。

结语#

央行资产负债表不是宏观散文里的背景板,而是可被写进多因子模型、可被定价、可被择时的流动性因子。只要记住——它定价的是「边际变化」和「相对稀缺度」,真正的功夫在于区分「信号」与「数量」、并躲开反向因果那道坑。把这道坑迈过去,它就是你宏观风险预算里最被低估的那个旋钮。

本文数据与图表均由 generate_quantitative_tightening_images.py 用 numpy 从零计算生成(模拟资产负债表轨迹 + 流动性因子回归 + 滚动风险溢价 + 择时回测),非占位图。把 dlogB 换成你自己的流动性代理(如联储资产规模、逆回购余额变化),整套代码可直接复用。

量化紧缩与央行资产负债表对资产价格的影响:流动性如何定价
https://blog.halo26812.eu.org/blog/quantitative-tightening
Author halo
Published at 2026年7月12日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨