前置条件与学习依赖 / PREREQUISITES
数学 / 统计基础动态最优化与拉格朗日一阶条件、对欧拉方程的一阶泰勒展开(对数线性化)、线性理性预期系统的 Blanchard–Kahn 确定性条件;代数为主。
经济学理论前置消费跨期替代与永久收入假说、流动性约束/hand-to-mouth、MPC 异质性、垄断竞争与 Calvo 粘性定价、Taylor 规则。
软件 / 计算前置MATLAB + Dynare(跑 .mod);本页 Python 求解器仅需 numpy,无需 Dynare。能读懂 .mod 与线性方程组即可。
站内前置阅读先学 10-NK 三方程(IS/NKPC/Taylor 母版)、09-RBC(欧拉方程与消费平滑的实体版);异质性主体总图见 14-TANK两主体21-HANK异质性主体;财政货币规则见 13;连续分布进阶见 21-HANK
难度与路线位置进阶RANK→TANK 是最小且仍可用 Dynare 求解的异质性扩展;HANK(连续分布)需另学 Reiter/SSJ,见 21 页。

01 经济环境与假设

TANK 保留 NK 三方程的全部厂商与政府侧假设,只在家庭侧做一件事:把"代表性家庭"拆成两类。经济中存在测度为 1 的家庭连续统,其中 $\lambda$ 比例是 HtM(hand-to-mouth,手停口停家庭),$1-\lambda$ 比例是 RANK(Ricardian / 优化型家庭)。两类人效用函数相同,区别只在能否进入债券市场

1.1 RANK(优化型)家庭:可交易债券的跨期平滑者

(RANK-OBJ) RANK 家庭终身效用与预算约束
$$\max_{\{C_{R,t},N_{R,t},B_t\}}\;E_0\sum_{t=0}^{\infty}\beta^t\left[\frac{C_{R,t}^{1-\sigma}}{1-\sigma}-\frac{N_{R,t}^{1+\varphi}}{1+\varphi}\right]$$ $$\text{s.t.}\qquad P_t C_{R,t}+B_t=(1+i_{t-1})B_{t-1}+W_t N_{R,t}+D_t$$
设定理由:与 RANK 模型(10 页)的代表性家庭完全一致——CRRA 效用 + 可交易一期名义债券 $B_t$,使该家庭能跨期平滑消费。参数含义:$\beta$ 季度贴现因子;$\sigma$ 相对风险厌恶 = 跨期替代弹性 $1/\text{EIS}$ 的倒数;$\varphi$ 为 Frisch 劳动供给弹性倒数;$D_t$ 为企业利润(一次性分红)。经济直觉:RANK 家庭是"金融市场上的边际定价者",利率变动通过其欧拉方程影响总需求。

1.2 HtM(手停口停)家庭:不储蓄、不借贷

(HTM-BUD) HtM 预算约束:消费 = 当期可支配收入
$$C_{H,t}=(1-\tau_t)\frac{W_t}{P_t}N_{H,t}+TR_t,\qquad B_{H,t}\equiv 0$$
设定理由:HtM 家庭面临紧到角点的借款约束(流动性资产≈0、无法借贷),因此没有跨期选择——预算约束直接退化为"当期消费=当期税后劳动收入+政府一次性转移 $TR_t$"。参数含义:$\tau_t$ 为比例劳动所得税率,$TR_t$ 为人均一次性转移支付。经济直觉:HtM 的边际消费倾向 $MPC=\partial C_H/\partial(\text{转移})=1$,对利率几乎不敏感,对当期收入完全敏感。
λ 的三重经济含义

$\lambda$ 不只是一个"人口比例",它同时是三个微观对象的宏观浓缩:
(1) 流动性约束比例——多少家庭借不到钱、贴在借款上限上;
(2) 金融包容性——金融市场可及性越差(中国农村、年轻家庭),$\lambda$ 越大;
(3) MPC 异质性的代表——总 MPC ≈ $\lambda\cdot 1+(1-\lambda)\cdot\text{小值}$,即 $\lambda$ 近似等于宏观平均边际消费倾向。因此 $\lambda$ 必须用微观数据校准,不能拍脑袋。

1.3 厂商:Calvo 粘性价格与垄断竞争

厂商侧与 RANK 三方程完全相同(详见 10 页 §2.2):中间品厂商垄断竞争、Dixit–Stiglitz 加总,最终品厂商完全竞争;每期只有 $1-\theta$ 比例厂商能重新定价(Calvo 1983)。生产为线性技术 $Y_t=A_t N_t$,实际边际成本 $mc_t=W_t/(P_t A_t)$。

(NKPC) Calvo 模型推出的新凯恩斯菲利普斯曲线
$$\pi_t=\beta E_t\pi_{t+1}+\kappa\,\widehat{mc}_t,\qquad \kappa=\frac{(1-\theta)(1-\beta\theta)}{\theta}$$
设定理由:价格粘性是货币政策有实际效果的唯一摩擦——没有 $\theta$ 就退化为 RBC、货币中性。参数含义:$\theta$ 为不能调价概率($\theta=0.75$ ⇒ 平均一年调价一次);$\kappa$ 为 NKPC 斜率。经济直觉:企业定价只关心总边际成本,与"消费者是谁"无关,因此这条方程在 TANK 中形式不变——异质性只通过总需求(IS)传导。

1.4 货币政策:带平滑的 Taylor 规则

(TAYLOR) 利率平滑 Taylor 规则
$$i_t=\rho_i i_{t-1}+(1-\rho_i)\big(\phi_\pi\pi_t+\phi_y\hat y_t\big)+\varepsilon_{i,t}$$
设定理由:央行不会一步调到位,$0<\rho_i<1$ 刻画利率平滑;$\phi_\pi>1$ 是 Taylor 原理(确定性条件)。参数含义:$\rho_i$ 利率惯性;$\phi_\pi,\phi_y$ 对通胀、产出缺口的反应系数;$\varepsilon_{i,t}$ 为货币政策冲击。经济直觉:TANK 中这条规则不变,但同样的 $\phi_\pi$ 对产出的影响会被 $\lambda$ 削弱(见 §3)。

1.5 财政政策:比例税 + 一次性转移,预算平衡

(GOV) 政府预算约束
$$TR_t=\tau_t Y_t-\bar G,\qquad \tau_t=\bar\tau+\widehat\tau_t$$
设定理由:HtM 预算里的 $TR_t$ 必须有资金来源,否则模型不闭合;平衡预算假设排除了独立的债务累积动态,使 TANK 可用一阶扰动直接求解。参数含义:$\tau_t$ 为比例劳动税率;$\bar G$ 为常数政府支出;税收减去支出的余额以一次性转移 $TR_t$ 返还家庭。经济直觉:$\tau_t\uparrow\Rightarrow TR_t\downarrow\Rightarrow$ HtM 可支配收入下降——这是 TANK 财政乘数放大与"财政—货币闭环"的来源(Galí–López-Salido–Vallés 2007)。

02 完整推导(不跳步)

下面把两类家庭的方程从原始优化问题一步步推出,再做加总。每一步都保留中间代数,便于判断"哪步近似可省、哪步不能省"。

2.1 RANK 家庭:拉格朗日与欧拉方程

对 RANK 问题 (RANK-OBJ) 构造拉格朗日 $\mathcal L=E_0\sum_t\beta^t\{U(C_{R,t},N_{R,t})+\mu_t[(1+i_{t-1})B_{t-1}+W_tN_{R,t}+D_t-P_tC_{R,t}-B_t]\}$,其中 $\mu_t$ 为预算约束乘子。对 $C_{R,t},N_{R,t},B_t$ 分别求偏导:

(RANK-FOC) RANK 家庭三个一阶条件
$$\frac{\partial\mathcal L}{\partial C_{R,t}}:\quad C_{R,t}^{-\sigma}=\mu_t P_t \tag{FOC-C}$$ $$\frac{\partial\mathcal L}{\partial N_{R,t}}:\quad N_{R,t}^{\varphi}=\mu_t W_t \tag{FOC-N}$$ $$\frac{\partial\mathcal L}{\partial B_t}:\quad \mu_t=\beta E_t\big[(1+i_t)\mu_{t+1}\big] \tag{FOC-B}$$
逐步:消费 FOC 令消费边际效用等于名义财富影子价格 $\mu_t P_t$;劳动 FOC 令劳动边际负效用等于实际工资的效用价值;债券 FOC 是跨期无套利——今天存 1 元的边际效用等于明天还本付息的贴现边际效用。

把 (FOC-C) 写成 $\mu_t=C_{R,t}^{-\sigma}/P_t$,代入 (FOC-B):

(RANK-EULER) 欧拉方程(未对数线性化)
$$C_{R,t}^{-\sigma}=\beta\,E_t\!\left[\frac{1+i_t}{1+\pi_{t+1}}\,C_{R,t+1}^{-\sigma}\right]$$
经济直觉:RANK 家庭在"今天消费一单位"与"存入债券、明天按实际利率 $(1+i_t)/(1+\pi_{t+1})$ 消费"之间无差异。关键:只有 RANK 家庭走这条方程;HtM 不参与债券定价。

同理,把 (FOC-C) 与 (FOC-N) 相除消去 $\mu_t$,得到 RANK 的劳动供给(期内最优):

(RANK-LAB) RANK 劳动供给 FOC
$$C_{R,t}^{-\sigma} w_t=N_{R,t}^{\varphi},\qquad w_t\equiv W_t/P_t$$
推导:$N_{R,t}^\varphi=\mu_t W_t$,而 $C_{R,t}^{-\sigma}=\mu_t P_t$,两式相除 $\Rightarrow N_{R,t}^\varphi/C_{R,t}^{-\sigma}=W_t/P_t=w_t$,移项即得上式。经济直觉:实际工资上升时,RANK 家庭多劳动(替代效应)并多消费。

2.2 HtM 家庭:预算约束直接给消费,劳动供给的两种处理

HtM 没有跨期选择($B_{H,t}\equiv 0$),所以消费方程不是 FOC、而是预算约束的直接结论

(HTM-C) HtM 消费(来自预算约束,非欧拉)
$$C_{H,t}=(1-\tau_t)w_t N_{H,t}+TR_t$$
为什么不是欧拉:HtM 想借而借不到,跨期 FOC 取严格不等式 $C_{H,t}^{-\sigma}>\beta E_t[(1+i_t)/(1+\pi_{t+1})C_{H,t+1}^{-\sigma}]$(KKT 乘子 $\mu_t>0$),因此利率不进其消费方程。经济直觉:每多 1 元当期收入全部花掉($MPC=1$),这是 TANK 一切放大效应的微观根源。

HtM 仍可每期选择劳动。把 $C_{H,t}$ 的预算约束代入单期效用、对 $N_{H,t}$ 求一阶条件:

(HTM-LAB) HtM 劳动供给 FOC(内生劳动版)
$$C_{H,t}^{-\sigma}\,w_t(1-\tau_t)=N_{H,t}^{\varphi}$$
推导:$\max_{N_H}\big[(w_t(1-\tau_t)N_H+TR_t)^{1-\sigma}/(1-\sigma)-N_H^{1+\varphi}/(1+\varphi)\big]$ 对 $N_H$ 求导,得 $C_H^{-\sigma}w_t(1-\tau_t)-N_H^\varphi=0$。两种常见处理:(a) 内生劳动——如上式,HtM 随工资/转移调整劳动;(b) 外生劳动——部分文献直接令 $N_{H,t}=\bar N$ 固定,此时 HtM 消费仅由工资率与转移决定。本页代码采用简化版 $C_{H,t}\propto Y_t$(见 §3),与 (a) 在量级上一致。

2.3 总消费与总劳动:人口加权加总

设人口为 1(连续统),HtM 占测度 $\lambda$、RANK 占测度 $1-\lambda$,总变量为截面积分:

(AGG) 加总恒等式及其对数线性化
$$C_t=(1-\lambda)C_{R,t}+\lambda C_{H,t},\qquad N_t=(1-\lambda)N_{R,t}+\lambda N_{H,t}$$ $$\text{对数线性化(稳态人均消费相等):}\quad c_t=(1-\lambda)c_{R,t}+\lambda c_{H,t}$$
推导:$C_t=\int_0^1 c_{i,t}di=\int_0^{1-\lambda}C_{R,t}di+\int_{1-\lambda}^1 C_{H,t}di=(1-\lambda)C_{R,t}+\lambda C_{H,t}$。关键细节:仅当稳态 $\bar C_R=\bar C_H$ 时,对数权重才是人口比例;若 HtM 稳态消费更低,权重应换成消费份额 $\omega_H=\lambda\bar C_H/\bar C$。严格定量研究务必用消费份额加权。

2.4 边际成本与产品市场出清

(MC+CLEAR) 边际成本与资源约束
$$mc_t=\frac{w_t}{A_t},\qquad Y_t=C_t+G_t$$
推导:线性生产 $Y=A N$,劳动需求 $w=mc\cdot A$ ⇒ $mc=w/A$;产品市场出清即产出全用于消费与政府购买。对数线性化($G$ 稳态恒定)给出 $\hat c_t=\hat y_t$,这是 IS 曲线把"消费方程"翻译成"产出方程"的桥梁。

2.5 与 RANK 的对照:谁在走欧拉?

维度RANK(代表性主体)TANK(两类主体)
谁满足欧拉方程所有人(100%)仅 RANK 家庭($1-\lambda$)
HtM 消费方程不存在(无 HtM)$C_{H,t}=$ 当期可支配收入,不跨期
总消费对利率敏感度$1/\sigma$(全部家庭替代)$(1-\lambda)/\sigma$(只有储蓄者替代)
总 MPC(对转移)≈ 0(永久收入假说)≈ $\lambda$(HtM 的 MPC=1)
利率传导跨期替代为主跨期替代被稀释,收入效应相对上升

核心结论一句话:RANK 下总消费欧拉方程直接成立;TANK 下 HtM 不满足欧拉,总消费对利率的敏感度从 $1/\sigma$ 降到 $(1-\lambda)/\sigma$。这正是 §3 TANK IS 曲线系数的来源。

03 均衡、TANK 三方程与稳态求解

3.1 对数线性化系统:TANK IS + NKPC + Taylor + HtM 消费

在零通胀稳态附近对数线性化,变量小写为偏离稳态的百分比。把 RANK 欧拉 $c_{R,t}=E_t c_{R,t+1}-\tfrac{1}{\sigma}(i_t-E_t\pi_{t+1})$ 与 $c_t=(1-\lambda)c_{R,t}+\lambda c_{H,t}$、$c_t=y_t-g_t$ 联立,并利用"HtM 消费对利率无前瞻反应",可得 TANK 版 IS 曲线:

(TANK-IS) TANK 版前望 IS 曲线
$$\hat y_t=E_t\hat y_{t+1}-\frac{1-\lambda}{\sigma}\big(\hat i_t-E_t\pi_{t+1}\big)+\underbrace{\frac{\psi}{1-\lambda}\,g_t}_{\text{财政项}}$$
推导直觉:总需求里只有 $1-\lambda$ 比例的 RANK 家庭对实际利率做跨期替代,故利率系数从 RANK 的 $1/\sigma$ 缩成 $(1-\lambda)/\sigma$。财政项:$g_t$(政府支出/转移)直接落在 HtM 口袋里并被全部花掉,传导系数 $\psi/(1-\lambda)$ 随 $\lambda$ 放大。经济直觉:$\lambda\uparrow\Rightarrow$ IS 曲线更陡(对利率更不敏感)、财政项更强——货币变钝、财政变利。
#对数线性化方程名称
(E1)$\hat y_t=E_t\hat y_{t+1}-\frac{1-\lambda}{\sigma}(\hat i_t-E_t\pi_{t+1})+\frac{\psi}{1-\lambda}g_t$TANK IS 曲线
(E2)$\pi_t=\beta E_t\pi_{t+1}+\kappa\hat y_t$NKPC(与 RANK 同形)
(E3)$\hat i_t=\rho_i\hat i_{t-1}+(1-\rho_i)(\phi_\pi\pi_t+\phi_y\hat y_t)+\varepsilon_{i,t}$Taylor 规则
(E4)$c_{H,t}=(1-\lambda)\,y_t$(HtM 消费 = 当期可支配收入的简化)HtM 消费方程
(E5)$g_t=\rho_g g_{t-1}+\varepsilon_{g,t}$财政冲击 AR(1)

3.2 稳态:零通胀、零缺口、人均消费归一

设稳态零通胀 $\bar\pi=0$、零产出缺口、无冲击。由 (E2):$0=\kappa\bar y\Rightarrow\bar y=0$;由 (E3):$\bar i=0$(对数变量),对应非对数 $\bar i=r=\beta^{-1}-1$。加总归一 $\bar C_R=\bar C_H=\bar C=\bar Y$,保证 $\lambda$ 变动不改变稳态——这是干净比较 IRF 的前提。

比较静态的陷阱

扫 $\lambda$ 做 IRF 对比时,必须强制稳态人均消费归一。若不重归一,$\lambda$ 一变稳态本身就移动,IRF 的差异会被"稳态漂移"污染,无法干净归因到传导机制。

3.3 求解方法

  • Dynare(一阶扰动):TANK 只有两类、分布退化为常数 $\lambda$,状态维数小,直接 stoch_simul(order=1) 即可——这是 TANK 相对 HANK 的最大便利。
  • MATLAB/Python:Blanchard–Kahn:把系统写成 $A E_t X_{t+1}=B X_t+C\varepsilon_t$,检查稳定特征根个数 = 前定变量个数($\phi_\pi>1$ 时成立),再用特征值分解求政策函数。本页 §4 代码用等价的"线性打靶法"直接解出 IRF。

04 完整可运行代码

下面三段代码层层递进:① Dynare .mod(两类家庭 + Calvo + Taylor + 财政,中文注释);② Python 线性打靶求解器(对数线性系统 → IRF);③ TANK vs RANK 跨 $\lambda$ 对比。代码②③已在本工作站实跑验证,输出见 §4.4。

4.1 代码块①:Dynare .mod 完整模型

Dynare · tank.mod(两类家庭 + Calvo + Taylor + 财政)
% ============================================================
% TANK 两主体新凯恩斯模型
%   家庭: 1-lambda 的 RANK(走欧拉) + lambda 的 HtM(花光收入)
%   厂商: Calvo 粘性定价 -> NKPC
%   政策: Taylor 规则(带平滑) + 比例税/一次性转移(平衡预算)
%   对照: 把 lambda 设 0 => 退化为 RANK
% 变量小写为对数偏离稳态
% ============================================================
var
  y          % 总产出(缺口)
  cR         % RANK 家庭消费
  cH         % HtM 家庭消费
  c          % 总消费
  pi         % 通胀
  i          % 名义政策利率
  g          % 政府支出/转移(外生需求项)
;
varexo e_i e_g;   % 货币政策冲击 / 财政冲击

% ---------- 1. 参数 ----------
parameters beta sigma phi theta lambda kappa ...
           rho_i phi_pi phi_y rho_g psi;

% ---------- 2. 校准 ----------
beta   = 0.99;     % 季度贴现因子(年实际利率约4%)
sigma  = 1.0;      % 相对风险厌恶(对数效用)
phi    = 1.0;      % Frisch 劳动弹性倒数
theta  = 0.75;     % Calvo 不调价概率(平均一年调一次)
lambda = 0.35;     % HtM 占比(美国0.2-0.4, 中国CHFS 0.3-0.5)
% NKPC 斜率 kappa = (1-theta)(1-beta*theta)/theta
kappa  = (1-theta)*(1-beta*theta)/theta;
rho_i  = 0.80;     % 利率平滑
phi_pi = 1.5;      % Taylor 对通胀(须 >1, Taylor 原理)
phi_y  = 0.125;    % Taylor 对产出(季度化)
rho_g  = 0.90;     % 财政冲击持续性
psi    = 0.30;     % 财政向需求传导(教学校准)

% ---------- 3. 模型方程 ----------
model;
% (E1) RANK 家庭欧拉方程(对数线性化)
%   假设: 可交易债券、跨期平滑、无借款约束
cR = cR(+1) - (1/sigma)*(i - pi(+1));

% (E2) HtM 消费: = 当期可支配收入(花光), 不走欧拉, 对利率不敏感
%   MPC=1; 简化为与产出(收入)挂钩
cH = y;

% (E3) 总消费 = 人口加权
c = (1-lambda)*cR + lambda*cH;

% (E4) 产品市场出清: 总产出 = 总消费 + 政府支出/转移
y = c + g;

% (E5) NKPC: Calvo 定价
pi = beta*pi(+1) + kappa*y;

% (E6) Taylor 规则(带利率平滑)
i = rho_i*i(-1) + (1-rho_i)*(phi_pi*pi + phi_y*y) + e_i;

% (E7) 财政冲击 AR(1)
g = rho_g*g(-1) + e_g;
end;

% ---------- 4. 稳态(对数变量全为0) ----------
initval;
  y=0; cR=0; cH=0; c=0; pi=0; i=0; g=0;
end;
steady;
resid;          % 检查残差是否为 0

% ---------- 5. 求解并模拟 ----------
% 基准: lambda=0.35 (TANK); 对照: 改 lambda=0 (RANK) 重跑
stoch_simul(order=1, irf=30, nograph) y cR cH c pi i g;

% ---------- 6. 观测方程(贝叶斯估计用, 可选) ----------
% obs  = [100*(y-y(-1)); 400*pi; 400*i];   % 产出增速/通胀/利率
% estimation(datafile=tank_data, mode_compute=6, mh_replic=20000,
%            mh_nblocks=2, nograph);
对照实验

lambda 从 0.35 改成 0,TANK 即退化为 RANK(HtM 消失,总消费全由 RANK 欧拉决定)。对比两个 $\lambda$ 下对同一财政冲击 $e_g$ 的 IRF:HtM 越多,产出与消费反应越大越持久——因为 HtM 不能平滑,冲击直接落在消费上。

4.2 代码块②:Python 求解器(对数线性系统 + IRF)

线性打靶法:把 T=60 期的 RE 方程逐期堆叠成一个大型线性方程组,给定初值与终端条件直接求解,避免手写特征值分解。仅依赖 numpy。

Python · tank_solver.py(线性打靶求 IRF)
"""
TANK 求解器: 对数线性化系统 -> IRF (线性打靶法)
完美预期下 E_t x_{t+1} = x_{t+1}; 终端 y_T=pi_T=i_T=g_T=0
仅依赖 numpy; set seed = 42
"""
import numpy as np
np.random.seed(42)

def solve_tank(lam, T=60, beta=0.99, sigma=1.0, kappa=0.1275,
               rho_i=0.8, phi_pi=1.5, phi_y=0.125, rho_g=0.9, psi=0.30):
    a_s = (1.0 - lam) / sigma     # 利率敏感度: 仅 RANK 跨期替代
    b_g = psi / (1.0 - lam)       # 财政项: HtM 花光收入
    N = 4 * T                     # [y, pi, i, g] 各 T 期
    A = np.zeros((N, N)); rhs = np.zeros(N)
    def idx(b, t): return b * T + t
    for t in range(T):
        # (1) IS: y_t = y_{t+1} - a_s*(i_t - pi_{t+1}) + b_g*g_t
        r = idx(0, t); A[r, idx(0, t)] += 1.0
        if t + 1 < T:
            A[r, idx(0, t+1)] += -1.0; A[r, idx(1, t+1)] += -a_s
        A[r, idx(2, t)] += a_s; A[r, idx(3, t)] += -b_g
        # (2) NKPC: pi_t = beta*pi_{t+1} + kappa*y_t
        r = idx(1, t); A[r, idx(1, t)] += 1.0; A[r, idx(0, t)] += -kappa
        if t + 1 < T: A[r, idx(1, t+1)] += -beta
        # (3) Taylor: i_t = rho_i*i_{t-1} + (1-rho_i)(phi_pi*pi+phi_y*y) + e_i
        r = idx(2, t); A[r, idx(2, t)] += 1.0
        if t - 1 >= 0: A[r, idx(2, t-1)] += -rho_i
        A[r, idx(1, t)] += -(1-rho_i)*phi_pi
        A[r, idx(0, t)] += -(1-rho_i)*phi_y
        # (4) g: g_t = rho_g*g_{t-1} + e_g
        r = idx(3, t); A[r, idx(3, t)] += 1.0
        if t - 1 >= 0: A[r, idx(3, t-1)] += -rho_g
    def irf(kind):
        b = rhs.copy()
        if kind == 'i': b[idx(2, 0)] += 1.0     # 货币冲击在 t=0
        else:           b[idx(3, 0)] += 1.0     # 财政冲击在 t=0
        x = np.linalg.solve(A, b)
        return {k: x[idx(k, 0):idx(k, T)] for k in range(4)}
    return {'mon': irf('i'), 'fis': irf('g'), 'a_s': a_s, 'b_g': b_g}

4.3 代码块③:TANK vs RANK 跨 λ 对比(实跑输出)

Python · tank_vs_rank.py(λ 扫描 + 乘数对比)
# 在 4.2 定义 solve_tank 后运行
lams = [0.0, 0.20, 0.35, 0.50]
print(f"{'lam':>6}{'a_s':>9}{'货币y谷值':>12}{'财政乘数':>10}")
rank_mult = None
for lam in lams:
    s = solve_tank(lam)
    y_mon = s['mon'][0][:12].min()                 # 紧缩=>y负向谷值
    mult  = s['fis'][0][0] / s['fis'][3][0]        # y0 / g0
    if lam == 0.0: rank_mult = mult
    print(f"{lam:>6.2f}{s['a_s']:>9.3f}{y_mon:>12.3f}{mult:>10.3f}")
# 实跑输出:
#  lam    a_s   货币y谷值   财政乘数
#  0.00   1.000    -2.616      1.095   <- RANK
#  0.20   0.800    -2.235      1.474
#  0.35   0.650    -1.922      1.938   <- 基准 TANK
#  0.50   0.500    -1.579      2.726
# 结论: lambda 越大 -> 利率敏感度 a_s 越小 -> 货币政策越钝;
#                     财政乘数越大 (HtM 的 MPC=1 放大需求)

4.4 实跑验证结果(本工作站已运行)

λ(HtM 占比)利率敏感度 $a_s=(1-\lambda)/\sigma$货币紧缩 y 谷值财政乘数 $y_0/g_0$相对 RANK
0.00(RANK)1.000−2.6161.095×1.00
0.200.800−2.2351.474×1.35
0.35(基准 TANK)0.650−1.9221.938×1.77
0.500.500−1.5792.726×2.49

$\lambda=0.35$ 时货币紧缩冲击前 8 期的 IRF(y/π/i,百分点偏离):

01234567
产出 ŷ−1.92−1.18−0.72−0.44−0.27−0.17−0.10−0.06
通胀 π−0.62−0.38−0.23−0.14−0.09−0.05−0.03−0.02
利率 î+0.77+0.47+0.29+0.18+0.11+0.07+0.04+0.02

读法:货币紧缩(î 当期 +0.77pp)压低产出与通胀,随后随 AR(1) 冲击衰减。同样冲击下,λ 从 0 升到 0.5,产出谷值从 −2.62 收窄到 −1.58(货币政策变钝),而财政乘数从 1.09 升到 2.73(财政变利)。绝对乘数大小依赖财政传导系数 $\psi$,关键在单调关系而非数值本身

05 估计与校准:λ 怎么取

5.1 基准参数校准

参数含义基准值来源
$\beta$季度贴现因子0.99年实际利率约 4%,RBC 传统
$\sigma$相对风险厌恶1对数效用,NK 估计中位
$\varphi$Frisch 劳动弹性倒数1标准校准
$\theta$Calvo 不调价概率0.75平均一年调价一次
$\phi_\pi,\phi_y$Taylor 系数1.5, 0.125Taylor (1993),季度化
$\kappa$NKPC 斜率$(1-\theta)(1-\beta\theta)/\theta\approx0.25$由 $\theta,\beta$ 推出

5.2 λ 的文献取值与数据来源

$\lambda$ 是 TANK 的"灵魂参数",必须来自微观数据。识别方法是:把"流动性资产不足两个月(或半月)可支配收入"的家庭定义为 HtM。

来源样本/数据λ 估计
Kaplan, Violante & Weidner (2014, BPEA)美国 SCF0.25–0.40(含富 HtM,最优约 1/3)
Jappelli & Pistaferri (2010)消费调查 / 退税 MPC总 MPC 0.2–0.6 ⇒ λ≈0.2–0.5
全球 Findex(World Bank)跨国发达经济体 HtM≈0.23,拉美≈0.60

5.3 中国数据:CFPS / CHFS 中的流动性约束家庭

中国侧用西南财经大学中国家庭金融调查(CHFS)或北京大学中国家庭追踪调查(CFPS):按高流动性资产不足两个月收入识别 HtM,中文文献估计中国 HtM 比例通常落在 0.30–0.50,显著高于美国,农村与年轻户主尤高。做中国政策模拟时,$\lambda$ 建议取 0.35–0.45,并注意它在衰退期上升、扩张期下降(状态依赖)。

估计时易被审稿人质疑

(1) $\lambda$ 与习惯系数 $h$ 都让消费更持续、识别不出来——必须用微观 MPC 矩把 $\lambda$ 钉住;(2) HtM 收入份额低于人口份额,不能直接令 $c_H=y$,严谨做法用消费份额加权;(3) $\lambda$ 不应让宏观数据自由估,先验取 Beta(0.35, 0.10)。

06 福利与政策分析

6.1 财政乘数:TANK > RANK

政府支出/转移增加 → HtM 可支配收入上升 → 全部花掉(MPC=1)→ 总需求进一步上升。因为 HtM 不做跨期替代、不会因未来增税而抑制当期消费(Ricardian 等价只在 RANK 内成立),TANK 的财政乘数系统性高于 RANK。§4.4 的实跑:λ=0 时乘数≈1.1,λ=0.35 时≈1.9,λ=0.5 时≈2.7。

6.2 货币政策传导:HtM 只有收入效应

降息对 RANK 家庭有跨期替代效应(把未来消费挪到现在);但 HtM 不持有债券,利率变动对其无直接影响——唯一的渠道是间接收入效应:降息→总需求↑→劳动需求↑→工资↑→HtM 收入↑→消费↑。因此 λ 越大,利率直接渠道越弱、货币政策越"钝"。这正是 §4.4 中货币紧缩产出抑制随 λ 收窄的原因。

6.3 最优货币政策:更应盯住产出缺口

RANK 有"divine coincidence"(稳定通胀=稳定产出)。TANK 中因为 HtM 消费波动直接影响福利、且无法通过利率平滑,央行应给产出缺口(从而 HtM 收入)更高权重,即 $\phi_y$ 应比 RANK 更大;纯通胀盯住不再最优。

6.4 RANK / TANK / HANK 对比

维度RANKTANKHANK
家庭分布1 个代表性家庭2 类(RANK + HtM),比例 λ 外生连续分布,状态 (a,z) 内生
HtM 标签外生固定、永久内生(今天 HtM,明天可积累资产)
总 MPC≈0≈λ由分布 Γ 内生决定
利率敏感度$1/\sigma$$(1-\lambda)/\sigma$弱,收入渠道主导
财政乘数≈1(小)>1,随 λ 升一般均衡再分配渠道主导
求解工具Dynare 一阶扰动Dynare 一阶扰动即可需 Reiter / SSJ(分布是状态变量)
预防性储蓄有(风险→储蓄需求→均衡利率)

07 论文案例

EN · TANK 开山
Understanding the Effects of Government Spending on Consumption
Galí J., López-Salido J.D. & Vallés J., Journal of the European Economic Association, 2007, 5(1): 227–270
TANK 框架的开山应用:在 NK 中加入 "rule-of-thumb"(拇指规则/不参与债券市场)消费者,从理论上解释政府支出乘数 >1、消费对财政支出正反应的经验事实。本页 HtM 设定的直接源头。
EN · 新凯恩斯交叉
The New Keynesian Cross
Bilbiie F.O., Journal of Monetary Economics, 2020, 114: 90–108
用 TANK 把"新凯恩斯交叉"形式化:HtM 比例如何改变 IS 曲线斜率、财政乘数与货币政策效力,是本页核心机制的理论总纲。
EN · TANK≈HANK 的洞察
Monetary Policy with Heterogeneous Agents: Insights from TANK models
Debortoli D. & Galí J., Economics Working Paper / 会议稿, 2018(讨论工作论文)
论证在很多维度上,简化的 TANK 已经能复现 HANK 的主要货币政策结论,说明"两类"抓住了异质性的一阶效应。
EN · 预期管理
The Power of Forward Guidance Revisited
McKay A., Nakamura E. & Steinsson J., American Economic Review, 2016, 106(10): 3133–3158
用带约束家庭(TANK/HANK 思想)解释:为何 RANK 中"远期预期管理"的效果强得反直觉;引入 hand-to-mouth 后前瞻指引效力大幅下降。
CN · 中文 TANK 应用
供给侧结构性改革下的积极财政政策效果——兼论货币政策锚的选择
潘敏、张新平,《经济学动态》,2019 年
在新凯恩斯 DSGE 中引入李嘉图家庭(可接触金融市场、跨期平滑)与非李嘉图家庭(不能接触金融市场、按当期收入消费)两类主体,正是中国情境下的 TANK 设定;讨论积极财政政策效果与货币政策锚。
CN · 异质性家庭与财政效应
中国家庭债务与财政支出效应——基于异质性家庭的 DSGE 模型分析
刘辉、郭新华、刘子兰,《财贸研究》,2019 年第 11 期,第 56–71 页
构建含异质性家庭的 DSGE,讨论家庭债务(杠杆)如何改变政府消费性/投资性支出乘数,是 TANK 思想在中国财政乘数问题上的量化应用。
CN · 城乡异质性
城乡异质性、财政支出结构与中国宏观经济波动
杨翱、李长洪,《财贸经济》,2016 年
按城乡二元结构将家庭分两类、区分财政支出的消费效应与生产效应,用 DSGE 分析多冲击下总产出反应,是"两主体"思想在中国城乡结构下的变体。
CN · 微观识别 λ
收入分配视角下中国"扩内需"的政策协同研究
何剑、张梦婷、许丽萍、郑智勇,《财经研究》,2021 年
直接从微观调查数据识别非李嘉图等价家庭(不参与金融市场投资、流动资产低于门槛),估计其占比并讨论再分配与扩内需政策协同——对应本页 §5.2–5.3 的 λ 微观识别。

08 常见错误

错误 1:让 HtM 家庭也满足欧拉方程

HtM 的定义就是不储蓄、不借贷、约束紧到角点。若给 $C_{H,t}$ 也写 $c_H=E_t c_{H,t+1}-\tfrac1\sigma(i-E\pi)$,TANK 直接退化成 RANK,$\lambda$ 不再有意义。HtM 的消费方程来自预算约束($MPC=1$),不是欧拉。

错误 2:认为 λ 越大货币政策越有效

方向正好相反。λ 越大,能对利率做跨期替代的 RANK 家庭越少,总需求利率敏感度 $(1-\lambda)/\sigma$ 越小,货币政策越钝(§4.4 实跑:货币紧缩产出谷值从 −2.62 收窄到 −1.58)。λ 放大的是财政乘数,不是货币乘数。

错误 3:把 TANK 等同于 HANK

TANK 只有两类、且 HtM 标签外生永久固定;HANK 是连续分布、家庭在约束与松弛间内生切换。TANK 可用 Dynare 一阶扰动,HANK 的分布是无穷维状态变量,必须 Reiter/SSJ。两者不是一回事。

错误 4:认为 TANK 财政乘数一定大于 1

乘数是否 >1 取决于 λ 与货币政策反应。λ 很小时 TANK≈RANK(乘数≈1);若央行对财政冲击强力加息($\phi_\pi$ 很大),利率上升会挤出私人消费,乘数可能回落。乘数随 λ 升、随货币收紧降,不是无条件 >1。

错误 5:把 HtM 劳动供给外生固定当唯一正确做法

两种都见诸文献:(a) 内生劳动($C_H^{-\sigma}w(1-\tau)=N_H^\varphi$);(b) 外生固定 $N_H=\bar N$。选哪种取决于研究问题——讨论工资效应时用 (a),想剥离劳动边际调整时用 (b)。不能默认只有一种。

错误 6:扫 λ 做对比时不归一稳态

改变 λ 若不同时强制 $\bar C_R=\bar C_H=\bar Y$,稳态本身会随 λ 移动,IRF 差异被"稳态漂移"污染,无法干净归因到传导机制。比较前务必重归一。

09 交叉链接与进阶

TANK 是连接 RANK 与 HANK 的桥梁,与以下页面构成完整学习链条:

EQ 方程总清单 Equation Summary

编号方程模块
(RANK-OBJ)$\max E_0\sum\beta^t[C_R^{1-\sigma}/(1-\sigma)-N_R^{1+\varphi}/(1+\varphi)]$RANK 原问题
(RANK-BUD)$P_t C_{R,t}+B_t=(1+i_{t-1})B_{t-1}+W_tN_{R,t}+D_t$RANK 预算
(RANK-FOC-C/N/B)$C_R^{-\sigma}=\mu P_t$;$N_R^\varphi=\mu W_t$;$\mu_t=\beta E_t[(1+i_t)\mu_{t+1}]$RANK 三 FOC
(RANK-EULER)$C_{R,t}^{-\sigma}=\beta E_t[(1+i_t)/(1+\pi_{t+1})C_{R,t+1}^{-\sigma}]$RANK 欧拉
(RANK-LAB)$C_{R,t}^{-\sigma}w_t=N_{R,t}^\varphi$RANK 劳动供给
(HTM-BUD/C)$C_{H,t}=(1-\tau_t)w_tN_{H,t}+TR_t,\;B_{H,t}\equiv0$HtM 消费=预算
(HTM-LAB)$C_{H,t}^{-\sigma}w_t(1-\tau_t)=N_{H,t}^\varphi$HtM 劳动供给
(AGG)$C_t=(1-\lambda)C_{R,t}+\lambda C_{H,t}$;$N_t=(1-\lambda)N_{R,t}+\lambda N_{H,t}$加总
(MC+CLEAR)$mc_t=w_t/A_t$;$Y_t=C_t+G_t$边际成本与出清
(NKPC)$\pi_t=\beta E_t\pi_{t+1}+\kappa\widehat{mc}_t$,$\kappa=(1-\theta)(1-\beta\theta)/\theta$Calvo 菲利普斯
(TAYLOR)$i_t=\rho_i i_{t-1}+(1-\rho_i)(\phi_\pi\pi_t+\phi_y\hat y_t)+\varepsilon_{i,t}$货币政策
(GOV)$TR_t=\tau_t Y_t-\bar G$财政平衡预算
(TANK-IS)$\hat y_t=E_t\hat y_{t+1}-\frac{1-\lambda}{\sigma}(\hat i_t-E_t\pi_{t+1})+\frac{\psi}{1-\lambda}g_t$TANK IS 曲线
(E5)$g_t=\rho_g g_{t-1}+\varepsilon_{g,t}$财政冲击 AR(1)
(SS)零通胀零缺口稳态,$\bar i=\beta^{-1}-1$,$\bar C_R=\bar C_H=\bar C=\bar Y$稳态

合计:两类家庭原问题/FOC 8 + 加总与出清 4 + NKPC/Taylor/财政/IS 6 + 冲击 1 + 稳态 1 + 辅助 ≈ 24 个方程