零利率下限(ZLB)与偶发约束:OccBin 分段线性解与全局非线性求解
Occasionally Binding Constraint(偶发约束)是 2008 年后 DSGE 文献的核心难题:名义利率不能为负,当 Taylor 规则建议的利率跌破下限时,央行被"卡在地板上"。这一页从 NK 三方程出发,把 $i_t=\max(\underline i, i_t^\ast)$ 写成互补松弛条件,推导出约束绑定/松弛两种状态与预期驱动的通缩陷阱;随后进入本页重点——求解方法:分段线性的 OccBin(Guerrieri-Iacoviello 2015)与全局非线性的值函数迭代 / 政策函数迭代 / 投影法,给出完整可运行的 Dynare .mod(含 occbin 块)与完整 Python 全局求解器(中文注释),最后落到 ZLB 时期数据识别、财政乘数放大、前瞻性指引效应与福利分析。
本页在 NK 三方程(Eq.N10–N12)基础上增加 ZLB 约束与两套状态方程:影子利率定义(Eq.Z1)、ZLB 补余松弛(Eq.Z2)、松弛态 Taylor 规则(Eq.Z3)、绑定态利率钉住(Eq.Z4)、通缩稳态(Eq.Z5)、自然利率触发机制(Eq.Z6)、财政乘数桥(Eq.Z7)、期望桥(Eq.Z8)。每个公式按 Eq.Zx 编号。
01 概念直觉:为什么 ZLB 让线性模型失效
在前一页的 NK 三方程世界里,央行可以无限制地调利率:通胀低了就降息、产出差了就降息,实际利率总能把总需求拉回正轨。但现实中有一个硬约束——名义利率不能大幅低于零(更准确说是有效下界 ELB,约为 $-0.5\%\sim0\%$)。原因很直观:持有现金(通货)的名义回报是 0,如果银行存款利率是 $-2\%$,理性人会把钱取出来压在床垫下,银行体系就被挤兑了。于是名义利率存在一个下界 $\underline i$:
问题出在求解。标准 DSGE 用对数线性化 + 一阶扰动(见 15 扰动法),它假设模型在一个稳态附近"光滑",政策函数是状态变量的线性函数。但 ZLB 是一个不等式、分段、偶尔才绑定的约束:平时利率离零很远,约束形同虚设;一旦自然利率暴跌(2008 金融危机、2020 疫情),Taylor 规则建议的利率跌破零,央行被迫停在 $\underline i$。政策函数在"绑定 vs 松弛"两个区域之间不光滑、有拐点,一阶泰勒展开根本跨不过去。
这类约束叫 Occasionally Binding Constraint(OBC,偶发约束):大部分时间不绑定,小部分时间绑定。它不同于"永远绑定"(直接改方程即可)或"永远松弛"(标准线性模型),难点在于经济体会预期到自己将来可能撞上下界,这种"对未来绑不绑的预期"会反过来影响今天的消费、定价与通胀——预期效应是 OBC 模型最反直觉、也是最重要的部分。
02 经济环境与假设:NK 三方程 + 利率下界
我们直接复用 10 NK 三方程的内核,只把 Taylor 规则换成"带地板的版本"。先回顾三大线性化核心(全部变量为偏离稳态的季度口径):
变量:$\hat y_t$ 产出缺口;$\hat\pi_t$ 通胀;$\hat i_t$ 名义利率;$\hat r_t^n$ 自然利率。参数:$\sigma$ 风险厌恶、$\kappa$ NKPC 斜率、$\beta$ 贴现。直觉:实际利率 $(\hat i_t-E_t\hat\pi_{t+1})$ 越高,当期需求越弱;正产出缺口推通胀。
关键修改在政策规则。央行希望按 Taylor 规则设定一个"意愿利率" $i_t^\ast$(shadow rate,影子利率),但受零下限约束,实际利率取二者较大值:
设定理由:$\max$ 把"央行想做的事"(Taylor 规则)和"能做的事"(不低于零)分开。$i_t^\ast$ 是影子利率——如果不受约束央行会设的利率;$\hat i_t$ 是实际成交的政策利率。参数:$\phi_\pi,\phi_y$ Taylor 系数;$\hat\nu_t$ 货币政策冲击;$\underline i$ 下界(对数线性模型里设为 0,对应"利率不能再降")。经济直觉:当 $i_t^\ast>\underline i$,约束松弛,$\hat i_t=i_t^\ast$;当 $i_t^\ast<\underline i$,约束绑定,$\hat i_t=\underline i$,央行"想降降不动"。
$\hat i_t$ 是可观测的政策利率(到了 ZLB 就一直贴在 0 附近);$i_t^\ast$ 是不可观测的、被约束压住的"应有"利率。量化宽松(QE)等非常规政策相当于在不抬高 $\hat i_t$ 的情况下压低 $i_t^\ast$。文献里用 Wu-Xia、Krippner 影子利率把它从收益率曲线上"估"出来(见 §9)。把影子利率当实际利率用,是新手第一大错。
自然利率 $\hat r_t^n$ 被建模为高度持续的 AR(1),它就是把经济推入 ZLB 的"扳机":
设定理由:2008 后大缓和时代估计的 $\rho_r$ 高达 0.9~0.95,意味着自然利率暴跌后要很多年才能回升——这段时间 ZLB 一直绑着。直觉:当 $\hat r_t^n$ 大幅为负(家庭想储蓄、企业不想投资),即使 $\hat i_t=0$,实际利率 $-\hat\pi_{t+1}$ 仍然太高,需求疲软。
03 完整推导:互补松弛与两种状态
$\max(\underline i,i_t^\ast)$ 这个式子,在优化理论里对应一个不等式约束 + 拉格朗日乘子。把它写严谨,就是 KKT 条件里的互补松弛(complementary slackness)。
3.1 从 max 到互补松弛条件
引入一个非负的"绑定乘子" $\mu_t\ge 0$,度量 ZLB 有多紧。$\max(\underline i,i_t^\ast)$ 等价于下面两条约束同时成立:
含义:乘子 $\mu_t$ 只能在约束绑定的地方非零。互补项 $\mu_t(\hat i_t-i_t^\ast)=0$ 是关键:① 若约束松弛($i_t^\ast>\underline i$),则 $\hat i_t=i_t^\ast$,乘子 $\mu_t=0$;② 若约束绑定($i_t^\ast<\underline i$),则 $\hat i_t=\underline i$,乘子 $\mu_t>0$。直觉:"不绑就不惩罚,绑了才惩罚"——这正是分段线性求解器(OccBin)的数学原型。
3.2 状态 A:约束松弛(normal regime)
当 $i_t^\ast>\underline i$,乘子为零,模型退回标准三方程:
3.3 状态 B:约束绑定(ZLB regime)
当 $i_t^\ast<\underline i$,利率被钉在地板上,Taylor 规则的反应系数暂时失效:
关键推导:把 $\hat i_t=\underline i$(在对数线性模型 $\underline i=0$)代入 IS 曲线,实际利率变成 $-\hat\pi_{t+1}-\hat r_t^n$。此时央行无法通过降息对冲:$\hat r_t^n$ 越负,$\hat y_t$ 越往下掉;而且因为 $E_t\hat\pi_{t+1}$ 出现在分母符号里,通缩预期会自我加强——这就是 ZLB 陷阱的数学种子。
状态 A 与状态 B 是两套不同的方程(第三式一个是 Taylor 规则、一个是常数)。一阶扰动法只在一个稳态附近展开,假设政策函数处处光滑,根本不知道有"切换"这回事。若强行在原点做一阶线性近似,Dynare 会把 $\hat i_t=\max(0,\cdot)$ 线性化成 $\hat i_t=i_t^\ast$(因为稳态 $\hat i=0$ 处 max 的子梯度选错),等于假装 ZLB 不存在,2008 那种大冲击的 IRF 完全算错。
04 ZLB 陷阱:预期驱动的通缩稳态
ZLB 最深刻的含义不是"政策暂时失效",而是它打开了第二个均衡。Eggertsson-Woodford(2003)、Benhabib-Schmitt-Grohé-Uribe(2001)证明:在 ZLB 下,理性预期模型存在一个预期驱动的通缩稳态(deflationary / liquidity-trap steady state)。
4.1 稳态的两条候选
长期稳态下 $E_t\hat y_{t+1}=\hat y_t=0$、$E_t\hat\pi_{t+1}=\hat\pi_t=\bar\pi$。把稳态代入,系统有两个不动点:
① 目标稳态(正常):$\bar\pi=0,\ \bar i=\bar r^n$,Taylor 原理 $\phi_\pi>1$ 保证它确定。
② 通缩稳态(陷阱):此时 $\hat i_t=\underline i$ 绑定,IS 稳态要求 $\underline i-\bar\pi=\bar r^n$。在名义下界 $\underline i=0$ 下得 $\bar\pi=-\bar r^n<0$——通胀为负,利率贴着零,产出低于自然水平,且自我维持。
直觉:如果所有人都预期"央行救不了、价格会跌",企业就降价→实际利率上升(因为 $i=0$ 降不动)→需求更弱→企业更降价,预期自我实现。日本 1999 年后的"失去的二十年"就是这个均衡的现实版。
4.2 自然利率冲击如何触发 ZLB
05 求解方法 I:OccBin 分段线性解(Guerrieri-Iacoviello 2015)
处理 OBC 有两条路线:分段线性(便宜、可估计、够用)和全局非线性(贵但精确)。本节讲第一条,也是 Dynare 内建的 occbin 工具箱。
5.1 核心思想:把"切换"本身当成状态
OccBin(Occasionally Binding)不做全局近似,而是承认模型在两个 regime 间切换:用两套线性方程(松弛态 Eq.Z3 / 绑定态 Eq.Z4),并在每一个时点、每一条模拟路径上判断约束绑没绑定,用一个确定性的前向迭代把"今天绑不绑"与"明天预期绑不绑"联立求解。
它假设:足够远的未来,经济一定回到松弛态(ZLB 是临时的)。于是从未来已知端点往回推,逐期判断"这一期按绑还是松算"。这是一种分段线性 + 预期一致的局部解,速度快到可以做贝叶斯估计。
5.2 与一阶扰动的本质区别
| 维度 | 一阶扰动(标准 Dynare) | OccBin 分段线性 | 全局非线性 |
|---|---|---|---|
| 政策函数 | 处处光滑线性 | 分段线性,按 regime 切换 | 真正非线性(凸/凹、拐点) |
| ZLB 处理 | 直接忽略 max,算错 | 显式声明约束,逐期判断 | 网格上迭代自然体现 |
| 预期效应 | 无(不知将来会绑) | 有(倒推未来 regime) | 有(政策函数含全状态空间) |
| 计算成本 | 毫秒级 | 秒~分钟级,可估计 | 分钟~小时级,难估计 |
| 精度 | 小波动、远离 ZLB | 大冲击、临时 ZLB | 深 ZLB、多重稳态、长持续 |
5.3 Dynare 的 occbin 命令长什么样
OccBin 在 Dynare 里通过 occbin; 块声明约束,并写两个 model 块:第一个是"约束不绑"的参考模型(Taylor 规则生效),第二个是"约束绑定"的受限模型(利率钉在 $\underline i$)。§7 给出完整可运行工程。
06 求解方法 II:全局非线性方法
当 ZLB 很深、持续很久,或想认真研究通缩稳态、多重均衡时,OccBin 的"假设终将脱离 ZLB"就不够了,必须上全局求解(global solution):在整个状态空间上迭代出真正的非线性政策函数。
6.1 值函数迭代(VFI, Value Function Iteration)
把代表性家庭的值函数 $V(s)$ 在状态 $s$(这里是自然利率状态 $\hat r^n$)的网格上迭代:猜一个 $V(s)$,对每个网格点求解 Bellman 方程取最大,更新 $V$,直到收敛。优点是收敛性有理论保证(压缩映射);缺点是 curse of dimensionality——状态一多网格指数爆炸,NK 三方程全局还能算,中尺度模型就不行了。
6.2 政策函数迭代(PFI / 时间迭代)
不迭代值函数,直接迭代政策函数 $g(s)$:猜 $\hat y(\cdot),\hat\pi(\cdot)$ 作为"明天"的策略,用 IS/NKPC/ZLB 三式解出"今天"的最优 $\hat y,\hat\pi$,更新策略函数直到收敛。它比 VFI 快一个量级,且天然处理 max 约束——今天算 $\hat i_t=\max(\underline i,\phi_\pi\hat\pi_t+\phi_y\hat y_t)$ 就行,不需要光滑假设。注意:纯前望 NK 在深 ZLB 绑定区局部特征根略大于 1,朴素逐点时间迭代可能数值发散;本页 §8 的代码改用"全网格残差一次性求根"的更稳实现,思想仍是在网格上逼近政策函数。
6.3 投影法(Projection / Chebyshev)
把政策函数用 Chebyshev 多项式基展开 $\hat y(s)\approx\sum_k a_k T_k(s)$,用残差正交条件(配点法 collocation)定系数 $a_k$。状态少时精度高、光滑;但状态空间一高,配点与基函数系数也会爆炸,且不擅长"有拐点"的政策函数(ZLB 的 max 就是拐点)。
6.4 参数化期望(PEA, Parameterized Expectations)
Marcet 提出:不近似政策函数,而近似期望项 $E_t[\hat y_{t+1}],E_t[\hat\pi_{t+1}]$ 为状态的多项式。模拟长序列、用最小二乘更新多项式系数,迭代收敛。适合有随机模拟需求、且期望项维数低的模型。
① 只是想让 IRF 在大冲击下别爆炸、要做贝叶斯估计 → OccBin(首选,便宜)。② 状态少(≤3)、ZLB 深且想研究多重稳态/福利 → PFI/VFI 全局。③ 政策函数光滑、想要高精度导数 → 投影法。④ 模型大但期望项低维 → PEA。文献主流:OccBin 做估计,全局方法做"理论性质"分析。
07 Dynare .mod:完整 OccBin 工程
下面是一个完整可运行的 OccBin .mod,存为 zlb_occbin.mod。结构:第一个 model; 块写"无约束"的 Taylor 规则版;occbin; 块声明下界约束;第二个 model(linear); 块写"绑定"版(利率钉死)。运行 dynare zlb_occbin.mod。
// ============================================================
// zlb_occbin.mod —— NK 三方程 + 名义利率零下限(OccBin)
// 运行:dynare zlb_occbin.mod
// 思想:两套 model 块分别对应 "约束松弛" 与 "约束绑定"
// occbin 块声明 i >= i_lb,绑定时把 i 钉到下界
// ============================================================
var y pi i rn ;
varexo eps_rn ;
parameters beta sigma varphi epsilon theta kappa ...
phi_pi phi_y rho_rn i_lb;
// ---------- 深参数校准(与 NK 三方程页一致) ----------
beta = 0.99;
sigma = 1.0;
varphi = 1.0;
epsilon = 6.0;
theta = 0.75;
kappa = (1-theta)*(1-beta*theta)/theta*(sigma+varphi)/(1+epsilon*varphi);
phi_pi = 1.5;
phi_y = 0.125;
rho_rn = 0.90;
i_lb = 0.0; // 零下界(对数线性模型里取 0)
// ============================================================
// 【model 块 1】约束【松弛】:Taylor 规则完全生效
// ============================================================
model;
// (1) IS 曲线
y = y(+1) - (1/sigma)*( i - pi(+1) - rn );
// (2) NKPC
pi = beta*pi(+1) + kappa*y;
// (3) Taylor 规则(无下界的"影子"意愿利率)
i = phi_pi*pi + phi_y*y;
// (4) 自然利率 AR(1)
rn = rho_rn*rn(-1) + eps_rn;
end;
// ============================================================
// 【occbin 块】声明偶发约束:名义利率不能低于 i_lb
// ============================================================
occbin;
var i; // 被约束的变量
parameters i_lb; // 下界参数
constraints;
i >= i_lb; // 不等式约束
restrictions;
i = i_lb; // 一旦绑定,把 i 钉到下界(替换 Taylor 规则)
end;
// ============================================================
// 【model 块 2】约束【绑定】:利率钉死在 i_lb
// 只把第三式换成 i = i_lb,其余与块1相同
// ============================================================
model(linear);
y = y(+1) - (1/sigma)*( i - pi(+1) - rn );
pi = beta*pi(+1) + kappa*y;
i = i_lb; // 关键区别:不再按 Taylor 规则调
rn = rho_rn*rn(-1) + eps_rn;
end;
// ---------- 初始值(正常稳态原点) ----------
initval;
y = 0; pi = 0; i = 0; rn = 0;
end;
steady;
// ---------- 自然利率冲击(一次性大负冲击推入 ZLB) ----------
shocks;
var eps_rn; stderr = 0.01;
end;
// 给一个大的负自然利率冲击(-3%),观察经济如何撞入并走出 ZLB
// periods=80:模拟 80 个季度;replic:确定性模拟路径
shocks;
var eps_rn = (-0.03); // 第 1 期一个 -3% 的自然利率冲击
end;
occbin_setup(display_occbin);
simul(periods=80);
// 想对比"无约束"版本:把 occbin 块与第二个 model 块删掉,
// 直接 stoch_simul 跑块1即可,会看到利率被允许降到负值(错误!)
不同 Dynare 版本的 OccBin 语法略有差异:≥4.6 用 occbin; 块 + 双 model 块;更早版本用 occbin_setup; / occbin_solver; 命令式写法。Guerrieri-Iacoviello 官方 replication 文件 occbin_example.mod 是最权威的对照。若报"inconsistent model blocks",多半是两个 model 块的变量声明没对齐。
08 Python 全局求解器:状态网格 + 联立求根
下面是一个完整可运行的全局求解器,用 numpy/scipy 在自然利率 $\hat r^n$ 网格上求政策函数。状态取自然利率,用 Rouwenhorst 离散 AR(1);控制 $\hat y,\hat\pi$,利率直接取 $\max(\underline i,\cdot)$。我们把全网格的 IS/NKPC/ZLB 残差堆叠成一个大方程组,一次性求根——这比朴素的时间迭代更稳,能避免深 ZLB 区的数值发散。
# ============================================================
# zlb_global_solve.py —— NK三方程 + ZLB 的全局非线性求解
# 方法:在状态 rn 网格上,把每个网格点的 IS/NKPC/ZLB 残差
# 全部堆叠成一个大的非线性方程组,用 fsolve 一次性求根。
# 说明:纯前望 NK 在"深 ZLB 绑定区"局部特征根>1,朴素的
# 时间迭代会发散;直接联立求根能稳定收敛到全局政策函数。
# 状态:自然利率 rn(AR(1),用 Rouwenhorst 离散)
# 控制:产出缺口 y, 通胀 pi, 名义利率 i
# 依赖:numpy, scipy
# ============================================================
import numpy as np
from scipy.optimize import fsolve
# ---------- 1. 深参数(与 Dynare 一致) ----------
beta = 0.99 # 贴现因子
sigma = 1.0 # 风险厌恶
kappa = 0.0245 # NKPC 斜率(由深参数推出)
phi_pi = 1.5 # Taylor 通胀系数
phi_y = 0.125 # Taylor 产出系数
rho_rn = 0.90 # 自然利率持续性
sd_rn = 0.01 # 自然利率 innovation 标准差
i_lb = 0.0 # 名义利率零下界(对数线性口径)
# ---------- 2. 用 Rouwenhorst 把 AR(1) 离散成状态网格 ----------
N = 21 # 自然利率网格点数
p = (1 + rho_rn) / 2.0 # Rouwenhorst 相邻转移概率
def rouwenhorst(N, p, q):
# 递归生成 N 点马尔可夫链转移矩阵 Pi
Pi = np.array([[p, 1-p], [1-q, q]])
for _ in range(N-2):
a = np.zeros((Pi.shape[0]+1, Pi.shape[1]+1))
a[:-1, :-1] += p*Pi
a[:-1, 1:] += (1-p)*Pi
a[1:, :-1] += (1-q)*Pi
a[1:, 1:] += q*Pi
a[1:-1, :] /= 2
Pi = a
return Pi
Pi = rouwenhorst(N, p, p)
# 状态网格:对称中心 0,跨约 3.5 个无条件标准差
g = 3.5*sd_rn/np.sqrt(1-rho_rn**2)
rn_grid = np.linspace(-g, g, N)
# ---------- 3. 定义残差方程组(把 N 个网格点全部堆叠) ----------
# 未知向量 x = [y(0..N-1), pi(0..N-1)],共 2N 个未知量
def residuals(x):
y = x[:N] # 各网格点的产出缺口政策值
pi = x[N:] # 各网格点的通胀政策值
# 期望项:E[y']=Pi@y, E[pi']=Pi@pi(对明天政策函数求期望,
# 天然包含"将来可能撞 ZLB"的前向预期)
Ey = Pi @ y
Epi = Pi @ pi
r = np.zeros(2*N)
for j in range(N):
# 意愿(影子)利率与实际利率:ZLB 取 max(i_lb, 意愿)
i_star = phi_pi*pi[j] + phi_y*y[j]
i = i_star if i_star >= i_lb else i_lb # 关键的分段 max
# IS 曲线残差:y_j = Ey_j - (1/sigma)(i_j - Epi_j - rn_j)
r[j] = y[j] - Ey[j] + (1/sigma)*(i - Epi[j] - rn_grid[j])
# NKPC 残差:pi_j = beta*Epi_j + kappa*y_j
r[N+j] = pi[j] - beta*Epi[j] - kappa*y[j]
return r
# ---------- 4. 初始猜测:无约束线性解附近 ----------
# 无约束时 y 对 rn 的导数约为 2.78(由深参数推出),pi 约 0.625*y
x0 = np.concatenate([2.78*rn_grid, 0.625*2.78*rn_grid])
# ---------- 5. 直接联立求根(全局政策函数) ----------
sol, info, ier, msg = fsolve(residuals, x0, full_output=True, xtol=1e-11)
y_policy = sol[:N]
pi_policy = sol[N:]
print(f"[求解] fsolve 收敛状态 ier={ier}")
# ---------- 6. 后处理:实际利率政策函数与绑定标记 ----------
i_star = phi_pi*pi_policy + phi_y*y_policy
i_policy = np.maximum(i_lb, i_star) # 实际利率(含 ZLB)
binding = i_policy <= i_lb + 1e-9 # 哪些状态 ZLB 绑定
# ---------- 7. 打印关键结果 ----------
print("\n=== 全局政策函数(自然利率由低到高) ===")
print(f"{'rn':>8}{'y':>10}{'pi':>10}{'i(实际)':>10}{'ZLB绑定?':>10}")
for j in [0, N//4, N//2, 3*N//4, N-1]:
print(f"{rn_grid[j]:8.4f}{y_policy[j]:10.4f}{pi_policy[j]:10.4f}"
f"{i_policy[j]:10.4f}{str(binding[j]):>10}")
print("\n经济直觉:")
print("· rn 很负(深衰退)时 y 大幅为负、i 被钉在 0(ZLB 绑定);")
print("· 因为央行降不动息,通缩+衰退被前向预期放大;")
print("· rn 回到 0 附近,约束松弛,i 随 Taylor 规则正常变动。")
① 全局网格:在自然利率 $r^n$ 的整个网格上求政策函数 $\hat y(\cdot),\hat\pi(\cdot)$,而不是只在原点线性化——这是"全局"二字的含义。② 分段 max:每个网格点的实际利率 $i=\max(\underline i,\phi_\pi\hat\pi+\phi_y\hat y)$,绑不绑由解本身内生决定。③ 期望:$E[y_{t+1}]=\sum_k\pi_{jk}y_{k}$ 用转移矩阵对"明天政策函数"加权,天然包含了"将来可能撞 ZLB"的前向预期。④ 用 fsolve 把全网格残差一次性求根,比朴素时间迭代更稳(深 ZLB 绑定区局部特征根 >1,单步迭代会发散)。收敛后 $\hat y(\cdot),\hat\pi(\cdot),\hat i(\cdot)$ 就是全局非线性政策函数,可直接画 IRF、算福利。
09 估计与数据:ZLB 时期识别与影子利率
9.1 主要 ZLB 时期的经验识别
| 经济体 | ZLB/ELB 时期 | 政策利率代理 | 数据含义 |
|---|---|---|---|
| 美国 | 2008Q4 – 2015Q4 | Federal Funds Rate ≈ 0–0.25% | 大衰退后七年零利率;2015.12 首次加息退出 |
| 欧元区 | 2014 – 2022 | DFR(存款便利利率)略低于 0 | ELB(有效下界)而非严格零;2022 通胀回升后退出 |
| 日本 | 1999 – 至今 | 无担保隔夜拆借利率 ≈ 0(后转负) | 史上最长 ZLB,通缩稳态的现实样本 |
| 美国(疫情) | 2020Q1 – 2022 | Fed Funds Rate 回零 | 短暂二次撞 ZLB |
9.2 影子利率数据:Wu-Xia 与 Krippner
ZLB 期间名义利率贴地,用 $i_t$ 当政策立场会严重低估宽松程度(QE、前瞻指引都在压低长端/影子利率)。文献用影子利率补全这段:
- Wu-Xia Shadow Rate(Wu-Xia 2016):用无套利 AFNS 收益率曲线模型,从整个收益率曲线反推出"若没有零约束,短端利率本该是多少"。ZLB 期间它为负,正好度量 QE 的额外宽松。数据公布于亚特兰大联储网站。
- Krippner(2013)Shadow Rate:同样基于期权定价框架(shadow-rate / term-structure model),方法略异但结论一致,圣路易斯联储 FRED 上有序列
BWAMESS/KRNSR等。
影子利率是从收益率曲线反推的"应有短端利率",不是任何人实际借贷的价格,不能直接塞进预算约束当 $i_t$ 用。它的正确用法是:① 作为政策立场的度量(画图、做 VAR);② 估计 DSGE 时作为 ZLB 期间"无约束政策利率"的代理观测。把影子利率当观测利率硬塞进观测方程,量纲与传导都会错。
9.3 贝叶斯估计中如何处理 OBC
标准贝叶斯 DSGE 用卡尔曼滤波,但 ZLB 让模型非线性、非高斯,卡尔曼不再适用。三条主流路线:
10 模拟与结果:IRF、财政乘数与前瞻指引
10.1 绑定 vs 无约束 IRF 的对比
对一个同样大的负自然利率冲击,OccBin 解与"假装无约束"解的 IRF 差异巨大:
- 无约束(错误):名义利率自由降到 $-2\%$,实际利率下降,产出只是小幅下滑——严重低估衰退。
- 绑定(正确):利率钉在 0,无法降息;产出缺口大幅为负、通胀转负;而且因为预期"未来几期还绑着",同期跌幅被放大,复苏更慢。
10.2 财政乘数在 ZLB 处放大(Christiano-Eichenbaum-Rebelo 2011)
这是 ZLB 文献最著名的定量结论。正常时期政府支出乘数约 0.5~1(部分挤出);但在 ZLB:
传导链:政府花钱→产出上升→通胀上升→由于 $\hat i_t=\underline i$ 降不动,通胀上升直接压低实际利率→进一步刺激私人消费投资→乘数自我放大。CER(2011) 校准出 ZLB 处乘数可达 2 甚至更大。直觉:正常时期政府发债会推高利率挤私人;ZLB 时利率被钉死,"挤出"变成"挤入"。
10.3 前瞻性指引(Forward Guidance)效应与"谜题"
央行承诺"在经济复苏后仍维持低利率"。由 IS 曲线 $y=E_t y_{t+1}-\frac1\sigma(i-E\pi_{t+1}-r^n)$,远期未来的利率承诺,会通过 $E_t y_{t+1}$ 一直传导到今天。但标准模型预测:越远的指引效应越大(远期指引谜题 forward guidance puzzle)——这在理论上不合理(应该越远越弱),是线性 NK 模型的著名缺陷,需引入折扣预期、有限承诺等修正(Del-Negro-Macro 2015)。
10.4 福利分析
ZLB 造成的福利损失远超正常波动:① 无法对冲大需求冲击,产出缺口与通胀波动都被放大;② 通缩稳态一旦预期形成,可能长期困在低水平均衡。政策含义由此而来:提高通胀目标(给名义利率更多降息空间)、财政货币协同、果断 QE 管理预期,都是为了降低"撞 ZLB 的概率与代价"。
11 论文、常见错误与交叉链接
11.1 必读论文
11.2 常见错误(6 条)
一阶扰动在 $\hat i=\max(0,\cdot)$ 的拐点处线性化失败,会把利率"允许降到负值",大衰退 IRF 完全失真。只要要研究 ZLB,就必须 OccBin 或全局方法。
松弛块与绑定块除了"被约束那一行",其余变量声明与方程数必须严格一致,否则 Dynare 报"inconsistent models"。常见漏改:绑定块忘了把自然利率 AR(1) 也抄进去。
若只用"今天绑不绑"的静态判断、不从未来倒推,就丢掉了 OBC 最核心的预期机制——而这恰恰是 ZLB 放大衰退、财政乘数变大的来源。OccBin 倒推、PFI 迭代都在补这一项。
Wu-Xia / Krippner 影子利率是收益率曲线反推的"应有利率",是政策立场度量,不是任何主体的借贷成本。错当观测利率直接进模型,传导与似然全错。
标准线性 NK 预测"越远的承诺效应越大",这是模型缺陷(预期没有被充分贴现),不是政策真理。报告前瞻指引效应时必须加有限承诺/折扣预期修正,否则结论不可信。
OBC 使模型非线性、似然非高斯,卡尔曼滤波的"正态/线性"假设失效。须改用粒子滤波,或分段估计 / 影子利率补全,否则后验与方差分解有偏。
11.3 进阶资料与交叉链接
- Woodford M. (2003), Interest and Prices 第 2 章 —— 利率下界的理论基石。
- Holden T. & Paetz M. (2012), "Efficient simulation of ergodic distributions for DSGE models with occasionally binding constraints" —— 另一套 OBC 解法,中文文献常用。
- Werning I. (2012), "Managing a Liquidity Trap: Monetary and Fiscal Policy", NBER w17514。
- Del Negro M. 等 (2015) "The Forward Guidance Puzzle", Staff Papers, FRBNY。
- 交叉链接:本页内核见 10 NK 三方程;扰动法局限见 15 扰动法;财政乘数与规则见 13 财政与货币政策规则;求解方法谱系见 DSGE 总览。