空间福利分解:ACR 充分统计量公式推导
Arkolakis, Costinot & Rodriguez-Clare (2012, AER) 证明:无论模型是 Armington、EK 还是 Melitz,只要满足三个条件,贸易利得 $\hat{W}=(\hat{\lambda}_{ii})^{-1/\theta}$ 就完全一样。本页完整推导这一公式,并讨论其适用条件。
本页是 QSGE 的基础知识库页面:它不绑定某一个模型分支,而是所有量化贸易 / 空间模型在做"福利分析"时共用的工具。先把本页的 ACR 充分统计量公式、成立条件与代码跑通,再去看任何一个模型分支的"福利"章节,你都会发现它们只是把同一个公式换了个弹性参数代入。
配套求解工具:05 · 帽代数反事实求解——ACR 给福利公式,帽代数给新份额,两者配合完成一次反事实福利评估。
numpy 矩阵迭代)或 MATLAB。本页代码不单独写求解器,而是直接应用 ACR 闭式公式 $\hat W=\hat\lambda_{ii}^{-1/\theta}$,并用 02 页的 solve_ek 做数值验证(模型实际工资变化 vs ACR 公式预测)。01 什么是"充分统计量"(Sufficient Statistic)
"充分统计量"是统计学概念:如果一个统计量 $T(X)$ 已经包含了样本 $X$ 中关于参数 $\theta$ 的所有信息,那么知道 $T(X)$ 就够了,原始样本里没有额外信息可挖。
在 QSGE 里,ACR (2012) 的著名结论是:在一大类贸易模型中,从 autarky 到自由贸易的福利变化,完全由两个对象决定:
- 国内贸易份额 $\lambda_{ii}$:本国消费中来自本国生产的比例;
- 贸易弹性 $\theta$:贸易流对贸易成本的弹性。
其他变量——企业生产率分布的具体形状、$\sigma$、工资水平、贸易成本水平——都不需要知道。这是一个令人震惊的结论,因为它意味着:
2000 年代初,学界以为 Melitz (2003) 企业异质性模型会给出更大的贸易利得(因为新模型有"selection into exporting"、"aggregate productivity gain")。ACR (2012) 证明:没有——只要 $\lambda_{ii}$ 和 $\theta$ 相同,Melitz 模型算出的贸易利得和 Armington 一模一样。这就是文章标题 "New Trade Models, Same Old Gains?" 的含义。
02 ACR 三个条件
ACR 定理成立需要三个假设(他们叫 "restrictions on trade models"):
- Demand 偏好参数化:代表性消费者有 CES 偏好(或等价地,企业的需求是常弹性的)。这等价于"贸易份额对贸易成本是常数弹性 $\theta$"。
- Perfect competition / Monopolistic competition with free entry:要么完全竞争(EK),要么垄断竞争加自由进入(Melitz)。排除了寡头/策略互动。
- Trade balance and single factor:贸易平衡、唯一生产要素(劳动)。排除了贸易顺差、资本流动、投入产出联系。
满足这三条,福利变化就只依赖 $\lambda_{ii}$ 和 $\theta$。
03 从 Armington 开始推导(包络定理视角)
3.1 为什么"只看 $\lambda_{nn}$":包络定理
把名义福利写成间接效用函数 $V(w_n; \{\tau_{nk}\}, \text{其他参数})$,其中 $w_n$ 是内生工资。贸易成本 $\tau_{nk}$ 变化时,福利变化来自两条渠道:
- 直接渠道:$\tau$ 变化直接改变价格指数 $P_n$(即使工资不变);
- 间接渠道:$\tau$ 变化通过一般均衡改变 $w_n$,再影响 $V$。
包络定理说:在最优点处,间接效用对内生变量(工资)的偏导已经为零——因为消费者已经在最优选择上。所以 $\mathrm{d}V/\mathrm{d}\tau$ 只需要对直接渠道求偏导,工资的二阶反馈项全部消失。这就是 ACR "充分统计量"思想的数学来源:
再加上 CES 偏好下"价格指数对贸易成本的弹性恰好等于贸易份额 $\lambda_{nk}$"这一结构性质(Shepherd's lemma 对成本函数的版本),对所有 $\tau_{nk}$ 积分后,整条福利变化路径就被端点处的 $\lambda_{nn}$ 唯一决定——这就是充分统计量。
3.2 Armington 实际工资
回忆 01 页的 Armington 实际工资:
这里 $\lambda_{nn}$ 是国内贸易份额。把它变成"帽子"形式:
但 Armington 里贸易流对贸易成本的弹性是 $1-\sigma$,所以"贸易弹性"$\varepsilon_{\text{trade}} = \sigma-1$。于是:
从 autarky 到贸易:$\lambda_{nn}^{aut}=1$,$\lambda_{nn}^{trade}<1$。贸易利得:
04 EK 模型下的等价推导
在 EK 里,我们已经推导过:
把两式联立:
解得:
实际工资:
注意 $T_n$ 是外生技术参数,在比较静态中不变。于是实际工资的变化率:
或者用变化率的对数形式:
从 autarky 到贸易:$\pi_{nn}^{aut}=1$,$\pi_{nn}^{trade}<1$,所以 $\hat{W}_n = (\pi_{nn}^{trade})^{1/\theta} < 1$?等等——这看起来符号反了。让我重新检查:
$\hat{W}_n \equiv W_n^{trade} / W_n^{aut} = (\pi_{nn}^{trade}/1)^{1/\theta} = (\pi_{nn}^{trade})^{1/\theta}$。但 $\pi_{nn}^{trade}<1$,所以这给出 <1,意味着福利下降?这显然错了。正确推导是:从 autarky 到贸易,$\pi_{nn}$ 下降,实际工资上升。让我们把帽子方向写清楚:$\hat{x}=x'/x$。如果从 autarky ($x=1$) 到贸易 ($x=\pi_{nn}<1$),那么 $\hat{\pi}_{nn} = \pi_{nn}^{trade}/1 < 1$。代入公式 $\hat{W} = \hat{\pi}_{nn}^{1/\theta}$ 会得到 $\hat{W}<1$——这与直觉相反。
让我们仔细回看。在 EK 模型里,实际工资是 $w_n/P_n \propto \pi_{nn}^{1/\theta}$。当 $\pi_{nn}$ 下降(开放贸易),$\pi_{nn}^{1/\theta}$ 也下降?但直觉是开放提高了实际工资。问题出在哪?
回看 02 页:我们推的是 $P_n \propto w_n \pi_{nn}^{-1/\theta}$,所以 $w_n/P_n \propto \pi_{nn}^{1/\theta}$。这意味着 $\pi_{nn}$ 越大(越自给自足),实际工资越低?这显然矛盾。让我们重新检查 02 页的推导:
所以 $P_n = \gamma T_n^{-1/\theta} w_n \pi_{nn}^{1/\theta}$。于是 $w_n/P_n = \gamma^{-1} T_n^{1/\theta} \pi_{nn}^{-1/\theta}$。
我在 02 页写错了!正确的是:
这才对——$\pi_{nn}$ 越小(越开放),实际工资越高。ACR 公式的正确形式是:
从 autarky($\pi_{nn}=1$)到贸易($\pi_{nn}<1$):$\hat{\pi}_{nn}<1$,$\hat{W} = \hat{\pi}_{nn}^{-1/\theta} > 1$。开放使福利上升。✓
本工作站 02 页的"实际工资"那一行符号有误,应以本页公式为准:$\frac{w_n}{P_n} \propto \pi_{nn}^{-1/\theta}$。这是 ACR 公式的标准方向。
05 Melitz 模型为何同样成立
Melitz (2003) 模型里,企业生产率服从 Pareto 分布,企业自由进入、按生产率排序选择是否出口。表面上多了"selection"和"extensive margin",似乎福利公式应该更复杂。但 ACR 证明:只要 Pareto 形状参数 $\theta$ 等于 EK 的 Fréchet 形状参数,**贸易份额方程在结构上和 EK 完全一样**:
其中 $\chi_i$ 是一个与生产率分布和自由进入条件相关的常数。于是福利公式仍然是 $\hat{W}_n = \hat{\pi}_{nn}^{-1/\theta}$。这就是"新贸易模型,老的收益"。
| 模型 | 弹性参数 | 福利公式 |
|---|---|---|
| Armington | $\varepsilon = \sigma - 1$ | $\hat{W} = \hat{\lambda}_{nn}^{-1/(\sigma-1)}$ |
| Eaton-Kortum | $\varepsilon = \theta$ | $\hat{W} = \hat{\pi}_{nn}^{-1/\theta}$ |
| Melitz-Pareto | $\varepsilon = \theta$(Pareto 形状) | $\hat{W} = \hat{\pi}_{nn}^{-1/\theta}$ |
| Krugman 垄断竞争 | $\varepsilon = \sigma - 1$ | $\hat{W} = \hat{\lambda}_{nn}^{-1/(\sigma-1)}$ |
06 贸易利得分解:以美国为例
ACR (2012) 用 ACR 公式对 OECD 国家算了一笔账:
- 美国的国内贸易份额 $\lambda_{nn} \approx 0.8$(即 80% 消费自本国);
- 取贸易弹性 $\theta = 5$(Simonovska-Waugh 2014 估计);
- 从 autarky 到当前贸易的福利收益:
也就是说,与完全自给自足相比,美国从贸易中获得的福利提升约为 4.6%。对小开放经济体(如比利时),$\lambda_{nn}\approx 0.4$,利得达 $0.4^{-1/5}-1 \approx 20\%$。
反事实:从当前贸易到自由贸易
如果问"从当前贸易到零贸易成本的自由贸易,福利能再涨多少",需要知道反事实下的 $\lambda_{nn}'$。这就是 05 页帽子代数要解决的问题。ACR 公式告诉你:$\hat{W} = (\lambda_{nn}'/\lambda_{nn})^{-1/\theta}$,所以只要帽子代数迭代给出 $\lambda_{nn}'$,福利变化立刻可算。
07 中国案例与 Python 代码
下面代码用 ACR 公式计算几个典型国家的贸易利得,并做敏感性分析。
"""
ACR 福利分解:贸易利得 = lambda_nn^(-1/theta) - 1
- 用 OECD/世界银行 2017 年贸易数据(示意值)
- 对不同 theta 做敏感性分析
"""
import numpy as np
# ---------- 1. 各国国内贸易份额(示意值,来自 ACR 2012 Table 1 量级) ----------
countries = {
"美国": 0.80, # 大国,国内消费占比高
"中国": 0.70, # 大经济体,贸易依存度高但仍以国内为主
"德国": 0.60,
"日本": 0.85,
"比利时": 0.40, # 小开放经济体
"韩国": 0.50,
"澳大利亚": 0.75,
}
# ---------- 2. ACR 公式 ----------
def acr_gain(lam_nn, theta):
"""从 autarky 到当前贸易的福利收益"""
return lam_nn ** (-1.0 / theta) - 1.0
# ---------- 3. 对不同 theta 计算 ----------
thetas = [3.0, 5.0, 8.28] # EK 2002 估计 = 8.28;Simonovska-Waugh = 5;下限 = 3
print(f"{'国家':<10} {'λ_nn':<6}", end="")
for th in thetas:
print(f" θ={th:<6}", end="")
print()
print("-" * 60)
for c, lam in countries.items():
print(f"{c:<10} {lam:<6.2f}", end="")
for th in thetas:
g = acr_gain(lam, th) * 100
print(f" {g:>6.2f}% ", end="")
print()
# ---------- 4. 反事实:贸易成本下降 10% 的福利变化 ----------
# 用 EK 模型的近似:贸易成本下降 tau 10%,国内份额也下降约 theta*10%(一阶近似)
# 严格计算需要帽子代数(见 05 页),这里只做一阶近似
print("\n" + "=" * 60)
print("近似:贸易成本下降 10% 的福利变化(一阶近似)")
theta = 5.0
for c, lam in countries.items():
# 一阶近似:ln(lam'_nn/lam_nn) ≈ 0.10 * (1 - lam_nn) / lam_nn (粗略)
# 严格公式见 05 页 hat algebra
approx_change = 0.10 / theta * 100 # 一阶:每降 10% 成本,福利上升 ~2%
print(f" {c:<10} 近似福利变化 ≈ +{approx_change:.2f}%")
# ---------- 5. 验证 ACR 公式在 EK 模型里的精确性 ----------
# 我们用 02 页的 solve_ek 跑一个反事实,对比帽子代数结果与 ACR 公式预测
print("\n" + "=" * 60)
print("数值验证:EK 模型 vs ACR 公式预测")
N = 3
T = np.array([1.0, 0.8, 0.6])
L = np.array([1.0, 1.0, 1.0])
tau0 = np.array([[1.0,1.5,2.0],[1.5,1.0,1.8],[2.0,1.8,1.0]])
def solve_ek(T, L, tau, theta, tol=1e-10):
w = np.ones(len(L)); X = w*L
for _ in range(50000):
cost = w[None,:]*tau
S = T[None,:] * cost**(-theta)
pi = S / S.sum(axis=1, keepdims=True)
sales = pi.T @ X
excess = sales/(w*L)
w = w * excess**0.3
w = w / np.sum(w*L); X = w*L
if np.max(np.abs(excess-1)) < tol: break
cost = w[None,:]*tau
S = T[None,:] * cost**(-theta)
pi = S / S.sum(axis=1, keepdims=True)
P = S.sum(axis=1)**(-1/theta)
return w, P, pi
theta = 8.28
w0, P0, pi0 = solve_ek(T, L, tau0, theta)
# 反事实:跨国贸易成本下降 10%
tau1 = tau0.copy(); tau1[~np.eye(N,dtype=bool)] *= 0.9
w1, P1, pi1 = solve_ek(T, L, tau1, theta)
print(f" 实际工资变化 (模型): {(w1/P1)/(w0/P0)-1}")
print(f" ACR 公式预测: {(np.diag(pi1)/np.diag(pi0))**(-1/theta)-1}")
# 两者应该几乎相等(除了数值精度)
08 适用条件与局限、多部门扩展、论文案例
ACR 公式的适用条件
- CES 偏好 / 常弹性技术:如果偏好是非位似(non-homothetic),或需求弹性随收入变化,公式失效。
- 贸易平衡 + 单一要素:若存在贸易顺差、资本流动、中间品投入产出联系,需要修改公式(Caliendo-Parro 2015 把中间品加进去后,公式变成 $\hat{W} = \hat{\lambda}_{nn}^{-1/\theta} \times$ 中间品份额项)。
- 无国内贸易成本:$\tau_{ii}=1$。若国内也有贸易成本(如中国省际),需要把它们显性化。
- 静态、无增长:ACR 是静态比较;动态利得(如干中学、创新激励)不在其内。
多部门扩展(Caliendo-Parro 2015)
把单一部门拆成 $S$ 个部门,每个部门 $s$ 有自己的贸易弹性 $\theta_s$ 和国内份额 $\lambda_{nn,s}$,消费者对部门 $s$ 的支出份额为 $\alpha_s$。ACR 公式变为部门加权:
取对数:$\ln \hat{W}_n = -\sum_s \frac{\alpha_s}{\theta_s} \ln \hat{\lambda}_{nn,s}$。直觉:每个部门贡献 $\alpha_s/\theta_s$ 权重乘以其国内份额变化。部门间贸易弹性差异大(如制造业 $\theta\approx 5$,服务业 $\theta$ 很大)时,加总误差不小。
若再加入投入产出联系(部门 $s$ 使用部门 $k$ 的中间品),Caliendo-Parro (2015) 证明福利公式多出一项"成本份额"加权:
其中 $A$ 是投入产出矩阵,$[I-A]^{-1}$ 是 Leontief 逆。直觉:中间品贸易通过成本渠道放大福利收益——这就是 GVC 时代的 ACR 修正。
论文案例
$\lambda_{ii}$ 的正确构造是 (总支出 - 总进口) / 总支出,不是 (GDP - 进口) / GDP。注意总支出包含中间品购买,且 GDP 是增加值概念。错用 GDP 会严重高估 $\lambda_{ii}$。
ACR 公式需要的是结构贸易弹性,不是 OLS 距离弹性 $\rho$。从 PPML 引力里你得到 $\beta_{dist}$,需要用 $\theta = -\beta_{dist}/\rho_D$(其中 $\rho_D$ 是距离对贸易成本的弹性,需要额外假设)。直接把 $-\beta_{dist}$ 当 $\theta$ 会让福利偏差数倍。
ACR 假设贸易平衡。中国长期有大额顺差,直接用 ACR 会高估开放的福利收益。需要先把顺差作为外生转移支付处理("trade imbalances as transfers"),或用 Dekle-Eaton-Kortum (2007) 的不平衡扩展。
ACR 公式只度量"消费侧"福利(价格下降 + variety 增加)。它不包括:劳动力再配置成本、企业倒闭的失业、区域间分配(谁赢谁输)、动态创新激励。这些是后续文献 (Costinot-Rodriguez-Clare 2014) 扩展的方向。
进阶资料
- Arkolakis, Costinot & Rodriguez-Clare (2012) 原文。
- Caliendo & Parro (2015), "Estimates of the Trade and Welfare Effects of NAFTA", RES。
- Costinot & Rodriguez-Clare (2014) Handbook Chapter 3。