小国开放经济 DSGE:假设→UIP→方程→稳态→Dynare→估计→IRF 全流程
把封闭经济 NK 模型"打开一条缝":本国是世界价格接受者,新增名义汇率、贸易条件、实际汇率、国际利率与无抛补利率平价(UIP)。本页讲清 Gali-Monacelli (2005) 小国开放模型的核心方程、UIP 条件、进口价格粘性与汇率不完全传递(exchange rate pass-through)、外部利息债务粘性(Schmitt-Grohe-Uribe 关闭单位根),并在同一页内顺承走完:假设与公式解读 → 一阶条件 → 稳态 → 对数线性化与求解 → 完整可运行 Dynare .mod → 校准 → 脉冲响应(国外冲击传导、汇率传导)→ 论文与常见错误。
本模型共 24 个核心方程:CES 消费组合与需求 2、CPI 与贸易条件定义 2、家庭欧拉 1、UIP(含 SGU 风险溢价)1、外债动态 1、市场出清/出口 2、本国品 NKPC 1、CPI 通胀分解 1、进口品 NKPC 1、Taylor 规则 1、实际汇率/ToT 演化 2、国外块 AR(1) 3、贸易余额/净出口定义 1、自然利率定义 1、横截条件 1、风险溢价 AR(1) 1(合计 22 结构+2 边界)。
编号约定:SOE-x 为原始非线性方程,SOE-x̂ 为对数线性化版,SOE-AR 为外生过程。
01 为什么要做开放经济:封闭模型缺什么
封闭经济 NK 三方程模型(IS–PC–Taylor)把世界视为真空:本国利率只由本国产出缺口与通胀决定,本国消费只由本国产出支撑。但对绝大多数经济体(尤其小型开放经济体,如新加坡、香港、捷克、挪威,以及作为"大国中的小国"的中国某些行业视角)而言,国际市场是外生扰动的主要来源。美联储加息、大宗商品价格飙升、全球风险偏好收缩,都会通过汇率与贸易渠道直接冲击国内。
封闭模型无法回答以下问题:
- 本国加息时,汇率会升值多少?升值又如何通过进口价格影响通胀(汇率传导 pass-through)?
- 外国利率 $i_t^*$ 上升,为什么会迫使本国央行跟随?资本流动的约束在哪里?
- 贸易条件(出口相对进口价格)改善,为什么可能"荷兰病"式地挤出本国制造业?
- 外部冲击(出口需求下降、国外紧缩)如何经过 IS 曲线传导到本国产出与通胀?
小国开放经济(Small Open Economy, SOE)DSGE 的核心思想是:本国规模足够小,不影响世界价格、世界利率与世界产出;但本国对这些外生变量有完全的暴露。于是模型在 NK 骨架上新增四类开放元素:(1)名义汇率 $e_t$;(2)贸易条件 $s_t$;(3)实际汇率 $q_t$;(4)国际利率 $i_t^*$ 与资本账户。
02 核心概念:汇率、贸易条件、实际汇率(含假设)
先把符号钉死。记 $P_{H,t}$ 为本国生产、本国消费的本币价格指数(Home good),$P_{F,t}$ 为外国生产、本国消费的外币计价进口品价格经汇率换算后的本币价格指数。名义汇率 $e_t$ 采用直接标价的对数形式(本币/外币),$e_t$ 上升表示本币贬值。
2.1 贸易条件(Terms of Trade, ToT)的定义与假设
定义假设:贸易条件是出口品相对进口品的价格。在对数化水平下,Gali-Monacelli 将其定义为进口相对本国品的本币价格之比:
解读:$s_t$ 上升意味着进口品相对本国品变贵,即本币实际贬值、贸易条件恶化(同样一单位出口换回的进口变少)。由于本国 CPI 是本国品与进口品的加权组合 $p_t = (1-\alpha)p_{H,t} + \alpha p_{F,t}$,其中 $\alpha$ 是进口渗透率,代入得 $p_t - p_{H,t} = \alpha s_t$:CPI 通胀与本国品通胀之间隔着一层贸易条件。$\alpha$ 是本页最关键的"开放度"参数,0 表示完全封闭,1 表示完全进口。
2.2 实际汇率(Real Exchange Rate)
实际汇率把名义汇率用两国价格水平调整。若外国 CPI 为 $p_t^*$,则:
解读:$q_t$ 上升意味着本国商品相对外国变便宜(实际贬值)。在一价定律(Law of One Price, LOP)成立、进口品外币价格等于外国 CPI 的极端假设下,$p_{F,t} = e_t + p_t^*$,于是实际汇率与贸易条件直接挂钩:$q_t = (1-\alpha)s_t$(Gali-Monacelli 附录推导)。这是 SOE 模型能大幅简化的关键。
贸易条件是"商品篮子内部相对价格",实际汇率是"两国总价格水平经汇率调整后的相对价格"。前者管资源在本国/进口品之间的配置,后者管本国产品在全球的竞争力。
03 UIP 与资本流动:无抛补利率平价 + 风险溢价收口
3.1 为什么假设 UIP
假设:本国家庭可同时持有本币债券 $B_t$ 与外币债券 $B_t^*$,一期无风险、无交易成本、资本完全流动。这是"金融一体化"假设的极端形式。本币债券毛收益 $1+i_t$(本币计价),外国债券毛收益为 $(1+i_t^*)$ 外币计价,兑换回本币需乘名义汇率升值率 $E_t(e_{t+1})/e_t$。两类资产无套利:
为什么必须有 UIP:没有 UIP,模型无法把"外国利率"与"本国利率"挂钩,开放经济的利率传导就断了。UIP 是国际金融的"无套利基石",相当于封闭模型里的消费欧拉——它把跨期选择与跨币种选择统一起来。
对两边取对数、在稳态附近做一阶泰勒展开(记 $\log(1+i)\approx i$,小写为对数偏离稳态),稳态时 $\bar e$ 常数、$i=i^*$,得到教科书形式:
含义:本币利率高于外币利率的部分,必须恰好被市场预期的本币贬值所抵消。若本国加息 1% 而外国利率不变,且预期长期汇率不变,则当下本币立即升值($e_t$ 跳跌),使得之后被预期的贬值 $E_t\Delta e_{t+1}$ 正好补上利差。这就是 Dornbusch (1976) 超调(overshooting)的根源。
3.2 为什么标准 UIP 让模型不稳定(SGU 收口)
纯粹的 UIP $i_t - i_t^* = E_t\Delta e_{t+1}$ 配合一个稳态净外国资产 NFA,会使净外债的运动方程带单位根——模型不收敛、模拟出来的贸易余额发散。Schmitt-Grohe & Uribe (2003, JIE) 系统比较了三种"收口"方法,实务中最常用外债利率风险溢价:
其中 $b_t$ 是净外债(相对 GDP),$\psi(b_t)=\psi_b(b_t-\bar b)$。本国借得越多,外国债权人要求的风险溢价越高,从而把外债拉回稳态。这一项把纯 UIP 变成稳定鞍点,是 Dynare 里 SOE 代码的必备补丁。假设解读:$\psi_b$ 衡量"外债每偏离稳态 1%,利率要求补偿多少"——它越小,模型越接近纯 UIP(越不稳定);越大,国内货币政策越独立。
04 一阶条件与完整方程体系(IS/NKPC/UIP/Taylor/国外块)
Gali & Monacelli (2005, RES) 的优雅之处在于:开放模型在一阶近似下仍可压缩成"三方程 + 一个 UIP + 外生块"。核心推导链如下。先把家庭同时持有本币/外币债券的优化写成拉格朗日,说明 UIP 不是外生假设而是无套利 FOC。
4.0 家庭跨币种优化:UIP 的拉格朗日推导(不跳步)
家庭在消费 $C_t$ 之外,还可持有一期本币债券 $B_t$(本币计价,名义利率 $i_t$)与一期外币债券 $B_t^*$(外币计价,外国利率 $i_t^*$)。名义汇率 $e_t$(直接标价,本币/外币)把外币资产换成本币。家庭的预算约束:
第一步,写拉格朗日:对预算约束乘消费边际效用 $\lambda_t$:
第二步,对本币债券 $B_t$ 求 FOC:$B_t$ 当期成本 $\lambda_t B_t$,下期本息 $\lambda_{t+1}(1+i_t)B_t$ 折现回来:
这就是开放经济的消费欧拉($\Pi_{t+1}=P_{t+1}/P_t$)。第三步,对外币债券 $B_t^*$ 求 FOC:注意 $e_t B_t^*$ 当期是本币成本,下期本息是 $e_{t+1}(1+i_t^*)B_t^*$,$e_{t+1}$ 是期望变量:
第四步,两式相除消去 $\Lambda_t,\Lambda_{t+1}$(精确展开):把对本币债券的 FOC 改写为 $\Lambda_t=\beta(1+i_t)E_t[\Lambda_{t+1}P_{t+1}/P_t]$,对外币债券的 FOC 改写为 $\Lambda_t=\beta(1+i_t^*)E_t[\Lambda_{t+1}e_{t+1}/e_t]$。两式左端同为 $\Lambda_t$,右端相等:
关键一步:严格地说,两期望不能直接相除(因为 $\Lambda_{t+1}$ 与 $e_{t+1}$ 可能相关)。Gali-Monacelli 的标准做法是引入完全风险分担/对数线性化近似:在一阶近似下,随机贴现因子的协方差项为二阶小量可略,且 $\frac{P_{t+1}}{P_t}$ 与 $\frac{e_{t+1}}{e_t}$ 在对称均衡下满足 $\frac{P_{t+1}}{P_t}\big/\frac{e_{t+1}}{e_t}=\frac{P_{H,t+1}/P_{H,t}}{p_{F,t+1}/p_{F,t}}$ 等关系,于是期望算子外的确定性部分可约去:
对数线性化细节:$\log(1+i_t)\approx i_t$,稳态 $i=i^*$、$\bar e$ 常数,故 $\log E_t[e_{t+1}/e_t]\approx E_t(\log e_{t+1}-\log e_t)=E_t\Delta e_{t+1}$。结论:UIP 不是外生假设,而是家庭在两类无风险资产间套利的 FOC。3.2 节加的 $\psi_b b_t$ 风险溢价是为关闭单位根而加的"摩擦修正",不改变 UIP 的套利内核。
4.1 CES 消费组合与需求函数(完整推导,不跳步)
结构假设:本国家庭消费由本国品 $C_{H,t}$ 与进口品 $C_{F,t}$ 经 CES 复合而成:
其中 $\alpha$ 为进口份额(开放度),$\eta$ 为国内外品替代弹性。成本最小化求需求函数:给定复合消费量 $C_t$,家庭最小化支出 $P_{H,t}C_{H,t}+P_{F,t}C_{F,t}$。构造拉格朗日 $\mathcal{L}=P_{H,t}C_H+P_{F,t}C_F-\lambda_t[C_t-C(C_H,C_F)]$,对 $C_H,C_F$ 分别求偏导:
两式相除得 $C_F/C_H=\frac{\alpha}{1-\alpha}(P_{H,t}/P_{F,t})^\eta$,代回复合函数解得 CPI 指数与需求函数(SOE-C2、SOE-C3、SOE-C4):
定义:$\alpha$ 进口份额、$\eta$ 替代弹性。理由:CES 复合是开放经济的标准做法。直觉:本国品相对价格升 1%,需求按 $\eta$ 弹性下降。在一阶对数线性化下,$p_t=(1-\alpha)p_{H,t}+\alpha p_{F,t}$,且 $p_{F,t}-p_{H,t}=s_t$(贸易条件),故 $p_t-p_{H,t}=\alpha s_t$。
4.2 市场出清与净出口推导($y_t-c_t=\alpha\eta s_t$ 的来历)
本国产品市场出清:本国产出全部供本国消费 $C_{H,t}$ 与外国出口需求 $C_{H,t}^*$。在对称均衡与 LOP 假设下,外国对本国品的需求为 $C_{H,t}^*=\alpha(P_{H,t}/(e_t P_t^*))^{-\eta}C_t^*$。一阶对称近似下,$P_{H,t}/(e_tP_t^*)=1/s_t$(因 LOP $P_{F,t}=e_tP_t^*$):
对数线性化展开:利用 $P_{H,t}/P_t$ 对数偏离为 $\alpha s_t$,$P_{H,t}/(e_tP_t^*)$ 对数偏离为 $-s_t$。在对称稳态 $\bar Y=\bar C=\bar C^*$ 下取对数:
整理 $\hat c_t$ 系数 $(1-\alpha)+\alpha=1$,$s_t$ 系数 $\eta\alpha[(1-\alpha)+\alpha]=\alpha\eta$,得:
直觉:贸易条件改善($s_t\downarrow$,本国产出相对变贵)挤出本国消费与出口;国外需求 $\hat c_t^*$ 直接拉动本国产出。这是开放经济与封闭经济的本质差异——$y_t$ 不再等于 $c_t$。
4.3 开放 IS 曲线的推导(从欧拉 + 市场出清)
原始消费欧拉(SOE-E1):$\Lambda_t=\beta(1+i_t)E_t[\Lambda_{t+1}P_t/P_{t+1}]$,CRRA 下 $\Lambda_t=C_t^{-\sigma}$。对数线性化:
代入市场出清:用 SOE-M1̂ 的 $\hat c_t=\hat y_t-\alpha\eta s_t-\alpha\hat c_t^*$ 替换 $\hat c_t$,并利用 CPI 通胀 $\hat\pi_t=\hat\pi_{H,t}+\alpha\Delta s_t$(SOE-PC2,由 $p_t-p_{H,t}=\alpha s_t$ 差分而来)。定义产出缺口 $x_t\equiv\hat y_t-\hat y_t^n$(自然产出随国外需求变动),整理得开放 IS 曲线(SOE-IS):
自然利率定义(SOE-RN):由完全弹性价格下的资源约束与国外需求决定,$r_t^n=\sigma_\alpha(1-\alpha)E_t\Delta y_{t+1}^*$。直觉:国外产出预期增长 → 本国自然利率上升(需求外移);$\sigma_\alpha$ 修正了封闭经济的跨期替代弹性,开放度 $\alpha$ 越大,$\sigma_\alpha$ 越小(利率对产出的影响被贸易渠道稀释)。
4.4 外债动态与贸易余额(NFA 运动方程)
非线型外债累积(SOE-NFA):本国净外债 $B_t^*$(外币计价)服从存量-流量关系。把家庭预算约束中的 $e_tB_t^*$ 项移项整理:当期新借外债 = 上期末外债本利和 − 当期贸易顺差:
定义贸易顺差 $NX_t\equiv P_{H,t}Y_t-P_tC_t$(出口收入减进口消费支出),净外债/GDP 比例 $b_t\equiv e_tB_t^*/(P_tY_t)$。一阶对数线性化(稳态 $\bar b=0$、零贸易余额)得:
直觉:贸易逆差($nx_t<0$)积累外债;利率 $i^*$ 使外债本利滚动。这就是 SGU 风险溢价 $\psi_b b_t$ 所作用的状态变量——它把单位根拉回稳态。
其中 $\sigma_\alpha\equiv\sigma+(1-\alpha)(\eta\sigma-1)$ 是开放经济下"有效跨期替代弹性"的修正,$r_t^n$ 是自然利率,随国外产出与贸易条件变动。注意:若 $\alpha=0$(完全封闭),方程组退化为标准封闭 NK 三方程——这是检验 SOE 代码正确性的黄金对照。
05 稳态求解(完整方程组 + 逐步求解)
SOE 模型的稳态比封闭模型多几个"国际长期均衡"条件。下面先列全 8 条稳态方程,再给求解顺序。
5.0 稳态完整方程组(SS-1 ~ SS-8)
| # | 稳态方程 | 来源 |
|---|---|---|
| SS-1 | $\bar i=\bar i^*=\bar r+\bar\pi$,长期利率平价成立 | SOE-UIP 稳态 |
| SS-2 | $\psi(\bar b)=0\Rightarrow\bar b=0$(无长期净外债) | SGU 风险溢价 |
| SS-3 | $\overline{NX}=0$(长期贸易余额为零) | SOE-NFA 稳态 |
| SS-4 | $\bar s=0,\;\bar q=0$(对数水平,LOP 与对称) | SOE-2.1/2.2 定义 |
| SS-5 | $\bar C=\bar Y=\bar C^*$(对称稳态) | 市场出清 SOE-M1 |
| SS-6 | $\beta(1+\bar r)=1$(家庭欧拉稳态) | SOE-E1 |
| SS-7 | $\bar\pi=\bar\pi_H=\bar\pi^*=\bar\pi^{target}$(央行通胀目标) | Taylor 规则稳态 |
| SS-8 | $\bar e$ 水平 indeterminate(只有差分 $\Delta e$ 被锁定) | 纯 UIP 的水平不确定性 |
5.1 逐步求解
SOE 模型的稳态比封闭模型多几个"国际长期均衡"条件:
- 长期利率平价:稳态 $i=i^*$(本国与世界长期名义利率相等)。这是 UIP 的稳态形式,意味着长期不存在利差。
- 稳态净外债:由 $\psi(\bar b)=0$ 得 $\bar b=0$(无长期外债)。若允许长期债务,则 $\bar b$ 由资产供给与稳态风险溢价共同决定。
- 稳态贸易余额:长期贸易余额为零($\bar{NX}=0$),因为资本账户长期平衡。
- 稳态贸易条件:由 LOP 与对称性得 $\bar s=0$(对数水平),$\bar q=0$。
- 本国利率:$\bar i=\bar i^*$,稳态通胀由央行通胀目标 $\bar\pi$ 决定,$\bar r=\bar i-\bar\pi$。
对数线性化版本所有变量稳态为 0,steady; 直接归零。非线性版本需 initval; 给 $\bar b,\bar s,\bar e$ 初值,并用 resid; 检查外债运动方程残差是否收敛。务必确认稳态下 $\psi(\bar b)=0$,否则 UIP 会带一个常数漂移。
06 对数线性化与求解方法
本节承接 §05 稳态、使用 对数线性化与扰动法求解。不熟悉?先学 📚 基础知识库·稳态求解 → 与 📚 基础知识库·对数线性化 →。
6.1 对数线性化要点
SOE 模型的对数线性化与封闭模型相同,但要特别注意三类变量:
- 水平变量($p_t,p_t^*,e_t$)与增长率变量($\pi_t,\pi_t^*,\Delta e_t$)分开处理。若只用通胀而不显式跟踪价格水平,UIP 与实际汇率会出现"汇率 indeterminacy"(单位根)。
- 净外债 $b_t$ 是状态变量,必须写它的运动方程 $b_t=(1+i^*)b_{t-1}-nx_t$,不能只写 UIP 当期等式。
- 国外变量是外生 AR(1),不进入本国内生求解块。
6.2 求解方法
SOE 模型规模小(10 个左右内生变量),一阶扰动 order=1 通常足够。但若估计带异方差或做福利分析,建议 order=2。关键警告:纯 UIP 无风险溢价时,Blanchard-Kahn 条件不满足(前瞻变量多于鞍点路径),Dynare 会报"Indeterminacy"。这就是必须加 $\psi_b b_t$ 的原因。
07 汇率不完全传递与进口价格粘性
Gali-Monacelli 的基准假设是 LOP + 完全传递:汇率变动 1% 立刻 1:1 传导到进口品本币价格。但实证(Burstein & Gopinath 2014, Handbook of Intl. Econ.)显示,短期汇率对 CPI 的传递率往往只有 10%–30%。原因是进口价格也存在粘性,且出口商可能按"当地货币定价"(Local Currency Pricing, LCP)。
假设:把进口品价格 $P_{F,t}$ 也套一层 Calvo。设 $\theta_F$ 为进口商不调价概率,则进口品通胀的 NKPC 为:
完整推导(不跳步):进口商是竞争性中间商,从外国按外币价格 $P_t^*$ 购入、按本币价 $P_{F,t}$ 卖给本国。其名义边际成本为 $MC_{F,t}=e_tP_t^*$(一价定律下的"进口边际成本")。与本国品 Calvo 定价完全对称(见 SW §3.5),能重设价格的进口商选 $P_{F,t}^*$ 满足:
价格指数加总 $P_{F,t}^{1-\varepsilon_F}=(1-\theta_F)(P_{F,t}^*)^{1-\varepsilon_F}+\theta_F P_{F,t-1}^{1-\varepsilon_F}$。在稳态 $\bar P_F=e\bar P^*$(LOP 成立)处对数线性化,令 $\lambda_F\equiv\frac{(1-\theta_F)(1-\beta\theta_F)}{\theta_F}$,即得上述 SOE-FPC。括号内 $e_t+p_t^*-p_{F,t}$ 是进口品本币价格偏离"一价定律价格"的缺口(LOP gap)。当本币贬值 $e_t\uparrow$,这一缺口扩大,但由于 Calvo 粘性,$\pi_{F,t}$ 只缓慢调整——汇率冲击被进口价格粘性"吸收",短期 pass-through 下降。此时 CPI 通胀对汇率的反应被平滑,货币政策面临的"通胀—产出"权衡更温和。解读:$\theta_F$ 越大,汇率越不传到 CPI,央行对汇率波动越"不敏感";$\theta_F=0$ 回到完全传递。
08 校准:开放度、贸易弹性、风险溢价系数
SOE 模型有三个"开放经济专属"参数需要特别校准,它们决定模型的开放程度与外部稳定性。
| 参数 | 含义 | 典型校准值 | 校准依据 |
|---|---|---|---|
| $\alpha$ | 进口渗透率(开放度) | 0.40(小型开放经济) | 进口/GDP 比重;新加坡/香港可达 0.5–0.8,大陆经济体约 0.2–0.3 |
| $\eta$ | 国内外品替代弹性 | 1.5 | MacDonald & Bayoumi (1999) 估计 1–2;价格弹性贸易文献常用 1.5 |
| $\psi_b$ | 外债风险溢价弹性 | 0.01–0.05 | SGU(2003) 推荐;太小模型不收敛,太大则国内利率独立性被人为放大 |
| $\sigma$ | 跨期替代弹性倒数 | 1.5 | 与封闭 NK 一致 |
| $\beta$ | 季度贴现因子 | 0.99 | 稳态年化利率 4% |
| $\theta_H$ | 本国品 Calvo 概率 | 0.75 | 平均 1 年合同 |
| $\theta_F$ | 进口品 Calvo 概率 | 0.5–0.75 | 实证 pass-through 约 30%–50% |
| $\phi_\pi$ | Taylor 对通胀反应 | 1.5 | Taylor 原理 |
| $\phi_e$ | Taylor 对汇率反应 | 0(浮动)/ 0.5(管理浮动) | 汇率制度选择 |
$\psi_b$ 太小(如 0.001),模型鞍点条件勉强满足但模拟贸易余额会缓慢发散;太大(如 1.0),外债一有偏离利率就剧烈反应,国内货币政策独立性被人为放大。SGU(2003) 证明一阶近似下三种收口方法等价,但 $\psi_b$ 取 0.01–0.05 是主流实务值。
09 估计:数据来源、观测方程与贝叶斯设定
SOE 模型的估计分两块:(i) 稳态/开放度参数校准(上节表,由长期矩定,不进似然);(ii) 动态参数贝叶斯估计(把模型当状态空间,用 Kalman 滤波 + MCMC 估计 $\theta_H,\theta_F,\phi_\pi,\psi_b$ 等)。下面把数据来源、观测方程、先验写死。
9.1 数据来源(国外块 + 本国产出/CPI/利率/汇率)
SOE 的"小国"体现在国外变量 $y_t^*,i_t^*,\pi_t^*$ 直接取大国(通常美国/全球)外生序列,不进本国估计块。本页以美国为对象/中国本土两套为例:
| 变量 | 美国基准(FRED) | 中国本土 | 处理 |
|---|---|---|---|
| 国外产出 $y_t^*$ | GDPC1(美国实际 GDP) | 国家统计局 / Wind:全球或美国 GDP 同比 | 对数差分去均值 |
| 国外利率 $i_t^*$ | FEDFUNDS | Wind:联邦基金利率季度均值 | 年化÷4,去均值 |
| 国外通胀 $\pi_t^*$ | GDPDEF / CPIAUCSL | CEIC:美国 CPI | 对数差分×400 |
| 本国产出缺口 $x_t$ | GDPC1 对数 − HP 趋势 | 国家统计局:实际 GDP 当季,BP/HP 滤波去趋势 | 相对潜在 GDP 缺口 |
| 本国 CPI 通胀 $\pi_t$ | CPIAUCSL 对数差分 | 国家统计局 / Wind:CPI 环比折年 | ×400,去均值 |
| 本国利率 $i_t$ | FEDFUNDS | 中国人民银行 / Wind:DR007 或 7 天回购利率 | 季度均值÷4 |
| 名义汇率 $e_t$ | EXUSEU / 贸易加权 NEER | 国家外汇管理局 / Wind:人民币兑美元中间价或 CFETS NEER | 对数差分 Δe,去均值 |
| 贸易条件 $s_t$ | 出口价格指数 ÷ 进口价格指数(BLS) | 海关总署 / CSMAR:出口 FOB 价 ÷ 进口 CIF 价 | 对数差分 |
样本区间:美国基准常用 1983Q1–2008Q4(沃尔克后、零利率前);中国本土常用 1996Q1(或 2001Q1 加入 WTO 后)至最近季度。汇率数据注意直接/间接标价口径全程一致。
9.2 观测方程(Kalman 观测方程)
模型是去均值偏差模型,观测方程把数据序列接到模型状态:
国外三个序列作为外生观测同时进观测方程(它们驱动国内自然利率 $r_n$),不能只在 .mod 里设 AR(1) 而不喂数据,否则外部冲击幅度无法识别。
9.3 贝叶斯先验(开放经济专属参数)
$\alpha,\eta,\psi_b$ 三参数在校准时已锚定长期矩,估计时给较紧先验;动态参数给常规先验:
| 参数 | 含义 | 分布 | 先验均值 | 先验 Std | 后验典型值 |
|---|---|---|---|---|---|
| $\alpha$ | 开放度/进口份额 | Beta | 0.30 | 0.05 | 0.25–0.45 |
| $\eta$ | 国内外替代弹性 | Gamma | 1.50 | 0.50 | 1.0–2.0 |
| $\psi_b$ | 外债风险溢价弹性 | Gamma | 0.03 | 0.02 | 0.01–0.05 |
| $\theta_H$ | 本国品 Calvo | Beta | 0.75 | 0.10 | 0.7–0.85 |
| $\theta_F$ | 进口品 Calvo(传递慢) | Beta | 0.50 | 0.15 | 0.4–0.7 |
| $\phi_\pi$ | Taylor 通胀反应 | Normal | 1.50 | 0.25 | 1.5–2.5 |
| $\phi_e$ | Taylor 汇率反应 | Normal | 0.00 | 0.10 | 0–0.5(管理浮动为正) |
| $\rho_{y^*},\rho_{i^*},\rho_{\pi^*}$ | 国外 AR 持续性 | Beta | 0.80 | 0.10 | 0.7–0.95 |
估计流程:同 SW——Kalman 滤波算似然 → mode_compute=6 找后验众数 → Metropolis-Hastings 两条链、20 万步、$j$ 调到接受率 25%–35% → BGR 收敛。SOE 模型小(~12 变量),计算量远小于 SW,一阶求解即可,但建议二阶 + 不开 pruning 也可(规模小不易发散)。
9.4 中国数据落地清单
| 模型变量 | 国内数据来源 | 具体变量 |
|---|---|---|
| 本国产出/产出缺口 | 国家统计局 / Wind | 实际 GDP 当季值,HP/BP 滤波去趋势得缺口 |
| CPI 通胀 | 国家统计局 / Wind / CEIC | 居民消费价格指数环比折年率 |
| 政策利率 | 中国人民银行 / Wind | DR007(7 天银行间质押回购)或一年期 MLF 利率季度均值 |
| 名义汇率 | 外汇交易中心 / Wind / CSMAR | 人民币兑美元中间价,或 CFETS 人民币汇率指数(NEER) |
| 贸易条件 | 海关总署 / CEIC | 出口价格指数 ÷ 进口价格指数;缺数据时用 PPI/RPI 近似 |
| 国外块 | FRED / Wind 海外库 | 美国 GDPC1、FEDFUNDS、CPIAUCSL 作为 $y^*,i^*,\pi^*$ |
| 净出口/外债 $b_t$ | 国家外汇管理局 / Wind | 国际投资头寸表净外债 / GDP,或贸易差额近似 |
(1) 中国长期是"管理浮动 + 资本账户部分管制",$\phi_e$ 不应设 0 而应给 0.1–0.3,且需引入资本管制下的 UIP 楔子;(2) 中国出口中加工贸易占比高,$\alpha$ 与 $\eta$ 不能直接照搬小国,应按加工贸易/一般贸易分别估计。梅冬州、龚六堂 (2011) 与刘斌 (2008) 给出了本土化校准。
10 Dynare .mod 逐步撰写(≥70 行,中文注释,已修复原占位错误)
下面按 Dynare 书写顺序逐块讲解。注意:旧版教程里出现的 pi_star(+1)?、p_star 等占位写法已废弃——正确做法是引入价格水平 $p,p^*$ 作为状态变量,或直接把 UIP 写成"汇率水平 $e$ 本身"的预期方程。本 .mod 用后者,更干净。
% ============================================================
% soe_gali_monacelli.mod —— 小国开放经济 Gali-Monacelli (2005)
% 含:UIP+外债风险溢价(SGU收口)、贸易条件、实际汇率、
% Taylor规则(含汇率)、进口品通胀、国外块外生AR(1)
% 运行:dynare soe_gali_monacelli.mod
% 变量小写=对数偏离稳态;i/i_star为年化百分点偏离
% ============================================================
% ---------- Step 1: 内生变量 ----------
var
x % 本国产出缺口
pi_h % 本国品通胀
pi_cpi % CPI通胀
i % 本国名义利率
e % 名义汇率(对数,上升=本币贬值)
s % 贸易条件 = p_F - p_H
q % 实际汇率 = e + p* - p
b % 净外债/GDP(对数偏离)
r_n % 自然利率(内生,由国外块驱动)
y_star % 国外产出(外生)
i_star % 国外利率(外生)
pi_star % 国外通胀(外生)
;
% ---------- Step 2: 外生冲击(4个) ----------
varexo
eps_m % 本国货币冲击
eps_ys % 国外产出冲击
eps_is % 国外利率冲击
eps_ps % 国外通胀冲击
;
% ---------- Step 3: 参数 ----------
parameters beta sigma alpha eta kappa ...
phi_pi phi_y phi_e psi_b rho_b ...
rho_ys rho_is rho_ps sigma_alpha;
beta = 0.99; % 季度贴现因子
sigma = 1.5; % 跨期替代弹性倒数
alpha = 0.4; % 进口渗透率(开放度)
eta = 1.5; % 国内外品替代弹性
kappa = 0.1275; % NKPC斜率
phi_pi = 1.5; % Taylor对本国品通胀反应
phi_y = 0.125; % Taylor对产出缺口反应
phi_e = 0.0; % Taylor对汇率反应(0=完全浮动)
psi_b = 0.03; % 外债风险溢价弹性(SGU收口)
rho_b = 0.90; % 外债运动持续性
rho_ys = 0.90; % 国外产出AR系数
rho_is = 0.80; % 国外利率AR系数
rho_ps = 0.80; % 国外通胀AR系数
% 开放经济有效弹性(闭式)
sigma_alpha = sigma + (1-alpha)*(eta*sigma - 1);
% ---------- Step 4: 模型方程 ----------
model;
% (1) 开放IS曲线: x = E x(+1) - (1/sa)(i - E pi_h(+1) - r_n)
x = x(+1) - (1/sigma_alpha)*( i - pi_h(+1) - r_n );
% (2) 本国品NKPC
pi_h = beta*pi_h(+1) + kappa*x;
% (3) CPI通胀 = 本国品通胀 + 进口品通胀(alpha*Delta s)
pi_cpi = pi_h + alpha*( s - s(-1) );
% (4) Taylor规则(含汇率反应 phi_e 与货币冲击 eps_m)
i = phi_pi*pi_h + phi_y*x + phi_e*( e - e(-1) ) + eps_m;
% (5) UIP + 风险溢价(Schmitt-Grohe-Uribe 收口)
i - i_star = e(+1) - e + psi_b*b;
% (6) 贸易条件差分: s - s(-1) = Delta e + pi_star - pi_h
s = s(-1) + (e - e(-1)) + pi_star - pi_h;
% (7) 实际汇率(对数) q = (1-alpha)*s
q = (1-alpha)*s;
% (8) 净外债运动方程: b = rho_b*b(-1) + 贸易逆差项
b = rho_b*b(-1) + alpha*s - (1/sigma_alpha)*( y_star - x );
% (9) 自然利率随国外产出变动
r_n = sigma_alpha*rho_ys*y_star;
% (10-12) 国外块: 三个外生AR(1)过程
y_star = rho_ys*y_star(-1) + eps_ys;
i_star = rho_is*i_star(-1) + eps_is;
pi_star = rho_ps*pi_star(-1) + eps_ps;
end;
% ---------- Step 5: 稳态 + BLP诊断 ----------
steady;
check;
% ---------- Step 6: 冲击方差 ----------
shocks;
var eps_m = 0.0025^2; % 本国货币
var eps_ys = 0.01^2; % 国外产出
var eps_is = 0.005^2; % 国外利率
var eps_ps = 0.005^2; % 国外通胀
end;
% ---------- 一阶求解 + IRF ----------
stoch_simul(order=1, irf=40, nograph) ...
x pi_h pi_cpi i e s q b r_n y_star i_star pi_star;
% ============================================================
% ===== 估计用(跑估计时注释掉上面 stoch_simul): =====
% ============================================================
% varobs x pi_cpi i de ds y_star i_star pi_star;
% 数据文件需含: 产出缺口/CPI通胀/利率/汇率差分/贸易条件差分,
% 以及国外三序列(见9.1表).
% estimated_params;
% alpha, beta_pdf, 0.30, 0.05; % 开放度
% eta, gamma_pdf, 1.50, 0.50; % 替代弹性
% psi_b, gamma_pdf, 0.03, 0.02; % 风险溢价(SGU收口)
% kappa, beta_pdf, 0.75, 0.10; % 本国品Calvo斜率
% phi_pi, normal_pdf, 1.50, 0.25;
% phi_e, normal_pdf, 0.0, 0.10; % 汇率反应(管理浮动)
% rho_ys,rho_is,rho_ps, beta_pdf, 0.80, 0.10;
% stderr eps_m,eps_ys,eps_is,eps_ps, inv_gamma_pdf, 0.05, 2;
% end;
% estimation(datafile=soe_data, mode_compute=6, ...
% mh_nblocks=2, mh_replic=50000, mh_jscale=0.35, ...
% irf=40);
% 跑完看: 后验均值/90%区间, BGR收敛图, 汇率pass-through是否
% 落在 alpha(1-theta_F) 附近, 国外冲击对外生块AR系数的识别.
旧版教材里的 s = e + pi_star(+1)?;、q = e + p_star - p; 是未完成草稿。本版修正为:用贸易条件差分方程 (6) 把水平变量 $e,p^*,p_H$ 全消掉,只跟踪差分 $\Delta e,\Delta s$,避免引入两个价格水平状态。生产中若需要汇率水平 indeterminacy 问题,再显式加 $p,p^*$。
11 脉冲响应:国外冲击传导与汇率传导
SOE 的卖点是"看别人脸色"。下面解读三类典型国外冲击的 IRF,以及本国货币冲击的汇率传导。
| 冲击 | 直接渠道 | 汇率反应 | 对本国产出/通胀 |
|---|---|---|---|
| 国外加息 $i_t^*\uparrow$ | UIP 要求本国利差收窄,资本外流 | 本币即期贬值 $e_t\uparrow$(超调) | 贬值推高进口 CPI 通胀;若央行被动则产出先升后抑,若跟随加息则产出被压 |
| 国外需求 $y_t^*\uparrow$ | 出口需求上升,净出口改善 | 本币升值(贸易条件改善) | 本国产出 $x_t\uparrow$,本国通胀温和上升,央行小幅加息 |
| 国外通胀 $\pi_t^*\uparrow$(输入型通胀) | 进口品外币价格上升 | 名义汇率可不动(实际汇率贬值) | CPI 通胀经 $\alpha\Delta s_t$ 上升;若 LCP 存在,传导被延迟 |
| 本国货币紧缩 $\varepsilon_t^m\uparrow$ | 本国利率上升,资本流入 | 本币即期升值(Dornbusch 超调) | 产出下降、CPI 通胀下降(经汇率通道) |
10.1 汇率传导(exchange rate pass-through)的定量含义
本币贬值 1%:完全传递假设下,进口品通胀 $\pi_F$ 立即 +1%,CPI 通胀因权重 $\alpha$ 而 $+\alpha$。但加入进口 Calvo 粘性 $\theta_F$ 后,短期 CPI 通胀只升 $\alpha(1-\theta_F)$,剩余部分在未来 4–8 个季度缓慢释放。这就是为什么新兴市场央行在货币危机中要"快速加息稳汇率"——汇率传导慢,但若不制止贬值预期,输入型通胀会在半年后全面爆发。
10.2 三元悖论(Mundell trilemma)的定量表达
关键政策含义:在浮动汇率 + 通胀目标制下,汇率本身是冲击的"吸收器"——外国紧缩不必 1:1 跟随,让汇率浮动即可部分对冲;在固定汇率/货币局下,UIP 与钉住汇率联合要求 $i_t=i_t^*$,本国货币政策独立性丧失,必须完全吸收国外利率冲击。这就是"三元悖论"(Mundell trilemma)在 DSGE 里的定量表达。把 $\phi_e$ 从 0 调到 1,就相当于从浮动汇率制度切换到管理浮动,可在 IRF 图上直观比较。
10.3 方差分解与模型诊断
SOE 的方差分解核心结论:本国产出 $x_t$ 在长期主要由国外需求 $y_t^*$ 与本国货币冲击解释;CPI 通胀主要由国外通胀 $\pi_t^*$(经 $\alpha\Delta s_t$)与本国加成冲击解释;汇率 $e_t$ 几乎完全由国外利率 $i_t^*$ 与 UIP 风险溢价解释。这是判断"小国暴露"程度的定量证据——若汇率方差分解中本国政策冲击占比过高,说明 $\alpha$ 或 $\psi_b$ 设得不对,模型不够"小"。
- BLP 诊断:
check;报 indeterminacy 必查是否漏 $\psi_b b_t$(UIP 单位根)。 - 汇率 indeterminacy:若 $e_t$ IRF 发散或有随机趋势,说明只用了通胀差分而没锁价格水平状态,按本页 .mod 的差分写法即可。
- 传递率检验:估计出的 $\theta_F$ 应使短期 CPI pass-through $\approx\alpha(1-\theta_F)$,对照 Burstein-Gopinath 的 10%–30% 经验值。
- 国外块外生性:$y^*,i^*,\pi^*$ 的 AR 系数应接近数据估计值;若后验偏离严重,说明国外块被错误内生化。
- MCMC 收敛:同 SW,两条链 BGR→1,接受率 25%–35%;SOE 规模小,一般 5 万步即可。
12 论文案例、常见错误与进阶资料
11.1 论文案例
11.2 常见错误
- 忽略 UIP 单位根:直接写 $i_t-i_t^*=E_t\Delta e_{t+1}$ 而不加风险溢价,Dynare 报"Blanchard-Kahn 条件不满足"或模拟贸易余额发散。必须加 $\psi_b b_t$。
- 汇率方向搞反:把 $e_t$ 定义成"外币/本币"还是"本币/外币"前后不一,导致升值贬值符号全错。写代码前先在一页纸钉死符号。
- 忘记水平价格状态变量:只用通胀 $\pi$ 而不引入价格水平 $p,p^*$,UIP 与实际汇率出现"汇率 indeterminacy"。要么加水平价格,要么把 UIP 写成 $\Delta e$ 的预期形式(本 .mod 用的就是差分写法)。
- 把 CPI 通胀当本国通胀喂给 Taylor 规则:Gali-Monacelli 强调最优规则钉本国品通胀 $\pi_H$ 而非 CPI $\pi$,二者差 $\alpha\Delta s_t$,混用会得到错误的政策福利结论。
- 国外变量当内生解:$y^*,i^*$ 是外生过程,误写成方程让模型自己决定,破坏"小国"假设。
- 把 $\psi_b$ 设成 0 或过大:0 不收敛;过大则货币政策独立性被人为放大,IRF 失真。取 0.01–0.05。
11.3 进阶资料
- Gali, J. (2015) Monetary Policy, Inflation, and the Business Cycle, 第 8 章,开放经济扩展。
- Burstein & Gopinath (2014) Handbook of International Economics Vol.4, Ch.7(汇率 pass-through 实证综述)。
- Dornbusch (1976) 超调模型:理解 UIP 为什么会导致汇率即期跳变。
- Dynare 官方 wiki:
NK_OPEN_ECONOMY.mod、sgu_closed.mod。 - 央行工作论文(ECB、RBNZ、BIS)大量用 SOE 做预测模型,可作校准参考。
E 方程总清单 · Equation Summary
下表汇总本模型全部方程。原始非线性 16 条 + 外生 AR(1) 4 条 + 边界/横截 2 条 = 本模型共 24 个核心方程。
| 编号 | 方程 | 名称 | 正文位置 |
|---|---|---|---|
| SOE-C1 | $C_t=[(1-\alpha)^{1/\eta}C_{H,t}^{(\eta-1)/\eta}+\alpha^{1/\eta}C_{F,t}^{(\eta-1)/\eta}]^{\eta/(\eta-1)}$ | CES 消费复合 | §4.1 |
| SOE-C2 | $P_t=[(1-\alpha)P_{H,t}^{1-\eta}+\alpha P_{F,t}^{1-\eta}]^{1/(1-\eta)}$ | CPI 指数 | §4.1 |
| SOE-C3/4 | $C_{H,t}=(1-\alpha)(P_{H,t}/P_t)^{-\eta}C_t,\;C_{F,t}=\alpha(P_{F,t}/P_t)^{-\eta}C_t$ | 本国品/进口品需求 | §4.1 |
| SOE-TOT | $s_t=p_{F,t}-p_{H,t}$(对数) | 贸易条件定义 | §2.1 |
| SOE-RER | $q_t=e_t+p_t^*-p_t$,LOP 下 $q_t=(1-\alpha)s_t$ | 实际汇率 | §2.2 |
| SOE-E1 | $\Lambda_t=\beta(1+i_t)E_t[\Lambda_{t+1}P_t/P_{t+1}]$ | 消费欧拉 | §4.0 |
| SOE-UIP | $i_t-i_t^*=E_t\Delta e_{t+1}+\psi_b b_t+\varepsilon_t^{rp}$ | UIP(含 SGU 风险溢价) | §3.2/4.0 |
| SOE-M1 | $Y_t=C_{H,t}+C_{H,t}^*$ | 本国产品市场出清 | §4.2 |
| SOE-IS | $x_t=E_tx_{t+1}-\frac{1}{\sigma_\alpha}(i_t-E_t\pi_{H,t+1}-r_t^n)$ | 开放 IS 曲线 | §4.3 |
| SOE-RN | $r_t^n=\sigma_\alpha(1-\alpha)E_t\Delta y_{t+1}^*$ | 自然利率 | §4.3 |
| SOE-PC1 | $\pi_{H,t}=\beta E_t\pi_{H,t+1}+\kappa_\alpha x_t$ | 本国品 NKPC | §4 |
| SOE-PC2 | $\pi_t=\pi_{H,t}+\alpha\Delta s_t$ | CPI 通胀分解 | §4 |
| SOE-FPC | $\pi_{F,t}=\beta E_t\pi_{F,t+1}+\lambda_F(e_t+p_t^*-p_{F,t})$ | 进口品 NKPC(LOP gap) | §7 |
| SOE-TAY | $i_t=\phi_\pi\pi_{H,t}+\phi_y x_t+\phi_e\Delta e_t+\varepsilon_t^m$ | Taylor 规则(含汇率) | §4 |
| SOE-NFA | $e_tB_t^*=(1+i_{t-1}^*)e_tB_{t-1}^*-P_{H,t}Y_t+P_tC_t$ | 净外债运动方程 | §4.4 |
| SOE-AR1~3 | $y_t^*,i_t^*,\pi_t^*$ 三个外生 AR(1) | 国外块 AR(1) | §4 |
| SOE-AR4 | $\varepsilon_t^{rp}=\rho_{rp}\varepsilon_{t-1}^{rp}+\eta_t^{rp}$ | 风险溢价冲击 AR(1) | §3.2 |
| SOE-TVC | $\lim_{T\to\infty}\beta^T E_t[\Lambda_{t+T}e_{t+T}B_{t+T}^*]=0$ | 外国债横截条件 | §4.0 |
退化检验:令 $\alpha=0$,SOE-C1~C4 退化为封闭经济消费,SOE-IS 退化为标准封闭 IS,SOE-UIP 消失——这是检验 SOE 代码正确性的黄金对照。