Skip to content

Repository files navigation

关税与航路实验室

English

一个可直接在浏览器运行的国际贸易机制实验室。项目把关税、到岸成本、贸易转移、港口拥堵和福利分配放进同一套局部均衡模型,并将结果绘制在 Natural Earth 真实国界、真实港口坐标与代表性海运通道上。

在线体验:https://seanwong17.github.io/tariff-route-lab/

关税与航路实验室预览

功能

  • 北美、欧洲、东亚三大区域市场和粮食、机械两类商品的多边贸易
  • Natural Earth 1:110m 的 177 个真实国家与地区边界
  • 洛杉矶/长滩、鹿特丹、上海真实港口坐标
  • 跨太平洋、巴拿马—大西洋、苏伊士—马六甲三条代表性海运通道
  • 基于供需曲线、到岸价格和来源替代的市场出清
  • 双边关税、全球运价、港口能力、生产率和需求强度可调
  • 动态贸易地图展示双向航线、货运粒子、商品结构和港口利用率
  • 消费者剩余、生产者剩余、关税收入和国家福利账户
  • 贸易余额、进口依存度、贸易条件和来源集中度 HHI
  • 国内供需图展示生产者价格、复合消费价格与净进口缺口
  • 0%–60% 关税扫描,比较进口国局部最优与全球福利
  • 基准贸易、自由贸易区、关税摩擦、港口中断和粮食冲击情景
  • 政策过渡动画、政策前后对照和贸易转移图层
  • 中英文界面、响应式布局、固定随机种子和离线中文字库

快速开始

直接在浏览器打开 index.html,不需要安装依赖或启动后端。

固定随机种子可以复现同一组货运动画:

index.html?seed=20260718

英文界面也可以通过 URL 指定:

index.html?lang=en&seed=20260718

经济模型

供给与需求

每个区域市场、每种商品都有独立的线性供给与需求:

Q_s = beta * (p - c_min)
Q_d = a - b * P

生产率冲击会同时改变最低生产成本与供给斜率,需求冲击改变需求曲线截距。

到岸价格与来源替代

进口国 i 从出口国 j 采购商品 g 的到岸价格为:

P_ijg = p_jg * (1 + tariff_ijg) + freight_ijg + port_surcharge_i + port_surcharge_j

采购份额采用与到岸价格一致的离散选择/Armington 式替代。更便宜的来源获得更高份额,但贸易不会因很小的价格差突然全部切换。

市场出清与港口拥堵

求解器通过价格试探调整,使每个出口市场的供给量等于各进口国采购量之和。跨境吞吐量同时占用起运港和目的港能力;当利用率上升时,延误与附加成本以非线性方式增加,并反馈到贸易选择。

福利与贸易账户

每个区域市场的模型福利定义为:

福利 = 消费者剩余 + 生产者剩余 + 关税收入

贸易余额按边境生产者价格计价。贸易条件为平均出口价格与平均进口价格之比;来源集中度使用进口来源份额的 HHI。

内置情景

情景 政策或冲击 主要观察点
基准贸易 粮食 8%、机械 6% 的基准关税 当前贸易结构与福利账户
自由贸易区 三国之间关税降为零 贸易创造、消费价格和全球福利
关税摩擦 北美与欧洲相互征收 45% 关税 贸易收缩、贸易转移与福利损失
港口中断 东亚代表港能力降至 36%,运价上升 港口拥堵如何成为内生贸易成本
粮食冲击 北美粮食生产率下降,东亚需求上升 世界粮价、进口依赖与供给冲击传播

质量检查

应用运行时不依赖第三方包,核心模型检查使用 Node.js 标准库:

node tests/release-check.js

完整验证还包含 Chromium 中的中英文响应式布局、Canvas、键盘导航、异步关税扫描和动画生命周期检查:

npm ci
npx playwright install chromium
npm run verify

检查覆盖 Natural Earth 边界完整性、真实航距范围、固定随机种子、市场出清、贸易账户恒等式、进口来源 HHI、商品级贸易转移、情景参数合同、政策过渡派生值、关税扫描、双语键完整性、浏览器交互和发布资源。

模型边界

  • 这是局部均衡机制实验,不是现实国家预测或政策建议。
  • 商品来源存在偏好差异,但没有建模企业异质性、固定贸易成本或规模经济。
  • 没有资本流动、汇率、政府预算再分配和跨期储蓄。
  • 国界、港口位置与航路节点来自真实地理;供需、关税和福利数值均为教学校准,不代表对应区域的现实统计。
  • “局部最优关税”来自模型中的进口国市场力量,不代表合作均衡或全球最优。

目录结构

  • index.html:应用入口与可访问的界面结构
  • src/trade.config.js:经济体、商品、情景和固定随机种子
  • src/world.data.js:压缩后的 Natural Earth 1:110m 国界数据
  • src/trade.economy.js:供需、来源选择、市场出清和港口拥堵
  • src/trade.analytics.js:福利、贸易账户、HHI 与关税扫描
  • src/trade.simulation.js:政策过渡动画、货运动画和时间序列状态
  • src/trade.render.js:贸易地图与四类经济图表
  • src/trade.i18n.js:中英文文案和数值格式
  • src/trade.css:工作台布局、控件和响应式样式
  • src/NotoSansSC-TradeLab.ttf:仅包含应用所需字形的 Noto Sans SC 子集
  • tests/release-check.js:模型与发布回归检查
  • tests/browser-check.js:Chromium 交互、响应式与渲染回归检查
  • scripts/build-world-data.js:从 Natural Earth GeoJSON 重建离线地图数据

第三方资源

界面使用 Natural Earth 国界数据、Lucide 图标路径,并打包了 Noto Sans SC 字体子集。许可信息见 THIRD_PARTY_NOTICES.mdOFL.txt

致谢

本项目在设计、开发、测试和发布整理过程中使用了 AI 工具协作。

开源协议

项目代码采用 MIT License。第三方字体和图标遵循各自许可证。

About

关税与航路实验室:模拟关税、贸易转移、港口冲击与福利变化的交互式国际贸易政策沙盘 | Interactive trade-policy lab for simulating tariffs, trade diversion, port disruptions, and welfare effects.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages