【免费下载链接】awesome-econ-ai-stuff
AI Skills for Economists
awesome-econ-ai-stuff 是面向经济学家的 AI 技能库(AI Skills for Economists),其中的 general-equilibrium-model-builder 技能可以帮你在 Julia 中快速构建并数值求解 Walrasian 一般均衡(GE)模型,还能自动完成比较静态分析。本文以 2×2 纯交换经济体为例,带你从零走完「定义经济体 → 求解均衡价格 → 验证市场出清 → 禀赋冲击实验」的完整实战流程 📊
📦 快速安装:3 步搭建 Julia 均衡求解环境
1. 克隆仓库并安装技能
git clone https://gitcode.com/gh_mirrors/aw/awesome-econ-ai-stuff
cd awesome-econ-ai-stuff
# 以 Claude Code 为例,把技能复制到工具目录
mkdir -p ~/.claude/skills
cp -r _skills/theory/general-equilibrium-model-builder ~/.claude/skills/
技能的完整说明位于 SKILL.md,遵循开放的 SKILL.md 标准,同时兼容 Cursor、Codex、Gemini CLI 等 AI 编码工具(完整兼容列表见 README.md)。
2. 安装 Julia 与求解依赖
要求 Julia 1.9+,在 REPL 中执行:
using Pkg
Pkg.add(["NLsolve", "LinearAlgebra", "Plots", "ForwardDiff"])
| 包 | 用途 |
|---|---|
NLsolve | 非线性方程求解器,求解超额需求 z(p) = 0 |
LinearAlgebra | 向量 / 矩阵运算 |
Plots | 可视化(如 Edgeworth 盒子图) |
ForwardDiff | 自动微分,计算 Jacobian |
🧩 构建 2×2 纯交换经济体:偏好、禀赋与经济结构
纯交换经济体由每位消费者的「效用函数 + 初始禀赋」共同刻画。技能生成模型前,会先向你确认 5 个关键信息:商品数、消费者数、偏好类型、禀赋向量、输出形式(见 SKILL.md 第 1 步)。
本文的示例经济体设定如下:
| 消费者 | 效用函数(Cobb-Douglas) | 初始禀赋 ω |
|---|---|---|
| 消费者 1 | u(x,y) = x^0.6 · y^0.4 | (4, 1) |
| 消费者 2 | u(x,y) = x^0.3 · y^0.7 | (1, 4) |
经济学逻辑很直白:给定价格 p,每位消费者在预算约束下求解效用最大化 $\max u(x)$ s.t. $p \cdot x \leq p \cdot \omega$,解出 Marshallian 需求;再把所有人的「需求 − 禀赋」加总,得到超额需求函数 $z(p)$。Walrasian 均衡就是令 $z(p^*) = 0$ 的价格与配置组合(定义见 SKILL.md 第 3 步)。
用 PureExchangeEconomy 结构体,只需 8 行代码就能把整个经济体「装」进模型(完整骨架见 SKILL.md 代码段):
economy = PureExchangeEconomy(
2, # 2 种商品
2, # 2 位消费者
[4.0 1.0; 1.0 4.0], # 禀赋矩阵
[[0.6, 0.4], [0.3, 0.7]], # Cobb-Douglas 参数
:cobb_douglas
)
🎯 用 Julia 求解 Walrasian 均衡价格:归一化与超额需求
求解器的数值策略只有 4 步(见 SKILL.md 数值求解策略):
- 价格归一化:价格只确定到标量倍数,令 p₁ = 1 作为计价物
- 降维:由 Walras 法则 $p \cdot z(p) = 0$,只需解 $z_2(p) = 0$
- 牛顿法迭代:
nlsolve+ 前向自动微分求 Jacobian - 价格为正:采用对数价格参数化,保证迭代过程中不越界
核心入口只有两个函数(实现见 solve_equilibrium):
p_star = solve_equilibrium(economy) # 求解均衡价格
x_star = equilibrium_allocations(p_star, economy) # 计算均衡配置
✅ 验证三步法:市场出清、Walras 法则与帕累托效率
数值解不能只看「收敛」二字,三步验证全部内置(最佳实践见 SKILL.md 第 370 行起):
| 检查项 | 做法 | 判定标准 |
|---|---|---|
| 市场出清 | 比较总配置 Σx* 与总禀赋 | isapprox 返回 true |
| Walras 法则 | 数值计算 p*·z(p*) | 应 ≈ 0 |
| 帕累托效率 | 检查各消费者 MRS₁₂ 是否相等 | 相等即位于契约曲线 |
mrs = check_pareto_efficiency(x_star, economy) # 两个 MRS 应相等
运行 examples/pure_exchange_2x2.jl 后,控制台会依次打印均衡价格、两位消费者的均衡配置与福利变化,并以 ✓ / ✗ 标记市场出清、Walras 法则与 MRS 相等性,最后自动生成 Edgeworth 盒子图——同时展示禀赋点、均衡点、预算线与契约曲线(绘图逻辑见 plot_edgeworth_box)。
📈 比较静态分析:禀赋冲击如何改变均衡价格
examples/comparative_statics.jl 把「参数实验」做成了可复用函数:endowment_shock_analysis(第 102-161 行)在指定的冲击区间上批量重新求解均衡,记录价格比 p₂/p₁、配置与效应的变化,plot_comparative_statics(第 168-242 行)自动生成 2×2 布局的响应曲线图。脚本内置 3 组实验:
- 实验 1:增加消费者 1 的商品 1 禀赋 → 商品 1 相对更便宜,价格比 p₂/p₁ 上升,双方都向商品 1 替代
- 实验 2:增加消费者 2 的商品 2 禀赋 → 价格比 p₂/p₁ 下降,消费者 2 财富上升
- 实验 3:总禀赋不变的总赋转移 → 价格与福利分配同时改变,但每个均衡仍是帕累托有效
运行后脚本会输出一条「关键洞察」清单:
- 某商品供给增加 ⇒ 其相对价格下降
- 禀赋冲击同时影响价格与配置,二者不可分割
- 转移改变福利分配,但所有均衡都是帕累托有效的
- 一般均衡能捕捉局部均衡遗漏的溢出效应
⚠️ 新手常见陷阱与调优清单
技能文档总结了 5 个高频错误(见 SKILL.md Common Pitfalls):
- ❌ 忘记价格归一化——价格只确定到标量倍数
- ❌ 漏查角点解(某商品消费为零的情形)
- ❌ 忽略边界附近(p → 0)的数值精度问题
- ❌ 未验证唯一性就假设均衡唯一(多均衡是可能的)
- ❌ 混淆 Marshallian 需求与 Hicksian 需求
💡 求解器不收敛时的调优思路:换多个初始值 p0 重试,或收紧容差参数 tol=1e-10。
📚 延伸阅读:相关技能与文档
- README.md:全部技能目录总览与快速上手指南
- latex-econ-model:把模型写成论文级 LaTeX 表述
- econ-visualization:生成出版级图表
- CONTRIBUTING.md:如何向仓库贡献新技能
该技能的当前版本聚焦纯交换经济,官方路线图计划扩展到生产经济、Arrow-Debreu 不确定性模型、OLG 与 CGE 可计算一般均衡(见 SKILL.md Extensions),值得持续关注 🔭
【免费下载链接】awesome-econ-ai-stuff
AI Skills for Economists
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



