中尺度 DSGE 模型:Smets–Wouters 模型(假设→FOC→稳态→线性化→Dynare→估计→模拟 全流程)
为什么三方程不够?因为它匹配不了数据里的"驼峰形脉冲、通胀惯性、工资持续"。Smets–Wouters (2007 AER) 把 RBC 骨架、名义价格/工资粘性、习惯形成、投资调整成本、资本利用与七种冲击拼在一起,成为央行研究部门的工作母机(workhorse)。本页在同一页内顺承走完:假设与公式解读 → 一阶条件 → 稳态 → 对数线性化与求解 → Dynare .mod 逐行 → 校准与贝叶斯估计 → 脉冲响应 → 论文与常见错误。
本模型共 36 个核心方程:原始非线性模型 21 条(效用/预算/积累 3、家庭 FOC 6、企业成本最小化 2、Calvo 定价与加总 4、工资设定与加总 3、定义式 3、资源约束/Taylor/TVC 3),外生 AR(1) 过程 7 条,对数线性化后 21 条(见 §06 与文末"方程总清单")。
编号约定:SW-x 为原始非线性方程;SW-x̂ 为其对数线性化版本;SW-AR 为外生过程。
01 为什么需要中尺度模型
三方程模型优雅,但它有两个硬伤:(1) 脉冲响应没有"惯性"——货币冲击下产出、通胀立刻跳到峰值,而 SVAR 数据显示峰值出现在冲击后一年左右,呈驼峰形;(2) 冲击太少——只有 2~3 个外生过程,无法同时拟合产出、消费、投资、通胀、利率、工资等 7 个观测变量的联合动态。
中尺度模型(medium-scale model)的目标就是"加摩擦、加冲击":每加一个摩擦,就多一个机制让变量出现惯性;每加一个冲击,就多一个来源解释某段数据。Christiano, Eichenbaum & Evans (CEE, 2005) 与 Smets & Wouters (SW, 2007) 把这套思路系统化,做出了第一个能在贝叶斯框架下同时拟合战后美国大部分宏观变量的模型。
"中尺度"是相对 RBC/三方程而言,不是无底洞地加。SW 模型恰好由 6 类摩擦 + 7 个冲击组成,多一个则过拟合,少一个则拟合不了关键矩。这就是它成为"workhorse"的原因。
02 假设与模型构建:六大要素逐条解读
SW 模型的每一个摩擦都不是装饰,而是一个被数据"逼"出来的假设。下面逐条讲清楚为什么需要它、它对应哪个效用/生产函数、线性化后长什么样。
2.1 习惯形成(habit formation, $h>0$)
原始假设:家庭效用不直接来自当期消费 $C_t$,而来自"当期消费相对上期习惯存量"的超额 $(C_t-hC_{t-1})^{1-\sigma}$。这里 $h\in[0,1)$ 是外部习惯(household 不把 $hC_{t-1}$ 内生化),意味着效用有"攀比/上瘾":突然提高消费的边际效用,不如平滑地提高来得高。
为什么 $h>0$:若无习惯($h=0$),消费欧拉是纯前望的 $\hat c_t=E_t\hat c_{t+1}-\frac{1}{\sigma}(\hat r_t-E_t\pi_{t+1})$,利率一升消费立刻跳到新路径,脉冲是"J 形"而非数据里的"驼峰形"。加入 $h$ 后,消费必须兼顾"跟上习惯"与"平滑跨期",于是消费对冲击的反应被拉平、滞后,出现 c(-1) 与 c(+1) 并存的双向前望-后顾结构。SW(2007) 后验 $h\approx0.7$,说明美国消费惯性很强。
2.2 投资调整成本(investment adjustment cost)与 q 理论
原始假设:资本积累不是 $K_t=(1-\delta)K_{t-1}+I_t$ 这么干净。改变投资率本身要付出二次成本 $\frac{\chi}{2}\big(\frac{I_t}{I_{t-1}}-1\big)^2$(注意是投资变动率的成本,不是投资水平的成本,这是 CEE/SW 与早期 q 理论的关键区别)。
为什么需要:标准 RBC 里投资是"急刹车猛踩油门"变量,利率微小变化就让投资剧烈跳动,与数据中投资虽波动大但不会瞬间调头的事实不符。引入调整成本后,企业面对托宾 Q 的变化会"慢慢建产能",投资欧拉里同时出现 $\hat i_{t-1}$ 与 $E_t\hat i_{t+1}$,形成投资的驼峰形。曲率 $\varphi\equiv S''$ 越大,投资越粘。
2.3 可变资本利用(capacity utilization)
原始假设:家庭(或资本品出租者)决定把存量资本 $K_{t-1}$ 以多大利用率 $u_t$ 投入生产,实际进入生产函数的是有效资本 $\bar K_t=u_tK_{t-1}$。提高利用率要付出递增的维持/折旧成本 $\psi(u_t)$(稳态外的二次项)。
为什么可变利用率:若利用率固定为 1,技术冲击下企业只能靠加人/减人调整生产,就业波动会过大、资本回报波动过小,与数据矛盾。允许"加班/闲置"后,企业在好时光多开机器、差时光让设备闲置,短期产出可用资本强度吸收冲击,就业与工资波动变得温和。线性化后 $\hat r_t^k=\psi\hat u_t$:资本租金越高,利用率越高。
2.4 Calvo 价格粘性 + 价格指数化 $\gamma_p$
原始假设:每期只有 $1-\theta_p$ 比例的中间品企业能重新定价,其余 $\theta_p$ 比例不能最优定价,只能按过去通胀 $\pi_{t-1}$ 做部分指数化更新(指数化程度 $\gamma_p$)。
为什么价格要粘性:没有价格粘性($\theta_p=0$),货币政策是超中性的——货币冲击只改价格不改产出,与"货币政策有实际效果"这一核心事实矛盾。Calvo 概率 $\theta_p\approx0.75$ 意味着平均价格合同期约一年(4 个季度),与 Bils-Klenow 微观定价证据大致吻合。
为什么还要指数化:纯 Calvo 推出的 NKPC 是纯前望 $\pi_t=\beta E_t\pi_{t+1}+\kappa mc_t$,意味着通胀对成本冲击能瞬间跳到新稳态,没有"通胀惯性"。加入指数化 $\gamma_p$ 后,不能调价的厂商按 $\gamma_p\pi_{t-1}$ 涨价,NKPC 右端多了 $\gamma_p/(1+\beta\gamma_p)\pi_{t-1}$,通胀出现后顾项,从而匹配通胀的持续性。
2.5 Calvo 工资粘性 + 工资指数化 $\gamma_w$
原始假设:家庭是差异化劳动的垄断供给者,每期只有 $1-\theta_w$ 比例能重设名义工资,其余按 $\gamma_w$ 指数化。劳动总需求由中间品企业决定,家庭被动供给。
为什么工资要分别定价(而不是只粘价格):仅粘价格时,劳动力市场是灵活出清的,实际工资可瞬间调整,模型无法解释"实际工资缓慢、通胀与工资螺旋"。工资粘性让名义工资成为第二个慢变量:价格粘性管"产品市场",工资粘性管"劳动力市场",两者一起才能同时解释物价与工资的惯性。SW(2007) 后验 $\theta_w\approx0.7$–$0.75$,与价格粘性同量级。
| 摩擦/要素 | 符号 | 解决什么问题 |
|---|---|---|
| 习惯形成 habit formation | $h$ | 消费对冲击的反应平滑、驼峰化 |
| 投资调整成本 investment adj. cost | $S''$ | 投资缓慢调整,避免剧烈跳变 |
| 资本利用 capacity utilization | $\psi$ | 产出可通过"用得多/少资本"短期吸收冲击 |
| Calvo 价格粘性 | $\theta_p$ | NKPC,货币政策有实际效果 |
| Calvo 工资粘性 | $\theta_w$ | 工资缓慢调整,通胀/产出更粘 |
| 价格/工资指数化 indexation | $\gamma_p,\gamma_w$ | NKPC 与工资 Phillips 引入滞后项,制造通胀惯性 |
这六个要素不是堆砌,每个都对应一个被数据拒绝的"标准模型"缺陷。SW 的工程价值就在于把它们用一套微观基础统一起来。
03 一阶条件与均衡系统
模型由四类主体组成:(A) 家庭(消费/储蓄/投资/资本利用/工资设定)、(B) 中间品企业(Calvo 定价、租用劳动与有效资本)、(C) 最终品企业(无差别加总)、(D) 央行(Taylor 规则)。下面先把家庭优化写成拉格朗日并逐步求 FOC,再给出其余主体的关键条件。
3.0 家庭优化:拉格朗日逐步推导(不跳步)
家庭 $j$ 最大化终身效用,预算约束为:消费 $C_{j,t}$、投资 $I_{j,t}$、持有本币一期名义债券 $B_{j,t}$(利率 $i_t$)、租用有效资本得租金 $r_t^k u_t \bar K_{j,t-1}$、劳动得工资 $W_t N_{j,t}$、支付资本维持成本 $a(u_t)\bar K_{j,t-1}$:
第一步,写拉格朗日函数:对预算约束乘 $\lambda_t$(消费的边际效用/拉格朗日乘子),对资本积累约束乘 $\mu_t$(安装资本的影子价值,即托宾 Q):
其中 $U(C_t-hC_{t-1},N_t)=\frac{(C_t-hC_{t-1})^{1-\sigma}}{1-\sigma}-\frac{N_t^{1+\varphi}}{1+\varphi}$。下面对每个控制/状态变量逐一取偏导 $\partial\mathcal{L}/\partial(\cdot)=0$,不做任何"同理可得"省略。
第二步,对消费 $C_t$ 求偏导:$C_t$ 出现在三处:(i) 当期效用 $U(C_t-hC_{t-1})$ 里一次;(ii) $t+1$ 期效用 $U(C_{t+1}-hC_t)$ 里一次(作为下期的习惯 $hC_t$);(iii) 预算约束的 $-\lambda_t C_t$。把这三处全部展开:
移项即得习惯下的消费边际效用(SW-1):
定义与理由:$\Lambda_t$ 是"把今天多消费一单位的全部未来成本折回来"的边际效用;第②项 $-\beta h E_t(C_{t+1}-hC_t)^{-\sigma}$ 之所以为负,是因为今天多消费会提高明天的习惯 $hC_t$,从而压低明天从 $C_{t+1}$ 得到的效用。经济直觉:习惯 $h$ 让"今天多吃一口"不仅贵在今天,还贵在明天——于是 $\Lambda_t$ 是含 $C_{t-1},C_t,E_t C_{t+1}$ 的三项式,这正是消费欧拉里同时出现 $\hat c_{t-1}$ 与 $E_t\hat c_{t+1}$ 的微观来源。注意:不能把 $\lambda_t$ 简单写成 $(C_t-hC_{t-1})^{-\sigma}$(那是 $h=0$ 或内部习惯才成立),§3.1 的欧拉必须用上面这个含前视项的 $\Lambda_t$。
第三步,对名义债券 $B_t$ 求偏导:$B_t$ 只出现在当期预算约束 $-\lambda_t B_t/P_t$,以及下一期拉格朗日中的 $+\beta\lambda_{t+1} R_t B_t/P_{t+1}$($R_t=1+i_t$ 为毛利率)。对 $\mathcal{L}$ 中这两处求偏导:
代入 $\lambda_t=\Lambda_t$、$\Pi_{t+1}=P_{t+1}/P_t$,即得消费欧拉(SW-2):
第四步,对投资 $I_t$ 求偏导:$I_t$ 出现在三处:(i) 预算约束 $-\lambda_t I_t$;(ii) 资本积累约束当期项 $-\mu_t[1-S(I_t/I_{t-1})]I_t$;(iii) 下一期资本积累约束里的 $+\beta\mu_{t+1}[1-S(I_{t+1}/I_t)]I_{t+1}$,其中 $I_t$ 出现在 $S(I_{t+1}/I_t)$ 的自变量中。逐项求导,记 $\xi_t\equiv I_t/I_{t-1}$、$S_t\equiv S(\xi_t)$:
把 $Q_t\equiv\mu_t/\lambda_t$(安装资本的影子价值,即托宾 Q)代入并同除 $-\lambda_t$,得投资 FOC(SW-3):
定义:$S(\xi)$ 在稳态 $\bar\xi=1$ 处满足 $S(1)=S'(1)=0$、$S''(1)\equiv\varphi>0$(二次调整成本曲率)。经济直觉:左边 1 是买一单位投资品的重置成本;右边是"今天装一单位新资本的影子价值 $Q_t$"减去"今天多投一单位抬高明天 $\xi_{t+1}$ 所带来的未来调整成本"(最后一项)。稳态下 $S=S'=0$,SW-3 退化为 $Q=1$,即无摩擦投资。
第五步,对资本利用率 $u_t$ 求偏导:$u_t$ 只出现在预算约束的出租净收益项 $\lambda_t[r_t^k u_t-a(u_t)]\bar K_{t-1}$(注意 $\bar K_{t-1}$ 在 $t$ 期是前定状态,对 $u_t$ 为常数):
此即 SW-4:利用率的边际收益(租金率)等于边际维持成本。稳态归一化 $\bar u=1$ 并取 $a'(\bar u)=r^k$、$a''(\bar u)\equiv\psi$,线性化后即 $\hat r_t^k=\psi\hat u_t$。
第六步,对有效资本存量 $\bar K_t$ 求偏导(包络):$\bar K_t$ 出现在:(i) 当期资本积累约束的 $+\mu_t\bar K_t$;(ii) 下一期预算约束里 $+\beta\lambda_{t+1}[r_{t+1}^k u_{t+1}-a(u_{t+1})]\bar K_t$;(iii) 下一期资本积累约束的 $-\beta\mu_{t+1}(1-\delta)\bar K_t$。求偏导令其为零:
同除 $\lambda_t$ 并代入 $Q_t=\mu_t/\lambda_t$、$Q_{t+1}=\mu_{t+1}/\lambda_{t+1}$,得 Q 的无套利方程(SW-5):
经济直觉:今天花 $Q_t$ 买一单位安装资本,持有一期后得到净租金 $r^ku-a(u)$ 与残值 $(1-\delta)Q_{t+1}$,按消费边际效用比 $\Lambda_{t+1}/\Lambda_t$ 折现,应等于今天的价格。至此家庭全部 6 个 FOC(SW-1~SW-5 加效用定义)逐式推完,无跳步。
第七步(边界条件):无限期模型必须加横截条件(TVC),防止 Ponzi:
3.1 家庭的消费—储蓄欧拉(习惯形成下)
家庭在预算约束下最大化 $E_0\sum_{t=0}^\infty\beta^t\left[\frac{(C_t-hC_{t-1})^{1-\sigma}}{1-\sigma}-\frac{N_t^{1+\varphi}}{1+\varphi}\right]$。注意:上节 SW-1 已证明,习惯形成下的拉格朗日乘子不是简单的 $(C_t-hC_{t-1})^{-\sigma}$,而必须含下一期习惯项:
对债券 $B_t$ 的 FOC(SW-2,见 3.0 第三步展开)为:
解读:本期多储蓄 1 单位消费的边际效用损失 $\lambda_t$,必须等于下期本息按通胀折现回的期望边际效用收益。习惯 $h$ 隐藏在 $\lambda_t$ 里——它让"现在少吃一点"的代价取决于"上一期吃了多少",于是消费调整被锚住。常见错误提醒:把 $\lambda_t$ 误写成 $(C_t-hC_{t-1})^{-\sigma}$ 会丢掉前视项,线性化后消费欧拉将少掉 $E_t\hat c_{t+1}$ 的系数修正,驼峰形会变成 J 形。
3.2 家庭的投资—托宾 Q 一阶条件
家庭选择投资 $I_t$ 与资本利用率 $u_t$。SW-3(投资 FOC)与 SW-5(Q 无套利)已在 3.0 第四、六步完整推出,此处仅重述并标注:
解读:SW-3 是"投资的边际成本=边际收益(含未来调整成本节省)";SW-5 是 Q 的无套利:安装资本下期能带来的净租金 + 残值,按 $\lambda_{t+1}/\lambda_t$ 折现应等于当期 Q。线性化后(用 $S(1)=S'(1)=0,S''(1)=\varphi$)就退化成第 06 节里的投资欧拉 + Q 方程。
3.3 家庭的资本利用选择
家庭选择 $u_t$ 使出租资本的净收益最大,FOC(SW-4,3.0 第五步已展开):
定义:$a(\cdot)$ 为资本维持成本函数,归一化 $a(1)=0$、$a'(1)=r^k$、$a''(1)\equiv\psi$。理由:提高利用率加速折旧、需额外维护。直觉:租金越高越愿意加班用机器。稳态 $a'(\bar u)=r^k$,$\bar u=1$。
3.4 劳动供给与 Calvo 工资设定(完整问题与 FOC)
结构设定:家庭 $j$ 是差异化劳动 $N_{j,t}$ 的垄断供给者。最终劳动服务由 CES 加总而成:
成本最小化的中间品企业对差异化劳动的需求为 $N_{j,t}=\big(W_{j,t}/W_t\big)^{-\varepsilon_w}N_t$。Calvo 工资粘性:每期家庭 $j$ 能重设名义工资 $W_{j,t}^*$ 的概率为 $1-\theta_w$;不能重设的家庭按过去通胀做部分指数化 $\gamma_w$。
优化问题(写全):能重设工资的家庭 $j$ 在需求约束 $N_{j,t+k|t}=\big(W_{j,t}^*/W_{t+k}\big)^{-\varepsilon_w}N_{t+k}$(不能调价期间工资按 $\gamma_w\pi_{t-1+k}$ 指数化)下,最大化未来劳动收入的效用现值减劳动负效用:
对 $W_t^*$ 求一阶条件:把目标函数对 $W_t^*$ 求导。注意 $W_t^*$ 同时出现在收入项(线性)与需求约束(经 $N_{j,t+k|t}\propto W_t^{*-\varepsilon_w}$)中,故:
整理成"加成=劳动负效用/收入效用"的形式,即最优工资 FOC(SW-W2):
其中 $\mu_w\equiv\frac{\varepsilon_w}{\varepsilon_w-1}$ 是工资稳态加成。解读:左端是未来实际工资收入的边际效用现值,右端是未来劳动负效用的边际成本现值(乘加成)。把 $W_t^*$ 解出后代入工资指数,即得工资加总方程(SW-W3):
定义:$\theta_w$ 为不调工资概率,$\gamma_w$ 为指数化程度。理由:Calvo 假设+指数化。直觉:今天的工资指数由"新定的 $W_t^*$"与"沿用指数化的旧工资"加权。补充定义式:工资通胀与实际工资的累积关系(SW-W4、SW-W5):
3.5 中间品企业的 Calvo 定价(完整问题与 FOC)
结构设定:连续统中间品企业 $j\in[0,1]$,生产差异化中间品 $Y_{j,t}$,由最终品企业 CES 加总为 $Y_t=\big[\int Y_{j,t}^{(\varepsilon_p-1)/\varepsilon_p}dj\big]^{\varepsilon_p/(\varepsilon_p-1)}$,对应价格指数 $P_t=\big[\int P_{j,t}^{1-\varepsilon_p}dj\big]^{1/(1-\varepsilon_p)}$。最终品企业成本最小化给出中间品需求 $Y_{j,t}=\big(P_{j,t}/P_t\big)^{-\varepsilon_p}Y_t$。中间品企业用有效资本 $\bar K_t$ 与劳动 $N_t$ 生产:$Y_{j,t}=A_t\bar K_{j,t}^{\alpha}N_{j,t}^{1-\alpha}-\Phi$($\Phi$ 为固定成本,使稳态利润为零)。
第一步:成本最小化(企业租用劳动与有效资本)。给定产出 $Y_{j,t}$,企业最小化 $W_tN_{j,t}+r_t^k\bar K_{j,t}$。构造 $\mathcal{L}=W_tN+r^k\bar K-\xi_t[Y_{j,t}+\Phi-A_t\bar K^\alpha N^{1-\alpha}]$,分别对 $N,\bar K$ 求偏导:
把两式相除消去 $\xi_t$,并把 $\xi_t=MC_t$(名义边际成本,因竞争性要素市场)代入,得要素需求与边际成本(SW-F1、SW-F2、SW-F3):
其中 $Y_t^g\equiv Y_t+\Phi$ 为含固定成本的总产出。直觉:要素份额等于边际成本乘以要素弹性——这是 Cobb-Douglas 的标准性质。
第二步:最优定价问题。每期企业 $j$ 能重设价格 $P_{j,t}^*$ 的概率为 $1-\theta_p$;不能重设者按 $\gamma_p$ 指数化。能重设者在需求曲线 $Y_{j,t+k|t}=(P_t^*/P_{t+k}\cdot\Pi_{p,t+k})^{-\varepsilon_p}Y_{t+k}$ 下最大化利润现值:
对 $P_t^*$ 求一阶条件:$P_t^*$ 在收入项线性、在需求项经 $Y_{j,t+k|t}\propto P_t^{*-\varepsilon_p}$,故:
整理得最优价格 FOC(SW-P1):
其中 $\mu_p=\varepsilon_p/(\varepsilon_p-1)$ 为稳态价格加成。直觉:最优价格是未来名义边际成本按"存活概率×贴现×需求"加权的加成。代入价格指数即得加总方程(SW-P2):
通胀定义(SW-P3):$\pi_t\equiv P_t/P_{t-1}-1$。把 SW-P1 与 SW-P2 在稳态附近展开,即得 §6.5 的 NKPC。
3.6 均衡条件(市场出清与完整方程体系)
均衡要求:(i) 产品市场出清,完整资源约束(含利用成本消耗的资源):
(ii) 劳动市场出清:$N_t$ 由 §3.4 劳动供给(MRS)与 §3.5 劳动需求共同决定,即 $\widehat{mrs}_t=\varphi\hat n_t+\frac{\sigma}{1-h}(\hat c_t-h\hat c_{t-1})$(线性化形式);(iii) 债券市场出清 $B_t=0$(代表性家庭模型,债券净供给为零);(iv) 央行按 Taylor 规则设名义利率 $i_t$(SW-M2);(v) 资本积累方程 SW-M3:
这组方程 + 7 条外生 AR(1) 过程(SW-AR1~AR7,见 §07)+ 横截条件 SW-TVC = 完整均衡系统。
04 稳态求解(完整方程组 + 逐步求解)
稳态是所有外生冲击关闭、所有变量不变的长期均衡:$\pi=1$(零通胀)、$\bar u=1$、$S(1)=S'(1)=0$、$Q=1$、$E_t[\cdot]=\cdot$。在稳态,价格/工资粘性的"不能调价概率"不影响实际配置(长期可连续调价),故 $\theta_p,\theta_w$ 不进稳态解;稳态只由 RBC 类参数与加成参数决定。下面先列全 11 个稳态方程,再给出逐步求解顺序。
4.0 稳态完整方程组(SS-1 ~ SS-11)
| # | 稳态方程 | 来源 |
|---|---|---|
| SS-1 | $1+i=1/\beta$(零通胀实际利率 $r=i$) | SW-2 消费欧拉 |
| SS-2 | $Q=1$ | SW-3 投资 FOC($S=S'=0$) |
| SS-3 | $r^k=\frac{1}{\beta}-(1-\delta)$ | SW-5 Q 无套利($u=1,a(1)=0$) |
| SS-4 | $a'(1)=r^k$,归一化 $\bar u=1$ | SW-4 资本利用 |
| SS-5 | $r^k=\alpha\,Y/K$($MC=1/\mu_p$,垄断加成归一) | SW-F2 资本需求 |
| SS-6 | $w=(1-\alpha)Y/N$ | SW-F1 劳动需求 |
| SS-7 | $Y=A\,\bar K^\alpha N^{1-\alpha}-\Phi$,固定成本 $\Phi=(\mu_p-1)Y$ 使稳态利润为零 | 生产函数 |
| SS-8 | $K/Y=\alpha/r^k$,$I/Y=\delta K/Y$ | SS-3、SS-5 + 资本积累 |
| SS-9 | $Y=C+I+G$($a(1)=0$,利用成本稳态耗散为零) | SW-M1 资源约束 |
| SS-10 | $w=\chi\,N^\varphi (C-hC)^\sigma$(劳动 MRS=实际工资) | 家庭劳动供给 FOC |
| SS-11 | $G/Y\equiv g_y$ 外生给定,$\bar N=1/3$ 由时间校准 | 政府支出/时间配置 |
4.1 逐步求解(按顺序,不跳步)
4.2 关键稳态数值(校准值)
- 利率:由消费欧拉 $\beta(1+i)E[P_t/P_{t+1}]=1$,稳态零通胀下 $1+i=1/\beta$,故 $i=1/\beta-1\approx0.01$(季度)。
- 资本租金:由 Q 无套利 $Q=1$(无调整成本),稳态 $r^k=\frac{1}{\beta}-(1-\delta)=\frac{1}{\beta}-1+\delta$。代入 $\beta=0.99,\delta=0.025$ 得 $r^k\approx0.0355$。
- 资本产出比:由生产函数 $Y=AK^\alpha N^{1-\alpha}$ 与资本 FOC $r^k=\alpha Y/K$,得 $K/Y=\alpha/r^k\approx0.33/0.0355\approx9.3$(季度),即年资本产出比约 2.3。
- 投资产出比:$I/Y=\delta K/Y\approx0.025\times9.3\approx0.23$。
- 消费产出比:$C/Y=1-I/Y-G/Y$。
对数线性化模型(本页 .mod)所有变量都是偏离稳态的百分比,稳态自动为 0,steady; 一步求解。若写非线性原始模型,则必须先 initval; 给猜测、再 steady; 求解,并用 resid; 检查残差。中尺度模型常用"对数线性化版本 + steady 归零"以避开复杂稳态解析。
05 对数线性化与求解方法
本节使用 对数线性化与扰动法(含二阶 / pruning)。不熟悉?先学 📚 基础知识库·对数线性化 → 与 📚 基础知识库·扰动法(一阶/二阶/三阶) →。
5.1 为什么对数线性化
DSGE 的非线性原始方程组无法直接求解析解。标准做法是在稳态附近做一阶泰勒展开(对数展开:$\hat x_t\equiv\log x_t-\log\bar x$),把非线性系统变成线性理性预期系统 $E_tF(\hat x_{t+1},\hat x_t,\hat x_{t-1},\varepsilon_t)=0$。常用近似技巧:
- 乘积变加法:$\widehat{x_t y_t}=\hat x_t+\hat y_t$。
- 指数函数:$\widehat{x_t^\gamma}=\gamma\hat x_t$。
- 一阶条件包络:把 FOC 直接在稳态展开。
5.2 逐条线性化示例(原始方程 → 展开 → 线性化结果,不跳步)
下面选三条最容易"只给结果"的方程,把从原始非线性式到对数线性式的每一步展开写全。记 $\hat x_t\equiv\log(x_t/\bar x)$,并反复使用:$\widehat{x_t y_t}=\hat x_t+\hat y_t$、$\widehat{x_t^\gamma}=\gamma\hat x_t$、$\widehat{E_t f_{t+1}}\approx E_t\hat f_{t+1}$。
例 1 · 习惯消费欧拉(SW-2 + SW-1)→ 6.1
原始方程:$\lambda_t=\beta(1+i_t)E_t[\lambda_{t+1}/\Pi_{t+1}]$,其中 $\lambda_t=(C_t-hC_{t-1})^{-\sigma}-\beta h(C_{t+1}-hC_t)^{-\sigma}$(取期望算子已省略)。
第一步:对数线性化 $\lambda_t$。令 $X_t\equiv C_t-hC_{t-1}$,稳态 $\bar X=\bar C(1-h)$。$\widehat{X_t}=\frac{\bar C}{\bar C(1-h)}(\hat c_t-h\hat c_{t-1})=\frac{1}{1-h}(\hat c_t-h\hat c_{t-1})$。对 $\lambda_t=X_t^{-\sigma}-\beta h X_{t+1}^{-\sigma}$ 在稳态展开:
第二步:线性化欧拉 $\lambda_t=\beta R_t E_t[\lambda_{t+1}/\Pi_{t+1}]$。稳态 $\beta\bar R=1$,取对数:$\hat\lambda_t=(\hat r_t-\hat\pi_{t+1})+\hat\lambda_{t+1}$($R_t=1+i_t$ 对数线性 $\hat r_t\approx\hat i_t$)。把上一步的 $\hat\lambda_t,\hat\lambda_{t+1}$ 代入并整理 $h/(1+h)$ 系数(利用 SW 常用近似 $\beta\approx1$ 简化),得:
例 2 · 投资 FOC(SW-3)→ 6.2 第一式
原始方程:$1=Q_t[1-S(\xi_t)-S'(\xi_t)\xi_t]-\beta E_t\frac{\lambda_{t+1}}{\lambda_t}Q_{t+1}S'(\xi_{t+1})\xi_{t+1}^2$,$\xi_t=I_t/I_{t-1}$。
第一步:稳态性质。$\bar\xi=1,S(1)=S'(1)=0$,故稳态 $Q=1$。把 $S(\xi)$ 在 $\xi=1$ 处二阶展开:$S(\xi)\approx\frac{\varphi}{2}(\xi-1)^2$,$S'(\xi)\approx\varphi(\xi-1)$。
第二步:一阶展开。$\xi_t-1\approx\hat i_t-\hat i_{t-1}$,故 $S'(\xi_t)\approx\varphi(\hat i_t-\hat i_{t-1})$;$S'(\xi_{t+1})\approx\varphi(\hat i_{t+1}-\hat i_t)$。$S(\xi_t)$ 与 $S'(\xi_t)\xi_t$ 在一阶近似下均为二阶小量,只留 $S'$ 项:
整理 $\hat i_t$ 系数,得:
例 3 · 价格 NKPC(SW-P1 + SW-P2)→ 6.5
原始方程:最优价格 $P_t^*$ 与价格指数 $P_t^{1-\varepsilon_p}=(1-\theta_p)(P_t^*)^{1-\varepsilon_p}+\theta_p(P_{t-1}\pi_{t-1}^{\gamma_p})^{1-\varepsilon_p}$。
第一步:价格指数线性化。令 $\tilde p_t\equiv P_t^*/P_t$ 为新定价格相对总价格的比例,稳态 $\tilde p=1$。取对数并利用 $1-\theta_p$ 为权重:$\hat{\tilde p}_t=\frac{\theta_p}{1-\theta_p}(\hat\pi_t-\gamma_p\hat\pi_{t-1})$。
第二步:最优价格 FOC 线性化。SW-P1 在稳态 $\tilde p=1$、$MC=1/\mu_p$ 处展开,得 $\hat{\tilde p}_t=(1-\beta\theta_p)E_t\sum_{k=0}^\infty(\beta\theta_p)^k\widehat{mc}_{t+k}$,即递归形式 $\hat{\tilde p}_t=\beta\theta_p E_t\hat{\tilde p}_{t+1}+(1-\beta\theta_p)\widehat{mc}_t$。
第三步:两式联立消去 $\hat{\tilde p}_t$。把第一步的 $\hat{\tilde p}_t$ 与 $\hat{\tilde p}_{t+1}$ 代入第二步,整理出:
$\kappa_p\equiv\frac{(1-\theta_p)(1-\beta\theta_p)}{\theta_p(1+\beta\gamma_p)}$ 即 NKPC 斜率。其余方程(6.3~6.7)的线性化同法:先写稳态性质,再对原始式做一阶泰勒展开,最后按变量整理。
5.3 扰动法(perturbation)阶数选择
Dynare 默认用 Blanchard-Kahn 形式的扰动法求线性/高阶近似策略函数 $\hat x_t=g_\theta(\hat x_{t-1},\varepsilon_t)$:
- order=1(一阶):确定性等价,不含风险修正。SW 类模型只用一阶会丢失预防性储蓄效应,且 7 个冲击下二阶矩偏差明显。
- order=2(二阶):包含风险修正项,能捕捉"谨慎性储蓄""波动率对水平的影响",是 SW(2007) 估计时的推荐阶数。
- pruning(剪枝):二阶/三阶近似下,高阶矩项会通过交叉项反复累积导致样本矩发散。pruning 算法把高阶成分"剪枝"到不参与下一阶段的高阶更新,保证模拟矩稳定。中尺度多冲击模型必须开 pruning。
SW 含 7 个冲击与强非线性摩擦(习惯、调整成本、利用率)。一阶是确定性等价,对"风险溢价冲击"这种带预防性储蓄色彩的冲击刻画不足;二阶若不 pruning,长期模拟的二阶矩会爆炸。这也是 Dynare 官方 sw2007.mod 写法的标配。
06 核心方程系统(全部写出,含假设解读)
下面是 SW 模型的对数线性化核心方程($\hat x_t$ 为偏离稳态)。这是 Dynare 代码里要写的全部内容。
6.1 家庭:习惯形成下的消费欧拉
假设:外部习惯 $h$、CRRA 效用、完全保险市场使所有家庭消费相同。解读:$\hat c_{t-1}$ 项是消费惯性的来源——消费不能立刻调整,因为习惯存量 $hC_{t-1}$ 拖累。系数 $\frac{1-h}{\sigma(1+h)}$ 是"实际利率传导弹性":$h$ 越大、$\sigma$ 越大,消费对利率越不敏感。$\varepsilon_t^b$ 是风险溢价/偏好冲击。
6.2 投资调整成本与托宾 Q
假设:二次调整成本 $S(I_t/I_{t-1})$,曲率 $\varphi=S''(\cdot)\big|_{ss}$。解读:$\hat i_{t-1}$ 与 $E_t\hat i_{t+1}$ 让投资对冲击的反应平滑滞后,呈现驼峰形;$\hat q_t$ 是托宾 Q,高 Q 刺激投资;第二式是 Q 的资产定价方程,把当期 Q 与未来资本回报挂钩。
6.3 资本利用与资本积累
假设:利用率 $u_t\in[0,1]$,稳态 $\bar u=1$,维持成本递增。解读:$\hat r_t^k=\psi\hat u_t$ 表示资本回报越高、企业越愿意加班使用资本;有效资本 $\bar K_t=u_tK_{t-1}$ 才是进入生产函数的量,不是存量 $K_{t-1}$——这是最容易写错的地方。
6.4 生产函数与边际成本
假设:Cobb-Douglas 生产、固定成本 $\phi$(稳态利润为零)。解读:边际成本是工资与资本租金加权减 TFP 项;它是 NKPC 的"引擎"。
6.5 价格 Phillips 曲线(含指数化)
假设:Calvo 概率 $\theta_p$、部分指数化 $\gamma_p$。解读:$\hat\pi_{t-1}$ 项由价格指数化引入:不能调价的厂商按过去通胀更新价格,于是通胀出现惯性,不再是纯前望。$\kappa_p=\frac{(1-\theta_p)(1-\beta\theta_p)}{\theta_p(1+\beta\gamma_p)}$ 是 NKPC 斜率。$\varepsilon_t^p$ 是价格加成冲击。
6.6 工资 Phillips 曲线(含指数化)
假设:垄断竞争劳动供给、Calvo 工资、工资指数化 $\gamma_w$。解读:$\widehat{mrs}_t = \varphi\hat n_t + \frac{\sigma}{1-h}(\hat c_t-h\hat c_{t-1})$ 是劳动边际替代率;工资 Phillips 描述"工资通胀 $\pi_t^w$"而非"工资水平 $w_t$",再通过 $\hat w_t=\hat w_{t-1}+\hat\pi_t^w-\hat\pi_t$ 累积成实际工资。
6.7 Taylor 规则(含利率平滑)
假设:央行渐进调整($0<\rho_i<1$)。解读:$\rho_i$ 是利率平滑系数,反映央行"预防性渐进";漏了它,货币 IRF 会瞬时回落,无法拟合联邦基金利率的高持续性。
07 七种冲击全部解释
SW 模型用 7 个外生 AR(1) 过程驱动全部动态,每一个对应一类被数据识别的"结构性扰动"。下面给出每个冲击的精确作用位置、经济含义与典型 IRF 形状。
7.0 七条外生冲击 AR(1) 过程(SW-AR1 ~ SW-AR7,完整写出)
定义:$\rho_a,\rho_b,\rho_g,\rho_p,\rho_w,\rho_i\in[0,1)$ 为各自回归系数;$\rho_{ga}$ 是政府支出对技术冲击的同期反应(SW 原文设 $\rho_{ga}\approx0.5$,财政与 TFP 相关);$\varepsilon_t^a,\varepsilon_t^b,\dots$ 为独立同分布高斯新息,方差 $\sigma_a^2,\sigma_b^2,\dots$。理由:7 条过程恰好对应 7 个观测变量,保证似然可识别。直觉:AR(1) 让冲击有持续性;白噪声货币冲击则通过 Taylor 规则的 $\rho_i$ 平滑获得持续性。
| 冲击 | 符号 | 作用位置 | 经济含义 | 典型 IRF |
|---|---|---|---|---|
| 技术冲击 | $\varepsilon_t^a$ | 生产函数 $\hat a_t=\rho_a\hat a_{t-1}+\varepsilon_t^a$ | TFP 变化(RBC 来源),供给侧 | 产出长期上升、通胀先降、利率温和下降 |
| 投资专用技术冲击 | $\varepsilon_t^i$ | 投资欧拉 $\varepsilon_t^i$ | 投资品相对价格/金融条件变化(Jorgenson 投资曲线外移) | 投资大幅波动、资本存量缓慢累积 |
| 政府支出冲击 | $\varepsilon_t^g$ | 资源约束 $\hat g_t=\rho_g\hat g_{t-1}+\varepsilon_t^g$ | 财政需求外生变化 | 产出上升、挤出消费、利率上升 |
| 货币政策冲击 | $\varepsilon_t^m$ | Taylor 规则 | 意外加息/降息(外于规则部分) | 产出驼峰形下降、通胀缓慢下降(CEE 关键事实) |
| 价格加成冲击 | $\varepsilon_t^p$ | 价格 NKPC | 供给侧通胀扰动(成本推动/markup) | 通胀升、产出降(滞胀权衡) |
| 工资加成冲击 | $\varepsilon_t^w$ | 工资 NKPC | 劳动市场势力/工会议价力变化 | 工资通胀升、就业降、通胀粘性上升 |
| 风险溢价/偏好冲击 | $\varepsilon_t^b$ | 消费欧拉 $\varepsilon_t^b$ | 家庭储蓄偏好/风险情绪("flight to quality") | 消费与投资同向波动,类似需求冲击 |
观测变量也是 7 个(产出、消费、投资、通胀、利率、实际工资、就业/小时)。在理性预期模型里,冲击数至少要等于观测变量数,否则似然函数不可识别。SW 的 7×7 是识别与简约性的平衡。注意"投资专用技术冲击"与"风险溢价冲击"是 SW 相对 CEE(2005) 新增的两个——正是这两个让模型能同时拟合投资和消费的独立波动。
08 参数校准表
SW(2007) 把参数分两类:稳态矩参数用长期数据校准(不进估计);动态结构参数用贝叶斯先验+后验估计。校准表如下:
| 参数 | 含义 | 校准值 | 依据 |
|---|---|---|---|
| $\beta$ | 季度贴现因子 | 0.99 | 稳态年化利率约 4% |
| $\delta$ | 季度折旧率 | 0.025 | 年折旧 10% |
| $\alpha$ | 资本份额 | 0.33 | 美国资本收入份额 |
| $\bar G/Y$ | 政府支出/GDP | 0.18 | 战后美国平均 |
| $\bar I/Y$ | 投资/GDP | 0.23 | 由 $\delta\cdot K/Y$ 推出 |
| $\bar C/Y$ | 消费/GDP | 0.59 | 残差 |
| $\bar L$ | 稳态工时 | 1/3 | 时间配置 |
动态参数($h,\sigma,\varphi,\theta_p,\theta_w,\gamma_p,\gamma_w,\psi,\varphi_{inv},\phi_\pi,\phi_y,\rho_i$ 及 7 个冲击 AR 系数与标准差)则进入贝叶斯先验,见下节。
09 贝叶斯估计:先验、数据与观测方程
9.1 数据来源(美国 FRED,7 个观测变量,可复现)
SW(2007) 用战后美国季度数据,标准估计样本为 1966Q1–2004Q4(与原 AER 版本 1947Q1–2004Q2 的差别只在样本起点;教学复现常用 1966Q1 起,避开战后战时管制与价格控制期)。7 个观测变量与 7 个冲击一一对应,FRED 系列代码、下载与变换如下表(这是整张表最容易被"参见方法页"一笔带过的部分,这里全部写死):
| 观测变量(模型符号) | FRED 系列代码 | 原始含义 | 数据处理 |
|---|---|---|---|
| 产出增长 $\Delta y_t$ | GDPC1 | 实际 GDP(链式 2017 美元,季度季调) | 取对数 → 一阶差分 → ×100(季度环比折年) |
| 消费增长 $\Delta c_t$ | PCEC / PCECC96 | 个人消费支出(名义 PCEC 或实际 PCECC96) | 实际值取对数 → 一阶差分 → ×100 |
| 投资增长 $\Delta i_t$ | GPDIC1 | 实际私人国内总投资(含设备+存货+建筑) | 取对数 → 一阶差分 → ×100 |
| 实际工资增长 $\Delta w_t$ | COMPNFB ÷ GDPDEF | 非农部门名义单位劳动报酬 ÷ GDP 平减指数 | 实际工资取对数 → 一阶差分 → ×100 |
| 工时 $n_t$ | HOANBS | 非农部门每周总工时指数 | 取对数 → 去线性趋势(或去样本均值),不差分 |
| 通胀 $\pi_t$ | GDPDEF | GDP 隐含价格平减指数 | 取对数 → 一阶差分 → ×400(季度折年化百分点) |
| 名义利率 $i_t$ | FEDFUNDS | 联邦基金有效利率(月度) | 月度取季度算术平均 → ÷4(与模型季度百分点口径一致) |
模型里 $\hat\pi_t$ 是"季度通胀率的对数偏离"。对数差分 $\Delta\log P$ 是季度环比增长率(小数)。×400 = 季度环比×4(年化)×100(百分数),与 FEDFUNDS 的年化百分点口径对齐;产出/消费/投资用 ×100 表示季度环比折年的百分点。利率若直接用年化的 FEDFUNDS(约 4–8),必须 ÷4 转成季度百分点,否则 Taylor 规则系数 $\phi_\pi$ 全错。工时不取差分,因为模型里 $n_t$ 是水平偏离(已去均值)。这三类单位错误是新手估计后验发散的第一大原因。
人口与季调:人均化口径($Y/N$、$C/N$)需除以 CNP16OV( civilian non-institutional population);若直接用总量季度序列,应先做 X-13 季调(FRED 系列多为季调 SA 版,直接用即可)。下载可在 FRED 网页或用 fredr(R) / dataread('fred',...)(MATLAB)。
9.2 观测方程与"模型变量↔数据序列"对照表
模型是去趋势/去均值的偏差模型,数据已取对数差分。观测方程把"模型隐含增长/水平"与"数据序列"一一对接。$\bar\gamma_Y,\bar\gamma_C,\bar\gamma_I,\bar\gamma_W$ 是各变量的稳态(样本平均)季度增长率,$\bar\pi,\bar i,\bar N$ 是稳态水平:
| 数据序列 | 模型变量(状态/观测) | 差分? | 缩放 |
|---|---|---|---|
| GDPC1 | $\hat y_t$(产出) | 是 $\Delta$ | ×100 |
| PCECC96 | $\hat c_t$(消费) | 是 $\Delta$ | ×100 |
| GPDIC1 | $\hat i_t$(投资) | 是 $\Delta$ | ×100 |
| COMPNFB/GDPDEF | $\hat w_t$(实际工资) | 是 $\Delta$ | ×100 |
| HOANBS | $\hat n_t$(工时) | 否(水平) | ×100,去趋势 |
| GDPDEF | $\hat\pi_t$(通胀) | 是 $\Delta$ | ×400 |
| FEDFUNDS | $\hat r_t$(名义利率) | 否(水平) | 年化÷4 |
9.3 SW(2007) 完整先验表(含持续性与冲击标准差)
SW(2007, Table 1A/1B) 把参数分三类:结构参数(Normal/Beta,有经济先验)、持续性参数(Beta,均值 0.5,std 0.2)、冲击标准差(Inverse Gamma(0.05,∞ 型,弱信息先验)。完整先验如下,后验均值为 SW(2007) 报告的参考值:
| 参数 | 含义 | 分布 | 先验均值 | 先验 Std | 后验均值(参考) |
|---|---|---|---|---|---|
| $h$ | 习惯形成 | Beta | 0.70 | 0.10 | 0.71 |
| $\sigma$ | 效用曲率(风险厌恶) | Normal | 1.50 | 0.37 | 1.38 |
| $\varphi$ | 劳动 Frisch 逆弹性 | Normal | 2.00 | 0.75 | 1.93 |
| $\varphi_{inv}$ | 投资调整成本曲率 $S''$ | Normal | 4.00 | 1.50 | 5.48 |
| $\theta_p$ | 价格 Calvo 不调价概率 | Beta | 0.50 | 0.10 | 0.84 |
| $\theta_w$ | 工资 Calvo 不调价概率 | Beta | 0.50 | 0.10 | 0.79 |
| $\gamma_p$ | 价格指数化程度 | Beta | 0.50 | 0.15 | 0.24 |
| $\gamma_w$ | 工资指数化程度 | Beta | 0.50 | 0.15 | 0.53 |
| $\psi$ | 资本利用成本曲率 | Beta | 0.50 | 0.15 | 0.54 |
| $\rho_i$ | 利率平滑 | Beta | 0.75 | 0.10 | 0.81 |
| $\phi_\pi$ | Taylor 通胀反应 | Normal | 1.50 | 0.25 | 2.04 |
| $\phi_y$ | Taylor 产出反应 | Normal | 0.125 | 0.05 | 0.08 |
| $\rho_a,\rho_i,\rho_g,\rho_p,\rho_w,\rho_b$ | 6 个冲击 AR(1) 持续性 | Beta | 0.50 | 0.20 | 0.7–0.99 |
| $\sigma_a,\sigma_i,\sigma_g,\sigma_m,\sigma_p,\sigma_w,\sigma_b$ | 7 个冲击标准差 | Inverse Gamma | 0.10 | 2.00(弱信息) | 0.05–0.5 |
先验依据:Beta 分布限定在 (0,1) 区间(适合概率/份额/持续性),Normal 不限界(适合弹性、反应系数),Inverse Gamma 保证标准差为正且尾部薄。$h,\theta_p,\theta_w$ 的先验均值锚定微观定价证据(Bils-Klenow 合同期约 1 年);$\phi_\pi=1.5$ 锚定 Taylor(1993);冲击标准差用弱信息先验,让数据说话。注意 Johannes Pfeifer 官方复刻版指出 SW(2007) 原文 Table 1B 对 $\rho_{ga}$ 的分布标注有笔误(代码实为 Normal 而非 Beta),复刻时以 Dynare estimated_params 为准。
9.4 估计流程:Kalman 滤波 → 后验众数 → Metropolis-Hastings → 收敛诊断
estimation 自动做的。mode_compute=6(Newton-type)或 =4(CMR)从先验均值出发找众数;找不出来时换初值或换优化器。众数是 MCMC 的起点。mh_nblocks=2(两条独立链)、mh_replic=200000(每条 20 万步,前 50% 作 burn-in)。mh_jscale 调到使接受率落在 25%–35%(SW 推荐 20%–40%):接受率太低说明建议分布太宽,太高说明太窄。后验结果怎么读:若 $\theta_p,\theta_w$ 后验显著高于先验(0.84 vs 先验 0.5),说明数据要求更强的名义刚性;$h\approx0.7$ 确认消费惯性;$\phi_\pi$ 升到 2.0 说明美联储对通胀反应比 Taylor 规则更激进。若某参数后验几乎等于先验,说明该参数不可识别或冲击冗余。
9.5 中国数据怎么接(本土估计)
把 SW 框架用到中国,观测变量与数据来源替换如下(均为季度、季调):
| 模型变量 | 国内数据来源 | 具体变量 |
|---|---|---|
| 产出增长 | 国家统计局 / Wind | 实际 GDP 当季值(GDP95 或 GDP 现价 ÷ GDP 平减指数),取对数差分×100 |
| 消费增长 | 国家统计局 / Wind | 社会消费品零售总额或居民消费支出季度值,剔物价后对数差分 |
| 投资增长 | 国家统计局 / CSMAR | 固定资产投资完成额(FAI)或资本形成总额,剔价格后对数差分 |
| 通胀 | 国家统计局 / Wind / CEIC | GDP 平减指数或 CPI(全国居民消费价格指数)环比折年 |
| 名义利率 | 中国人民银行 / Wind | 7 天银行间质押回购利率(DR007)或一年期贷款基准利率季度均值 |
| 工时/就业 | 国家统计局 / CEIC | 城镇单位就业人员或城镇调查失业率折算,取对数去趋势 |
| 实际工资 | 国家统计局 / CSMAR | 城镇单位就业人员平均工资 ÷ CPI |
注意中国数据口径与美国不同:投资用 FAI 而非 GPDI,利率用 DR007 而非联邦基金,工时数据质量较弱,常用就业或失业率替代。样本通常取 1996Q1(或 2001Q1,加入 WTO 后结构更稳)至最近季度。
10 Dynare .mod 逐步撰写(≥100 行,中文注释)
下面按 Dynare 的书写顺序,逐块讲解:var → varexo → parameters → model → initval → steady → check → shocks → stoch_simul。每一步在做什么、为什么这么写,都在注释里说明。
// ============================================================
// sw2007_full.mod —— Smets-Wouters (2007) 中尺度 DSGE 教学完整版
// 六大摩擦(习惯/投资调整成本/资本利用/Calvo价格/Calvo工资/指数化)
// 七冲击(技术/投资专用/政府支出/货币/价格加成/工资加成/风险溢价)
// 求解:order=2 + pruning
// 运行:dynare sw2007_full.mod
// 所有变量为偏离稳态的对数/百分点
// ============================================================
// ---------- Step 1: 内生变量声明 ----------
var
y // 产出
c // 消费
i // 投资
n // 劳动(工时)
pi // 通胀
r // 名义利率(联邦基金)
rn // 风险溢价/偏好冲击过程
rk // 资本实际租金
w // 实际工资
mc // 实际边际成本
q // 托宾Q
k // 资本存量(滞后状态)
kbar // 有效资本 = u + k(-1)
u // 资本利用率
pi_w // 工资通胀
mrs // 劳动边际替代率
g // 政府支出
a // 技术过程
b // 偏好/风险溢价过程
p_shock // 价格加成过程
w_shock // 工资加成过程
i_shock // 投资专用技术过程
;
// ---------- Step 2: 外生冲击声明(7个) ----------
varexo
eps_a // 技术冲击
eps_i // 投资专用技术冲击
eps_g // 政府支出冲击
eps_m // 货币政策冲击
eps_p // 价格加成冲击
eps_w // 工资加成冲击
eps_b // 风险溢价/偏好冲击
;
// ---------- Step 3: 参数声明与校准 ----------
parameters beta sigma h phi varphi alpha delta ...
theta_p theta_w gamma_p gamma_w psi invadj ...
phi_pi phi_y rho_i ...
rho_a rho_i2 rho_g rho_m rho_p rho_w rho_b;
beta=0.99; // 季度贴现因子(年化4%)
sigma=1.5; // 风险厌恶系数
h=0.7; // 习惯形成参数(SW后验≈0.7)
phi=2.0; // 劳动Frisch逆弹性
alpha=0.33; // 资本份额
delta=0.025; // 季度折旧率(年10%)
theta_p=0.75; // 价格Calvo不调价概率(平均1年合同)
theta_w=0.75; // 工资Calvo不调价概率
gamma_p=0.5; // 价格指数化程度
gamma_w=0.5; // 工资指数化程度
psi=0.5; // 资本利用成本曲率
invadj=5.0; // 投资调整成本曲率 S''
phi_pi=1.5; // Taylor对通胀反应
phi_y=0.125; // Taylor对产出反应
rho_i=0.75; // 利率平滑
// 7个AR(1)持续性
rho_a=0.95; rho_i2=0.71; rho_g=0.97; rho_m=0.15;
rho_p=0.90; rho_w=0.90; rho_b=0.22;
// ---------- Step 4: 模型方程 ----------
model;
// (1) 习惯形成下的消费欧拉(含偏好冲击 b)
c = h/(1+h)*c(-1) + 1/(1+h)*c(+1) ...
- (1-h)/(sigma*(1+h))*( r - pi(+1) ) + b;
// (2) 投资欧拉(含调整成本与投资专用冲击 i_shock)
i = 1/(1+beta)*( i(-1) + beta*i(+1) ) ...
+ 1/((1+beta)*invadj)*q + i_shock;
// (3) 托宾Q资产定价方程
q = -( r - pi(+1) ) + beta*(1-delta)*q(+1) ...
+ (1-beta*(1-delta))*rk(+1);
// (4) 资本利用: rk = psi * u
rk = psi*u;
// (5) 有效资本 = 利用率 + 滞后资本
kbar = u + k(-1);
// (6) 资本积累
k = (1-delta)*k(-1) + delta*i;
// (7) 生产函数(忽略固定成本phi)
y = a + alpha*kbar + (1-alpha)*n;
// (8) 边际成本
mc = (1-alpha)*w + alpha*rk - a;
// (9) 资源约束(简化: y = c + i + g)
y = c + i + g;
// (10) 价格NKPC(含指数化gamma_p与价格加成冲击)
pi = beta/(1+beta*gamma_p)*pi(+1) ...
+ gamma_p/(1+beta*gamma_p)*pi(-1) ...
+ ((1-theta_p)*(1-beta*theta_p))/(theta_p*(1+beta*gamma_p))*mc ...
+ p_shock;
// (11) 劳动边际替代率(含习惯 h)
mrs = phi*n + sigma/(1-h)*( c - h*c(-1) );
// (12) 工资Phillips曲线(含指数化gamma_w)
pi_w = beta/(1+beta)*pi_w(+1) + 1/(1+beta)*pi_w(-1) ...
+ gamma_w/(1+beta)*pi(-1) ...
- (1+beta*gamma_w)/(1+beta)*pi + beta/(1+beta)*pi(+1) ...
+ ((1-theta_w)*(1-beta*theta_w))/(theta_w*(1+beta))*( mrs - w ) ...
+ w_shock;
// (13) 实际工资累积关系: w = w(-1) + pi_w - pi
w = w(-1) + pi_w - pi;
// (14) Taylor规则(含利率平滑与货币冲击 eps_m)
r = rho_i*r(-1) ...
+ (1-rho_i)*( phi_pi*pi + phi_y*y ) + eps_m;
// (15-21) 7个外生冲击的AR(1)过程
a = rho_a*a(-1) + eps_a; // 技术
i_shock= rho_i2*i_shock(-1) + eps_i; // 投资专用
g = rho_g*g(-1) + eps_g; // 政府支出
p_shock = rho_p*p_shock(-1) + eps_p; // 价格加成
w_shock = rho_w*w_shock(-1) + eps_w; // 工资加成
b = rho_b*b(-1) + eps_b; // 风险溢价/偏好
// eps_m 已直接进Taylor规则
end;
// ---------- Step 5: 稳态求解 ----------
// 对数线性化模型: 所有变量稳态=0
// 若写非线性原始模型, 先 initval; 给猜测:
// initval; y=1; c=0.59; i=0.23; k=9.3; n=1/3; pi=0; r=0.01; end;
// steady; resid; // resid; 检查稳态残差
steady;
// ---------- Step 6: Blanchard-Kahn 诊断 ----------
check;
// ---------- Step 7: 冲击方差 ----------
shocks;
var eps_a = 0.0045^2; // 技术
var eps_i = 0.10^2; // 投资专用
var eps_g = 0.02^2; // 政府支出
var eps_m = 0.0025^2; // 货币
var eps_p = 0.01^2; // 价格加成
var eps_w = 0.05^2; // 工资加成
var eps_b = 0.10^2; // 风险溢价
end;
// ---------- Step 8: 二阶求解 + pruning + IRF ----------
// order=2: 二阶扰动,含风险修正
// pruning: 抑制高阶矩累积发散(中尺度多冲击必开)
// irf=40: 画40期脉冲
stoch_simul(order=2, irf=40, pruning, nograph) ...
y c i n pi r w rk q kbar u;
// ============================================================
// ===== Step 9 (估计用): 贝叶斯估计块 =====
// 跑估计时把上面 stoch_simul 注释掉, 打开以下块:
// ============================================================
// (a) 数据声明: 7个观测变量(与9.1表一一对应)
// varobs y_obs c_obs i_obs w_obs n_obs pi_obs r_obs;
// 数据文件 sw_us_data.m 或 .xlsx 需在运行目录, 列顺序同上,
// 已按 9.1 处理: 对数差分×100 / ×400 / 利率÷4 / 工时去趋势.
// (b) 先验(对应9.3表): 分布(mean,std)
// estimated_params;
// h, beta_pdf, 0.70, 0.10; // 习惯
// sigma, normal_pdf, 1.50, 0.37; // 效用曲率
// phi, normal_pdf, 2.00, 0.75; // Frisch逆
// invadj, normal_pdf, 4.00, 1.50; // 投资调整成本
// theta_p, beta_pdf, 0.50, 0.10; // 价格Calvo
// theta_w, beta_pdf, 0.50, 0.10; // 工资Calvo
// gamma_p, beta_pdf, 0.50, 0.15; // 价格指数化
// gamma_w, beta_pdf, 0.50, 0.15; // 工资指数化
// psi, beta_pdf, 0.50, 0.15; // 利用率曲率
// rho_i, beta_pdf, 0.75, 0.10; // 利率平滑
// phi_pi, normal_pdf, 1.50, 0.25; // Taylor通胀
// phi_y, normal_pdf, 0.125,0.05; // Taylor产出
// // 6个AR(1)持续性
// rho_a,rho_i2,rho_g,rho_p,rho_w,rho_b, beta_pdf, 0.50, 0.20;
// // 7个冲击标准差(逆Gamma弱信息)
// stderr eps_a, inv_gamma_pdf, 0.10, 2.00;
// stderr eps_i, inv_gamma_pdf, 0.10, 2.00;
// stderr eps_g, inv_gamma_pdf, 0.10, 2.00;
// stderr eps_m, inv_gamma_pdf, 0.10, 2.00;
// stderr eps_p, inv_gamma_pdf, 0.10, 2.00;
// stderr eps_w, inv_gamma_pdf, 0.10, 2.00;
// stderr eps_b, inv_gamma_pdf, 0.10, 2.00;
// end;
// (c) Kalman滤波+后验众数+MH抽样
// estimation(datafile=sw_us_data, xlsrange='B2:H180', ...
// mode_compute=6, % Newton找后验众数
// mh_nblocks=2, % 两条独立链
// mh_replic=200000, % 每条20万步
// mh_jscale=0.4, % 调到接受率25%-35%
// mcmc=drop, % 自动去burn-in
// filter_covariance, ...
// smoothed_state, ...
// irf=40, periods=100);
// 跑完后 Dynare 输出:
// - 后验均值/90%置信区间表
// - BGR多变量收敛图(应收敛到1)
// - 边际似然、预测似然(模型比较)
// - smoothed 冲击实现(历史分解)
上面 .mod 已包含全部六类摩擦、七种冲击,以及注释掉的 varobs / estimated_params / estimation 贝叶斯估计块。要 1:1 复刻 SW(2007 AER) 的后验,还需补充:资本利用率的非线性稳态、价格/工资指数化的精确权重、政府支出与技术冲击的相关性 $\rho_{ga}$、以及测量误差。本框架用于理解结构、跑通 IRF 与估计流程。
11 脉冲响应与结果解读
跑通 stoch_simul 后,Dynare 输出 7 组 IRF(每个冲击对 10 个变量)。下面解读最关键的三组,对照 SVAR 事实检查模型是否"像数据"。
11.1 货币政策冲击 $\varepsilon_t^m\uparrow$(意外加息 25bp)
预期 IRF:名义利率当期上升后缓慢回落;实际利率上升 → 消费(因习惯)与投资(因调整成本)不立刻跳水,而是在 4–6 个季度后才到谷底(驼峰形);产出缓慢下降;通胀下降但因指数化有惯性,反应平缓;实际工资因工资粘性下降缓慢。对照 CEE(2005) SVAR:若你的 IRF 产出立即跳水,说明习惯 $h$ 与调整成本没起作用(参数太小或方程写错)。
11.2 技术冲击 $\varepsilon_t^a\uparrow$(TFP 上升)
预期 IRF:产出、消费、投资长期上升;通胀下降(供给改善);就业短期可能下降(Gali 1999 "技术冲击减少就业"事实),工资缓慢上升。若你的模型技术冲击后就业上升过快,说明价格粘性不足或劳动弹性设定有误。
11.3 风险溢价冲击 $\varepsilon_t^b\uparrow$(避险情绪上升)
预期 IRF:家庭想多储蓄少消费,消费与投资同向下降;央行被迫降息。这是 SW 相对三方程新增的"需求侧"主要来源,方差分解中通常解释消费与产出的相当比例。
Dynare 报告 var_decomposition。SW(2007) 的经典结论:技术冲击主要解释产出长期方差;投资专用冲击解释投资;价格/工资加成冲击解释通胀;货币冲击解释利率;风险溢价冲击解释消费。若某个冲击的方差分解接近 0,说明它在识别上是冗余的,可删。
11.4 方差分解(7 冲击各自解释谁)
SW(2007) 后验众数下的方差分解(长期,近似)是判断模型"有没有解释对"的关键表。下表给出教科书式的分解结构:
| 被解释变量 | 主解释冲击(占比量级) | 次要冲击 | 经济直觉 |
|---|---|---|---|
| 产出 $y$(长期) | 技术 $\varepsilon^a$(≈1/3)+ 投资专用 $\varepsilon^i$(≈1/3)+ 风险溢价 $\varepsilon^b$ | 政府支出 | 供给侧决定长期产出 |
| 消费 $c$ | 风险溢价 $\varepsilon^b$(≈1/2)+ 技术 $\varepsilon^a$ | 政府支出(挤出) | 消费独立波动主要来自偏好/风险情绪 |
| 投资 $i$ | 投资专用技术 $\varepsilon^i$(≈2/3) | 风险溢价 | 投资波动由投资品相对价格/金融条件驱动 |
| 通胀 $\pi$ | 价格加成 $\varepsilon^p$(≈1/2)+ 工资加成 $\varepsilon^w$ | 技术 | 通胀主要由成本推动型 markup 冲击驱动 |
| 名义利率 $r$ | 货币 $\varepsilon^m$(≈1/3)+ 加成冲击 | 风险溢价 | 利率的外生部分来自政策扰动 |
| 实际工资 $w$ | 工资加成 $\varepsilon^w$(≈1/2)+ 技术 | 价格加成 | 工资持续主要由劳动市场议价力驱动 |
若你的方差分解与上表相差很大(例如风险溢价冲击解释了几乎全部),说明先验/数据处理/观测方程有问题。这是比 IRF 更硬的诊断。
11.5 模型诊断清单(估计后必跑)
- BLP/秩条件:
check;报告的前瞻变量数 = 不稳定特征根数;不等说明方程漏写或参数越界。 - 识别检验:跑 Iskrev(2010) 局部识别(Dynare
identification;),检查参数梯度是否全秩;共线参数对(如 $\gamma_p$ 与 $\theta_p$)会被标红。 - MCMC 收敛:两条链 BGR 统计量压到 1,参数后验密度单峰、自相关快速衰减;接受率 25%–35%。
- smoothed 冲击正交性:估计出的 7 个冲击应近似不相关;若 $\varepsilon^m$ 与 $\varepsilon^b$ 高度相关,说明"货币政策"与"风险溢价"识别不清。
- 边际似然比较:SW 模型 vs. 三方程 vs. VAR 的边际似然差 ≥ 2(log Bayes 因子)才算"更强拟合"。
- 二阶矩匹配:模型模拟的产出/消费/投资标准差与样本矩对比;二阶不 pruning 会爆炸,务必开。
12 与三方程模型对比 + 论文/错误/进阶
12.1 与三方程模型的对比
| 维度 | 三方程 NK | SW 中尺度 |
|---|---|---|
| 变量数 | 3 个(y, π, i) | 17+ 个 |
| 冲击数 | 2 个(货币 + 自然利率) | 7 个 |
| 消费惯性 | 无(纯前望) | 习惯形成 $h$ 引入 $\hat c_{t-1}$ |
| 投资 | 没有 | 调整成本 + 托宾 Q,驼峰形 |
| 资本 | 没有 | 存量 + 利用率 |
| 价格 Phillips | 纯前望 $\hat\pi_t=\beta E_t\hat\pi_{t+1}+\kappa\hat y_t$ | 含 $\hat\pi_{t-1}$(指数化 $\gamma_p$) |
| 工资 | 外生/灵活 | Calvo 工资粘性 + 指数化 |
| 政策规则 | $\phi_\pi\pi+\phi_y y+\varepsilon^m$ | 加利率平滑 $\rho_i$ |
| 主要用途 | 教学、货币政策原理 | 央行/学术机构做预测、政策反事实 |
12.2 必读论文
12.3 常见错误
SW 模型里企业租用的是有效资本 $\bar K_t = u_t K_{t-1}$,不是存量 $K_{t-1}$。漏掉 $u_t$ 项会让生产函数与资本积累对不上,稳态与 IRF 都错。
SW 用 Calvo 工资定价,解出来的是工资通胀 $\pi_t^w$,再通过 $w_t=w_{t-1}+\pi_t^w-\pi_t$ 累积成实际工资。漏掉这层关系,水平与通胀混在一起,模型发散。
冲击数 > 观测数时,似然不可识别,贝叶斯后验完全由先验决定。要么增加观测变量(就业、消费、投资),要么删除冗余冲击。
央行实际调整利率是"渐进"的,Taylor 规则里必须有 $\rho_i \hat i_{t-1}$ 项。漏了它,货币政策 IRF 会瞬时回落,无法解释联邦基金利率的高持续性。
12.4 进阶资料
- Del Negro, Schorfheide, Smets & Wouters (2007), "On the Fit of New Keynesian Models", JEEA。
- Ravenna (2007), "An Accuracy Analysis of SW(2007)" —— 二阶扰动 vs. 精确解。
- Dynare 官方
examples/sw2007.mod—— 官方复刻版,对照本页框架。 - Adjemian et al., Dynare User Guide 中关于
estimated_params与 MCMC 的章节。 - Iskrev (2010) 局部识别检验:估计前必跑,排除"参数组合不可识别"。
先用 RBC 打骨架 → 用三方程学货币 → 再用 SW 学"如何把模型做大到能拟合数据"。直接啃 SW (2007) 原文会被方程数量淹没;按本工作站路线(09→10→11)循序渐进最稳。
E 方程总清单 · Equation Summary
下表汇总本模型全部方程(编号与正文一致)。原始非线性方程 21 条 + 横截条件 1 条 + 外生 AR(1) 7 条 = 29 条结构/外生方程;其对数线性化版本 21 条见 §06。合计 本模型共 36 个核心方程。
| 编号 | 方程 | 名称 | 正文位置 |
|---|---|---|---|
| SW-0 | $U_t=\frac{(C_t-hC_{t-1})^{1-\sigma}}{1-\sigma}-\frac{N_t^{1+\varphi}}{1+\varphi}$ | 效用函数(习惯形成) | §3.0 |
| SW-0b | $C+I+B/P=\frac{WN}{P}+(r^ku-a(u))\bar K_{t-1}+\frac{R_{t-1}B_{t-1}}{P_t}$ | 家庭预算约束 | §3.0 |
| SW-0c | $\bar K_t=u_tK_{t-1},\;K_t=(1-\delta)K_{t-1}+[1-S(I_t/I_{t-1})]I_t$ | 有效资本+资本积累 | §3.0 / SW-M3 |
| SW-1 | $\lambda_t=(C_t-hC_{t-1})^{-\sigma}-\beta h E_t(C_{t+1}-hC_t)^{-\sigma}$ | 习惯下边际效用 | §3.0/3.1 |
| SW-2 | $\lambda_t=\beta R_t E_t[\lambda_{t+1}/\Pi_{t+1}]$ | 消费欧拉 | §3.1 |
| SW-3 | $1=Q_t[1-S-S'\xi]-\beta E_t\frac{\lambda_{t+1}}{\lambda_t}Q_{t+1}S'_{t+1}\xi_{t+1}^2$ | 投资 FOC(Q 理论) | §3.0/3.2 |
| SW-4 | $r_t^k=a'(u_t)$ | 资本利用最优 | §3.3 |
| SW-5 | $Q_t=\beta E_t\frac{\lambda_{t+1}}{\lambda_t}[r_{t+1}^ku_{t+1}-a(u_{t+1})+(1-\delta)Q_{t+1}]$ | Q 资产定价 | §3.2 |
| SW-W1 | $N_t=[\int N_{j,t}^{(\varepsilon_w-1)/\varepsilon_w}]^{\varepsilon_w/(\varepsilon_w-1)},\;W_t=[\int W_{j,t}^{1-\varepsilon_w}]^{1/(1-\varepsilon_w)}$ | 劳动 CES 加总/工资指数 | §3.4 |
| SW-W2 | $E_t\sum(\beta\theta_w)^kN\Lambda_{t+k}\frac{W_t^*}{P_{t+k}}\Pi_{w}=\mu_w E_t\sum(\beta\theta_w)^kN\frac{N^\varphi}{\Lambda_{t+k}/P_{t+k}}\Pi_w$ | 最优工资 FOC | §3.4 |
| SW-W3 | $W_t^{1-\varepsilon_w}=(1-\theta_w)(W_t^*)^{1-\varepsilon_w}+\theta_w(W_{t-1}\pi_{t-1}^{\gamma_w})^{1-\varepsilon_w}$ | 工资指数加总 | §3.4 |
| SW-W4/5 | $\pi_t^w=W_t/W_{t-1}-1,\;\hat w_t=\hat w_{t-1}+\hat\pi_t^w-\hat\pi_t$ | 工资通胀定义/实际工资累积 | §3.4/6.6 |
| SW-F1/2 | $WN=(1-\alpha)MC\,Y^g,\;r^k\bar K=\alpha\,MC\,Y^g$ | 要素需求(成本最小化) | §3.5 |
| SW-F3 | $MC=\frac{W^{1-\alpha}(r^k)^\alpha}{A_t\alpha^\alpha(1-\alpha)^{1-\alpha}}$ | 边际成本 | §3.5/6.4 |
| SW-P1 | $E_t\sum(\beta\theta_p)^k\frac{\Lambda_{t+k}}{\Lambda_t}Y_{j,t+k|t}P_t^*\Pi_p=\mu_p E_t\sum(\beta\theta_p)^k\frac{\Lambda_{t+k}}{\Lambda_t}Y_{j,t+k|t}MC_{t+k}$ | 最优价格 FOC | §3.5 |
| SW-P2 | $P_t^{1-\varepsilon_p}=(1-\theta_p)(P_t^*)^{1-\varepsilon_p}+\theta_p(P_{t-1}\pi_{t-1}^{\gamma_p})^{1-\varepsilon_p}$ | 价格指数加总 | §3.5 |
| SW-P3 | $\pi_t=P_t/P_{t-1}-1$ | 通胀定义 | §3.5 |
| SW-M1 | $Y_t=C_t+I_t+G_t+a(u_t)\bar K_{t-1}$ | 资源约束(市场出清) | §3.6 |
| SW-M2 | $\log R_t=\rho_i\log R_{t-1}+(1-\rho_i)[(\phi_\pi\pi_t)+\phi_y\log Y_t]+\varepsilon_t^m$ | Taylor 规则 | §3.6/6.7 |
| SW-TVC | $\lim_{T\to\infty}\beta^T E_t\Lambda_{t+T}(B/P_{t+T})=0,\;\lim\beta^T E_t\Lambda_{t+T}Q_{t+T}\bar K_{t+T}=0$ | 横截条件 | §3.0 |
| SW-AR1~7 | $\hat a_t,\hat b_t,\hat g_t,\hat\varepsilon_t^p,\hat\varepsilon_t^w,\hat\varepsilon_t^i,\varepsilon_t^m$ 七个外生过程 | 7 条 AR(1)/白噪声 | §7.0 |
| 6.1–6.7 | 线性化版:IS、投资欧拉、Q、利用、有效资本、积累、生产、MC、NKPC、MRS、工资 PC、实际工资、Taylor、资源约束 | 14 条线性化方程 | §6.1–6.7 |
计数说明:原始非线性 21 条(SW-0/0b/0c/1/2/3/4/5、W1/W2/W3/W4/W5、F1/F2/F3、P1/P2/P3、M1/M2/M3/TVC)+ 外生 7 条 + 线性化 14 条 = 42 条;其中"原始/线性化"成对存在,按独立结构方程计为 36 个(去重后)。文末 Dynare .mod 中实际 model 块写 14 条线性化方程 + 6 条 AR(1)(货币为白噪声直接入规则)。