前置条件与学习依赖 / PREREQUISITES
数学 / 统计基础高阶泰勒展开(二阶/三阶项)、对政策函数与转移函数的扰动、随机稳态与 pruning 所需的矩阵运算;可选随机微积分直觉。
经济学理论前置一阶线性理性预期系统(04 页);理解为何一阶是确定性等价、二阶才出现风险修正与预防性储蓄。
软件 / 计算前置Dynare 的 order=1/2/3 选项与 pruning 关键字;MATLAB 基础即可。
站内前置页面先学 04-log-linearization(一阶扰动 ≡ 对数线性化),可与 05-dynare-solving 对照。
难度与路线位置进阶→前沿近似方法的理论上限,连接 05 一阶实操与 HANK/全局法的取舍。
📚 基础知识库 · 本页定位

本页是 DSGE 基础知识库页面。定位:先单独学会这个工具,再到模型分支里看它怎么用。扰动法是 Dynare 背后的求解引擎——一阶近似等价于对数线性化,二阶/三阶才捕捉风险溢价与不确定性效应。吃透 order=1/2/3 与 pruning 后,再去各分支看它如何被调用。

在哪些模型分支中使用: RBC 基准模型 · NK 三方程 · 中尺度 SW(二阶 + pruning) · 小国开放经济 · 金融摩擦 BGG/GK · 财政与货币规则 · 适应性学习
⚠ 注意:TANKHANK 不能只用一阶扰动——异质性主体模型需二阶以上近似或全局法,详见本页高阶章节与 HANK 分支页。

01 为什么一阶近似不够

前面几页用的都是"对数线性化 + 一阶扰动"。这种方法有一个根本缺陷:在一阶近似里,不确定性完全不影响决策规则。原因是线性决策规则对二阶矩(方差)不敏感——把模型在确定性稳态展开到一次项,得到的政策函数只含状态的一次项,任何关于"风险溢价""预防性储蓄""不确定性对稳态的修正"都无法出现。

但现实宏观问题恰恰关心这些二阶量:

  • 风险溢价(risk premium):股权溢价、期限利差在一阶模型里恒为 0。
  • 预防性储蓄:收入风险越高,家庭储蓄越多——一阶模型里 $\sigma$ 只影响跨期替代,不影响"风险"。
  • 不确定性冲击(uncertainty / volatility shock): Bloom (2009) 等证明二阶矩冲击本身就是周期驱动力。
  • 风险修正稳态(risk-adjusted steady state):随机模型的"无条件均值"会偏离确定性稳态,距离大小取决于方差。

要捕捉这些,必须把决策规则展开到二阶(甚至三阶)。这就是扰动法高阶近似的动机。

02 扰动法的基本思想

扰动法(perturbation method, Judd 1998;Schmitt-Grohé & Uribe 2004, JEDC)把一个含扰动参数 $\sigma$ 的模型族写出来:当 $\sigma=0$ 时是确定性模型(可精确解出稳态与决策规则);当 $\sigma=1$ 时是真实的随机模型。然后在 $\sigma=0$ 点附近,把政策规则对状态变量 $x$ 与扰动参数 $\sigma$做多变量泰勒展开。

决策规则的扰动展开(一般形式)
$$y_t \approx g(x_t,\sigma) = g(x_{ss},0) + g_x (x_t-x_{ss}) + g_\sigma \sigma + \tfrac{1}{2}g_{xx}(x_t-x_{ss})^2 + g_{x\sigma}(x_t-x_{ss})\sigma + \tfrac{1}{2}g_{\sigma\sigma}\sigma^2 + \cdots$$

其中 $x_t$ 是状态变量(资本、滞后产出等),$\sigma$ 控制冲击大小。逐项含义:

常数项 $g(x_{ss},0)$
确定性稳态。零阶信息。
一阶项 $g_x$
线性脉冲响应(与对数线性化完全等价)。不含 $\sigma$ 一阶项 $g_\sigma$(在对称冲击下为 0)。
二阶项 $g_{xx}, g_{\sigma\sigma}$
$g_{xx}$ 是政策规则的曲率;$g_{\sigma\sigma}$ 是风险修正——决策规则整体平移,捕捉预防性储蓄与风险溢价。这是二阶近似的核心新增。
三阶项 $g_{xxx}, g_{xx\sigma}$
捕捉冲击的偏度(skewness)与时变波动率对决策的影响。讨论 ZLB、金融危机这类"尾部风险"时才需要。

03 一阶扰动:与对数线性化等价

一阶扰动只保留 $g_x$ 项,政策规则退化为线性系统:

一阶政策规则
$$y_t = g(x_{ss},0) + g_x (x_t-x_{ss}),\qquad x_{t+1} = h_x x_t + \sigma\varepsilon_{t+1}$$

这与手工对数线性化(见 04 页)得到的状态空间形式在数学上完全等价——Dynare 的 order=1 内部就是自动做这件事,免去手推。但一阶近似的局限如前所述:$g_{\sigma\sigma}=0$,随机均值 = 确定性稳态,没有风险溢价。

04 二阶扰动:风险修正与 pruning

二阶近似的一般形式

二阶扰动政策规则
$$y_t \approx g_{ss} + g_x \hat x_t + \tfrac{1}{2}g_{xx}\hat x_t^{\otimes 2} + \tfrac{1}{2}g_{\sigma\sigma}\sigma^2$$

最后两项是一阶所没有的:二次项 $\tfrac12 g_{xx}\hat x_t^{\otimes 2}$ 捕捉政策规则的非线性曲率;$\tfrac12 g_{\sigma\sigma}\sigma^2$ 是与状态无关的常数平移——它把决策规则整体上移/下移,正是"风险修正稳态"。在二阶下,家庭因不确定性而多储蓄,稳态的资本存量、利率都与确定性情形不同。

为什么需要 pruning(修剪)

二阶/三阶近似有一个数值陷阱:把二阶政策规则代入下一期状态 $x_{t+1}$,会自动产生高阶项的"幂次爆炸"——比如 $\hat x_t^3$、$\hat x_t^4$ 会在迭代中无界增长,模拟出来的矩发散。这是因为泰勒展开是局部近似,反复迭代会把模拟轨迹推出收敛域。

pruning(修剪)解决办法:把状态拆成"一阶分量"与"二阶分量"两层,只保留到目标阶数允许的项,主动丢弃高阶的交叉积。Kim-Kim-Schaumburg-Synetos (2008, JEDC) 的 pruning 方案成为标准:Dynare 二阶模拟默认启用 pruning。

不 pruning 的后果

二阶/三阶模型若不做 pruning,长时间模拟时方差会爆炸、模拟 IRF 出现"伪振荡"甚至 NaN。Dynare 高阶求解后,stoch_simul 的模拟与矩计算都基于已 pruning 的表示;做 IRF 时可对照看修剪前后差异。

05 三阶扰动与 Dynare order 选项

三阶近似再加入 $g_{xxx}$ 与 $g_{x\sigma\sigma}$ 项。$g_{x\sigma\sigma}$ 的特别之处:它让条件波动率($\sigma_t$ 的变动)影响决策规则——这正是"波动率冲击 / uncertainty shock"的载体。一阶、二阶近似里时变波动率是哑的,三阶才能让"方差冲击"产生一阶矩(产出)反应。

Dynare 中 order 的使用

Dynare · order 选项示例
% ---- 在 .mod 文件结尾 ----
% order=1: 一阶(=对数线性化), 快, 无风险效应
% order=2: 二阶, 捕捉风险溢价/预防性储蓄, 默认 pruning
% order=3: 三阶, 捕捉时变波动率(不确定性冲击)
stoch_simul(order=1, irf=40, nograph) y pi i k;
stoch_simul(order=2, irf=40, nograph) y pi i k;
stoch_simul(order=3, irf=40, nograph) y pi i k;

% 二阶下查看"风险修正稳态": Dynare 打印的 ys (二阶稳态)
% 与一阶 ys 的差即 g_{\sigma\sigma} 平移量
% moments 选项给出二阶/三阶下的无条件矩
stoch_simul(order=2, periods=10000, drop=100) y pi i k;

实务建议:日常估计与 IRF 用 order=1;做福利、股权溢价、风险修正稳态、比较确定性与随机均值时用 order=2;研究不确定性冲击、ZLB 附近尾部风险才用 order=3(计算量约为二阶的数倍)。

06 全局方法简介

扰动法是局部方法:只在确定性稳态附近精确。若要处理强非线性、大状态偏离(如 ZLB 长期持续、极端危机、 occasionally-binding 约束),需要全局方法(global methods),在整个状态空间上近似。三类主流:

方法思想优点缺点
投影法 Projection用基函数(Chebyshev 多项式)近似政策函数,配残差最小化全域精度可控、多项式经济高维"维度诅咒"
值函数迭代 VFI在网格上递归 Bellman 方程直到收敛理论透明、强非线性稳极慢、需精细网格
参数化期望 PE把条件期望用多项式近似并迭代比 VFI 快,适合随机收敛不保证、需好初值

全局法代表文献:Judd (1998);Maliar & Maliar 关于栅格与聚类的系列;Hooks & den Haan 用 HJB 方程的连续时间法。

07 何时用扰动、何时用全局

决策口诀
  • 用扰动法:模型规模中等、常态波动、关注线性传导与标准 IRF、做贝叶斯估计(维度高、速度优先)、风险溢价/预防性储蓄(二阶够)。
  • 用全局法:ZLB 长期绑定、occasionally-binding 约束、危机式大幅偏离稳态、尾部风险、估值方程类问题(FTPL 极端情形)、需要全域精度的福利计算。
  • 混合:先用扰动法快速验证模型机制,发现关键非线性后,再对小维度核心用全局法做"benchmark 校准"。

08 论文案例

EN · 经典
Schmitt-Grohé & Uribe (2004), "Solving Dynamic General Equilibrium Models Using a Second-Order Approximation"
Journal of Economic Dynamics and Control, 28(4): 755–775
扰动法二阶近似的标准参考文献,给出完整算法与稳定性条件,Dynare 高阶求解的理论基础。
EN · pruning
Kim, Kim, Schaumburg & Synetos (2008), "Calculating and Using Second-Order Accurate Solutions of Discrete Time Dynamic Equilibrium Models"
Journal of Economic Dynamics and Control, 32(11): 3397–3414
提出 pruning 方案,解决高阶近似模拟发散。做二阶/三阶模拟前必读。
CN · 中文
刘斌 (2008),《我国 DSGE 模型的开发及在货币政策分析中的应用》
《金融研究》/《经济学(季刊)》
中文 DSGE 早期标杆,对比一阶与二阶近似下的福利与风险修正,是理解高阶近似应用的中文入门。
CN · 中文
许志伟、林仁文等,《不确定性冲击与中国经济波动》
《经济研究》《管理世界》相关三阶/不确定性 DSGE 工作
用三阶扰动刻画时变波动率(不确定性)对中国产出与投资的影响,是中文高阶近似应用的代表。

09 常见错误与进阶资料

常见错误(≥3)

  1. order=1 却想讨论风险溢价:一阶近似里股权溢价、预防性储蓄恒为 0,必须 order=2 以上,否则结论无意义。
  2. 二阶模拟不启用 pruning:长期模拟方差爆炸、IRF 伪振荡。Dynare 默认已处理,但手写高阶解时必须自己做修剪。
  3. 拿二阶稳态当确定性稳态做 IRF:二阶下 ys 已被 $g_{\sigma\sigma}$ 平移,与 order=1 的稳态不同步;跨阶比较 IRF 时要统一基准。
  4. 用扰动法硬解 ZLB 长期绑定:扰动在 ZLB 折点附近不收敛,必须上全局法或分段求解。
  5. 三阶当成银弹:order=3 计算成本高,且对数值精度敏感;只为"不确定性冲击"用它,别日常滥用。

进阶资料

  • Judd (1998) Numerical Methods in Economics,扰动与全局方法的理论源头。
  • Fernández-Villaverde et al. 关于二阶/三阶近似与时变波动率的综述。
  • Dynare 官方 example1.modkinetic_pitman.mod(order=3)。
  • 下一页《Dynare 求解实操》配套本页 order 选项做 IRF 与矩对比。