SPB Git

spb/wp29_uqo

Public

# F5-conf-01 — Competitive equilibrium of a two-agent, two-good exchange economy

# Question

Agents A and B have Cobb–Douglas utilities u_i = α_i ln x1 + (1−α_i) ln x2 and endowments (e1_i, e2_i). Good 2 is the numeraire (p2 = 1). We find the Walrasian equilibrium price p = p1/p2 and allocation. We check market clearing and Walras' law, and we validate the closed-form price by numerical root-finding.

# Data and exclusions

  • data/endowments.csv (2 rows; n_input_rows): A = (8, 2), B = (4, 8). data/parameters.csv (4 rows): α_A = 0.4, α_B = 0.6, and summary-sheet aggregates 14 (good 1) and 10 (good 2).
  • Data issue (data_issues): the summary sheet gives aggregate good-1 endowment 14, but the individual endowments add up to 8 + 4 = 12. The good-2 figure is consistent (10).
  • In an exchange economy the aggregate endowment is, by definition, the sum of the individual endowments, and the task names endowments.csv as the primary data. I therefore used 12 and 10 (aggregate_endowment_good1, aggregate_endowment_good2).
  • As a diagnostic only, I cleared good 1 against 14 instead. That gives p ≈ 0.6667 with good-2 excess demand ≈ −1.333 ≠ 0, so the economy has no consistent equilibrium. I treat the value 14 as a recording error. Both summary-sheet values are kept in aggregate_endowment_good1_summary_sheet and aggregate_endowment_good2_summary_sheet.
  • No rows were excluded (out/exclusions.csv). Both agents were analysed (n_analysed = 2).

# Method

  • Assumptions of the closed form:
    • α_i ∈ (0,1) and strictly positive endowments, so each agent's wealth w_i = p e1_i + e2_i is positive and demands are interior: x1_i = α_i w_i / p and x2_i = (1−α_i) w_i.
    • Price normalisation p2 = 1.
  • Closed form: market clearing for good 1, Σ α_i(p e1_i + e2_i) = p E1, gives p = Σ α_i e2_i / Σ (1−α_i) e1_i = (0.4·2 + 0.6·8)/(0.6·8 + 0.4·4) = 5.6/6.4. The good-2 market then clears by Walras' law.
  • Independent numerical validation: Brent's method (scipy.optimize.brentq) finds the root of the aggregate excess-demand function z1(p) = Σ x1_i(p) − E1 on the bracket [1e-9, 1e9], with tolerance 1e-15. It never evaluates the closed-form expression.
    • z1 is strictly decreasing in p here, so the root is unique.
    • Scope: this check validates the price for these parameters only. It is not a general proof.
  • No randomness is involved (random_seed = null).

# Results

quantity value key
p1/p2 (closed form) 0.875 price_ratio_p1_over_p2
p1/p2 (numerical root) 0.875 (abs. difference 2.2e-16) price_ratio_numerical, price_abs_diff_closed_vs_numerical
x1_A, x2_A 4.1143, 5.4 x1_A, x2_A
x1_B, x2_B 7.8857, 4.6 x1_B, x2_B
excess demand good 1 0.0 excess_demand_good1
excess demand good 2 0.0 excess_demand_good2
Walras residual p·z1 + z2 0.0 walras_law_residual

The allocation adds up to the aggregate endowment (12, 10). Each agent's budget constraint binds. Both agents' marginal rates of substitution equal p = 0.875 (out/state/checks.md), so the allocation is Pareto efficient. feasibility = "complete".

# Uncertainty

This is a deterministic theoretical calculation, so there is no sampling uncertainty. The only numerical error is floating-point error: the closed-form and numerical prices differ by about 2.2e-16 (price_abs_diff_closed_vs_numerical), and the residuals are 0 at double precision.

The main source of uncertainty in the result comes from the data, not the computation: which aggregate good-1 endowment is correct. If the individual endowments were wrong and 14 were the right total, the equilibrium would be different. That case cannot be resolved from the inputs.

# Limitations and open issues

  • The summary-sheet aggregate for good 1 (14) contradicts the individual endowments (12). I resolved this in favour of the primary individual data. If the true error is instead in an individual endowment (for example, if A or B actually holds 2 more units of good 1), the price and allocation would change. The inputs cannot tell these cases apart.
  • The closed form relies on interior Cobb–Douglas demands. It does not cover corner solutions, zero endowments or α ∈ {0, 1}.
  • The numerical validation covers this parameter set only.
Files · 152a55b8fa2830f50fa35e5aed99c0037f713345
Menu

Theme