定量赫克歇尔-俄林(HOV)要素禀赋模型
本页自包含:多国多部门假设 → Cobb-Douglas 消费 + CES 生产 → 要素含量定理推导 → FPE 与非 FPE → 要素市场出清求解 → Trefler (1995) 缺失贸易检验 → 技术差异修正 → 福利与反事实(Rybczynski / Stolper-Samuelson)→ 论文案例。
01 经济环境与假设
Heckscher (1919) 与 Ohlin (1933) 提出:贸易的根源不是李嘉图的技术差异,而是要素禀赋差异。资本充裕国出口资本密集型产品,劳动充裕国出口劳动密集型产品。Vanek (1968) 把它从"商品贸易"推广到"要素含量贸易"(factor content of trade),得到 HOV 定理。Trefler (1995, AER) 的著名检验发现 HOV 预测的贸易量远大于实际——"缺失的贸易"(missing trade)——这一谜题催生了当代定量贸易模型(包括 EK、melitz)的兴起。
本页假设读者已掌握:(i) Cobb-Douglas 生产/消费函数;(ii) 要素密集度与等产量曲线;(iii) 矩阵代数。建议先读本目录 02 Eaton-Kortum 与 12 Caliendo-Parro 再回来看 HOV 作为"贸易理论的另一条腿"。交叉链接:02 EK、12 Caliendo-Parro。
核心假设清单(每条附设定理由 / 参数含义 / 经济直觉):
- 假设 A1:N 国、J 部门、F 要素。要素为资本 $K$、劳动 $L$、土地 $T$。理由:HOV 的核心是"商品贸易=要素服务贸易",必须多要素才能体现禀赋差异。参数含义:$V_{ik}$ 是 $i$ 国 $k$ 要素的禀赋($i=1..N, k=1..F$)。直觉:中国劳动多、沙特石油多、美国资本多——这些禀赋差异决定贸易模式。
- 假设 A2:部门生产函数 $Y_j=A_j K_j^{\alpha_j}L_j^{\beta_j}T_j^{\gamma_j}$。规模报酬不变,$\alpha_j+\beta_j+\gamma_j=1$。理由:CD 函数使要素份额等于弹性,可从投入产出表直接读出。参数含义:$\alpha_j,\beta_j,\gamma_j$ 是部门 $j$ 的要素密集度(如纺织 $\beta$ 大、化工 $\alpha$ 大)。直觉:不同部门"用"不同要素的强度不同,这是 HO 定理的技术侧。
- 假设 A3:相同偏好(identical homothetic preferences)。各国对部门 $j$ 的支出份额相同,记 $\beta_j^c$。理由:若偏好不同,即使禀赋相同贸易模式也会不同;HOV 把"需求差异"抽象掉,集中分析供给侧。参数含义:$\beta_j^c$ 是部门 $j$ 的消费支出占比(CD)。直觉:中国人和美国人都花相同比例收入在食品上(近似),差异主要在生产侧。
- 假设 A4:要素在国内部门间自由流动,跨国不流动。理由:劳动力与资本不能跨国搬迁(至少短期),但可在国内纺织业与汽车业间转换。参数含义:同一国家内要素价格统一 $w_{ik}$,跨国可不同。直觉:中国劳动力不能随便去美国工作,但可以从农村转到工厂。
- 假设 A5:完全竞争 + 规模报酬不变。理由:与 Melitz 不完全竞争相反,HOV 是新古典框架,零利润条件使产品价格=单位成本。参数含义:无利润,所有收入归要素。直觉:这是为了把"商品贸易"完全转化为"要素贸易"——没有租金/利润干扰。
符号与参数总表
| 符号 | 含义 | 典型取值/来源 |
|---|---|---|
| $i=1..N$ | 国家索引 | 样本国家 |
| $j=1..J$ | 部门索引 | ISIC 3位/制造业28部门 |
| $k=1..F$ | 要素索引(K,L,T) | 3 个 |
| $V_{ik}$ | $i$ 国 $k$ 要素禀赋 | PWT / WIOD |
| $a_{jk}$ | 部门 $j$ 要素 $k$ 的投入系数 | 投入产出表 |
| $s_i$ | $i$ 国 GDP 占世界份额 | 世界 $=1$ |
| $F_{ik}$ | $i$ 国净出口的 $k$ 要素含量 | HOV 预测 |
| $w_{ik}$ | $i$ 国 $k$ 要素价格 | FPE 下 $w_{ik}=w_k$ |
| $A_{ij}$ | $i$ 国 $j$ 部门生产率 | TFP 估计 |
02 生产技术与要素密集度
2.1 部门生产函数
在完全竞争下,零利润条件 $p_j = c_j(w_{iK},w_{iL},w_{iT})/A_{ij}$。由 Shephard 引理,部门 $j$ 单位产出对要素 $k$ 的需求(要素密集度)为:
对 CD 生产函数,$a_{jK}=\alpha_j p_j/r_j$(资本份额/资本价格),$a_{jL}=\beta_j p_j/w_j$,依此类推。把所有部门的 $a_{jk}$ 排成 $J\times F$ 矩阵 $A$,即为技术矩阵。
2.2 要素市场出清
$i$ 国所有部门对要素 $k$ 的总需求等于禀赋:
产品市场出清 + 贸易平衡决定 $Y_{ij}$(本国消费 + 净出口)。标准 HOV 的巧妙之处在于:不必单独求解 $Y_{ij}$,因为下面的恒等式直接把要素含量与禀赋联系起来。
03 HOV 要素含量定理推导
这是本模型的核心。逐步推导(禁止跳步):
3.1 消费的要素含量
在相同偏好 + 贸易平衡下,$i$ 国总支出 $E_i$ 等于其 GDP $Y_i$。世界总支出 $E^W=\sum_i E_i$。$i$ 国支出占世界份额:
在相同 homothetic 偏好下,$i$ 国消费的 $j$ 部门产品量为 $C_{ij} = s_i\,Y_j^W$(世界 $j$ 部门产出 $Y_j^W$ 的 $s_i$ 份额)。把消费量换成要素含量:$i$ 国消费中"隐含"的 $k$ 要素量为 $a_{jk} C_{ij}$,对所有部门求和:
其中 $V^W_k=\sum_i V_{ik}$ 是世界 $k$ 要素总禀赋。最后一步用了世界要素市场出清(所有部门对 $k$ 的总需求=世界总禀赋)。直觉:$i$ 国消费了世界产出的 $s_i$ 份额,因此它"消费"的要素服务也恰好是世界禀赋的 $s_i$ 份额。
3.2 生产的要素含量
$i$ 国生产中隐含的 $k$ 要素量就是其自身禀赋 $V_{ik}$(由要素市场出清 HOV3)。
3.3 ★ 净出口的要素含量(HOV 定理)
净出口的要素含量 = 生产要素含量 − 消费要素含量:
经济直觉:中国劳动禀赋 $V_{i,L}$ 巨大,消费份额 $s_i\approx 0.15$(占世界 GDP 15%),所以 $F_{i,L}=V_{i,L}-0.15 V^W_L > 0$——中国净出口劳动服务(即出口劳动密集型产品)。这正是"世界工厂"的 HOV 表达。
3.4 Heckscher-Ohlin 定理(方向版本)
由 HOV6 直接得:若 $V_{ik}/V_{il} > V^W_k/V^W_l$(该国 $k$ 相对 $l$ 比世界更充裕),则该国净出口 $k$ 密集型产品。这就是 HO 定理:贸易模式由要素禀赋相对充裕度决定。
04 FPE 与非 FPE 情形
4.1 要素价格均等化(FPE)
在 HOV6 的推导中,我们暗中假设了各国要素密集度矩阵 $A$ 相同。这要求要素价格在跨国间相等(FPE,Factor Price Equalization),否则 $a_{jk}$ 会因要素价格不同而不同。
FPE 成立的严格条件:(i) 各国技术相同;(ii) 无贸易成本;(iii) 各国要素禀赋差异不太大(不完全专业化)。现实中 FPE 显然不成立(中国工资 ≠ 美国工资),这是 HOV 实证失败的主要原因。
4.2 非 FPE:技术差异与有效要素
修正办法:把要素 $k$ 调整为"有效要素" $V_{ik}^{eff}=A_{ik} V_{ik}$,其中 $A_{ik}$ 是 $i$ 国 $k$ 要素的生产率(效率)。例如美国劳动的有效劳动 = 原始劳动 × 人力资本溢价。修正后 HOV6 变为:
Trefler (1995) 证明:加入国家间技术差异(约 0.5–0.8 的生产率折扣)后,HOV 的符号一致率从 ~60% 提升到 ~90%。但"缺失贸易"仍然存在——需要再加入 home bias 与贸易成本。
05 均衡求解:要素与产品市场出清
定量 HOV 的求解步骤:
06 Python 求解器(numpy)
# ============================================================
# 定量 Heckscher-Ohlin-Vanek (HOV) 模型求解器
# 模块:要素含量计算 + Trefler "缺失贸易" 检验 + 反事实
# 已实跑验证:numpy 1.26
# ============================================================
import numpy as np
def make_world(N=6, J=4, F=3, seed=42):
"""构造一个 N 国、J 部门、F 要素的世界。
F=0: 资本 K, F=1: 劳动 L, F=2: 土地 T
"""
rng = np.random.default_rng(seed)
# 要素密集度:J×F,每行和=1(规模报酬不变)
alpha = rng.dirichlet(np.ones(F) * 2, size=J) # J×F
# 各国要素禀赋:N×F
V = rng.lognormal(mean=0.0, sigma=0.8, size=(N, F))
Vw = V.sum(axis=0) # 世界禀赋
beta_c = np.ones(J) / J # 各国相同 CD 支出份额
return dict(N=N, J=J, F=F, alpha=alpha, V=V, Vw=Vw,
beta_c=beta_c, A_tech=np.ones((N, J)))
def solve_hov_FPE(world):
"""FPE 下的 HOV 计算。
HOV 定理:净出口要素含量 F_ik = V_ik - s_i * Vw_k
"""
N, F = world["N"], world["F"]
V, Vw = world["V"], world["Vw"]
w = np.ones(F) # 归一化要素价格
y = V @ w # N 国 GDP
s = y / y.sum() # 支出份额
# 预测的净出口要素含量(HOV 定理)
F_pred = np.zeros((N, F))
for i in range(N):
for k in range(F):
F_pred[i, k] = V[i, k] - s[i] * Vw[k]
return dict(F_pred=F_pred, s=s, w=w)
def trefler_missing_trade(world, hov, corr=0.15):
"""模拟"实际"贸易的要素含量:在 HOV 预测基础上压缩 corr 倍
(Trefler 1995 发现实际要素含量约为预测的 1/10)。
"""
rng = np.random.default_rng(123)
F_pred = hov["F_pred"]
F_actual = corr * F_pred + 0.05 * rng.standard_normal(F_pred.shape)
return F_actual
def trefler_test(F_pred, F_actual):
"""Trefler 1995 检验:
(1) 符号相关度:sign(F_pred)==sign(F_actual) 的比例
(2) 缺失贸易比:|F_actual|/|F_pred| 的均值
(3) Pearson 相关系数
"""
sign_correct = (np.sign(F_pred) == np.sign(F_actual)).mean()
missing_ratio = np.abs(F_actual).sum() / np.abs(F_pred).sum()
corr = np.corrcoef(F_pred.flatten(), F_actual.flatten())[0, 1]
return dict(sign=sign_correct, missing=missing_ratio, corr=corr)
def counterfactual_capital_accumulation(world, country=0, capital_mult=2.0):
"""反事实:某国资本积累翻倍,看 HOV 预测的要素含量变化(Rybczynski)。"""
w2 = dict(world)
V2 = world["V"].copy()
V2[country, 0] *= capital_mult # K 翻倍
w2["V"] = V2
w2["Vw"] = V2.sum(axis=0)
hov2 = solve_hov_FPE(w2)
return hov2, w2
if __name__ == "__main__":
np.random.seed(42)
world = make_world(N=6, J=4, F=3, seed=42)
hov = solve_hov_FPE(world)
print("HOV 预测要素含量 F_pred:", np.round(hov["F_pred"], 2))
# Trefler 检验
F_actual = trefler_missing_trade(world, hov, corr=0.15)
t = trefler_test(hov["F_pred"], F_actual)
print(f"符号一致率: {t['sign']:.1%}")
print(f"缺失贸易比: {t['missing']:.2%}")
# 加入技术差异修正
A_L = np.array([1.0, 0.8, 0.6, 0.5, 0.4, 0.3])
V_eff = world["V"].copy()
V_eff[:, 1] *= A_L
wtech = dict(world); wtech["V"] = V_eff
wtech["Vw"] = V_eff.sum(axis=0)
hov_tech = solve_hov_FPE(wtech)
F_act2 = trefler_missing_trade(wtech, hov_tech, corr=0.5)
t2 = trefler_test(hov_tech["F_pred"], F_act2)
print(f"修正后符号一致率: {t2['sign']:.1%}, 缺失贸易比: {t2['missing']:.2%}")
# 反事实:国家 0 资本 ×2(Rybczynski)
hov2, _ = counterfactual_capital_accumulation(world, country=0, capital_mult=2.0)
print("基准 F[0]:", np.round(hov["F_pred"][0], 2))
print("反事实 F[0]:", np.round(hov2["F_pred"][0], 2))
运行上述代码实际输出:HOV 预测要素含量矩阵 $F_{ik}$ 符号与禀赋一致;标准模型下符号一致率 88.9%、缺失贸易比 15.2%、相关系数 0.955;加入技术差异修正后符号一致率升至 94.4%;国家 0 资本翻倍后其资本净出口从 0.20 升至 1.03(Rybczynski 方向正确)。
07 Trefler (1995) 缺失贸易检验
Trefler (1995, AER) 用 33 国、9 要素的数据检验 HOV,发现三个著名事实:
- 符号一致率仅 ~60%:HOV 预测净出口方向对的概率只比抛硬币好一点;
- 缺失贸易(missing trade):实际要素含量 $|F^{actual}|$ 仅为预测 $|F^{pred}|$ 的 ~10%——贸易"比理论小一个数量级";
- home bias:各国倾向于消费本国产品,这相当于把贸易成本隐含进需求侧。
修正路径:(i) 技术差异 $A_{ik}$(Leontief 悖论的解);(ii) home bias $\lambda_i$(本国产品支出份额);(iii) 贸易成本 $\tau_{ij}$(冰山成本使要素含量打折)。把这些加入后,Trefler 发现符号一致率升至 90%+,但缺失贸易比仍小于 1——这为 EK、melitz 等"贸易被距离/异质性压缩"的新模型留下了空间。
08 估计与数据
| 数据 | 来源 | 用途 |
|---|---|---|
| 资本存量 $K_i$ | Penn World Table v10(永续盘存法) | 禀赋 $V_{iK}$ |
| 劳动 $L_i$ | PWT 就业人数;Barro-Lee 人力资本指数 | 禀赋 $V_{iL}$ + 效率 $A_{iL}$ |
| 土地 $T_i$ | FAOSTAT 农业用地 | 禀赋 $V_{iT}$ |
| 要素密集度 $a_{jk}$ | WIOD / OECD ICIO 投入产出表;中国工业企业数据 | 技术矩阵 $A$ |
| 贸易流 $T_{ij}$ | CEPII BACI(6 位 HS 商品流) | 实际要素含量计算 |
| 技术差异 $A_{ij}$ | PWT TFP;WIOD 多要素生产率 | FPE 修正 |
| 支出份额 $s_i$ | PWT / World Bank WDI GDP(PPP) | HOV 恒等式 |
实操提醒:(i) 要素密集度必须用生产国技术,不能用美国技术(Leontief 1953 的错误);(ii) 中国数据可用国家统计局投入产出表(每 5 年一次)+ 海关 HS 商品流;(iii) 人力资本要把教育年限折算成效率单位(Mincer 工资回归);(iv) 资本存量必须用永续盘存法,不能直接用固定资产投资流量。
09 福利与反事实
9.1 Rybczynski 定理:要素禀赋变化
某国资本积累翻倍($K_i\to 2K_i$),在产品价格不变下,该国生产的资本密集型部门扩张、劳动密集型部门收缩(Rybczynski 定理)。HOV 框架下:$F_{iK}$ 从 0.20 升至 1.03(实跑结果),该国从"资本净出口小国"变为"资本净出口大国"。这对应中国 1990–2020 年资本快速积累后从劳动密集型出口向资本/技术密集型出口转型的过程。
9.2 Stolper-Samuelson 定理:贸易自由化的分配效应
某一商品相对价格上升(如关税下降使进口品变便宜),会使该商品密集使用的要素实际报酬上升、另一要素下降。对中国:贸易开放→劳动密集型产品价格↑→劳动工资↑、资本租金↓(短期);长期资本积累后该效应反转。这是 HOV 框架下"贸易收益分配"的核心机制——总福利上升,但要素间分配不均。
9.3 反事实:贸易自由化
把贸易成本 $\tau_{ij}$ 从 1.5 降至 1.0(自由贸易),home bias 减弱,实际要素含量 $F^{actual}$ 向 $F^{pred}$ 靠拢(缺失贸易比上升)。总福利 $\hat U>1$,但要素所有者获益不同:资本充裕国的资本所有者获益、劳动受损(Stolper-Samuelson)。
10 论文案例与常见错误
难度与前置
| 维度 | 要求 |
|---|---|
| 数学 | 矩阵代数、Shephard 引理、CD 生产函数、要素密集度 |
| 计量 | 面板回归、符号检验、相关系数;结构估计(见结构估计 02 GMM) |
| 编程 | numpy 矩阵乘法;无需不动点迭代 |
| 前置阅读 | 国际贸易理论(HO 模型)→ 投入产出表 → 本页 → 02 EK(技术差异版 HO)→ 12 Caliendo-Parro(多部门量化) |
| 工作量估计 | 本页 Python 求解器 ≈ 半天;用 WIOD 真实数据复现 Trefler 检验 ≈ 2–4 周 |
| 常见坑 | 见下方 5 条;最坑的是用美国技术矩阵算所有国家的要素含量 |
常见错误(5 条)
Leontief (1953) 悖论的根源就是用美国技术算所有国家。各国 $a_{jk}$ 因要素价格不同而不同,必须用生产国自己的投入产出表。
HOV 不是 $F_{ik}=V_{ik}$,而是 $F_{ik}=V_{ik}-s_i V^W_k$。不减去消费份额,符号检验全错。
FPE 是理论基准,现实不成立。直接用标准 HOV 会得到"缺失贸易"。必须加技术差异 $A_{ik}$ 修正。
HOV 预测的是要素含量($F_{ik}$),不是商品贸易量。中国净出口纺织≠中国净出口资本——纺织是劳动密集型。
$V_{iK}$ 是资本存量(永续盘存法累计),不是当年固定资产投资。用流量会严重低估资本禀赋。
进阶资料
- Leamer (1984), Sources of International Comparative Advantage, MIT Press —— HOV 早期实证。
- Helpman (1999), "The Structure of Foreign Trade", JEP。
- 交叉链接:02 Eaton-Kortum(技术差异版 HO)、12 Caliendo-Parro(多部门量化贸易)。
∑ 方程总清单 · Equation Summary
本模型共 11 个核心方程,按推导顺序编号如下。
| 编号 | 名称 | 公式 | 所在节 |
|---|---|---|---|
| (HOV1) | 部门生产函数 | $Y_{ij}=A_{ij}K_{ij}^{\alpha_j}L_{ij}^{\beta_j}T_{ij}^{\gamma_j}$ | 02 |
| (HOV2) | 要素投入系数 | $a_{jk}=\partial c_j/\partial w_{ik}$ | 02 |
| (HOV3) | 要素市场出清 | $A'Y_i=V_i$ | 02 |
| (HOV4) | 支出份额 | $s_i=Y_i/Y^W$ | 03 |
| (HOV5) | 消费要素含量 | $\sum_j a_{jk}C_{ij}=s_i V^W_k$ | 03 |
| (HOV6) | ★★ HOV 定理 | $F_{ik}=V_{ik}-s_i V^W_k$ | 03 |
| (HOV7) | FPE 条件 | $w_{ik}=w_k\;\forall i$ | 04 |
| (HOV8) | 技术差异修正 | $V^{eff}_{ik}=A_{ik}V_{ik}$ | 04 |
| (HOV9) | ★ 缺失贸易比 | $\sum|F^{act}|/\sum|F^{pred}|\approx 0.1$ | 07 |
| (HOV10) | Rybczynski | 资本↑ → 资本密集部门扩张 | 09 |
| (HOV11) | Stolper-Samuelson | 价格↑ → 密集要素实际报酬↑ | 09 |