1# F5-conf-01 — Competitive equilibrium of a 2×2 Cobb–Douglas exchange economy23## Question4Find the Walrasian equilibrium relative price p = p1/p2 (good 2 numeraire, p2 = 1) and the allocation for agents A and B with u_i = α_i ln x1 + (1−α_i) ln x2. Then verify market clearing and Walras' law, and check the closed-form price against a separate numerical root-finder.56## Data and exclusions7- `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 (`alpha_A`, `alpha_B`).8- No rows were excluded (`out/exclusions.csv`); `n_analysed` = 2 agents.9- **Data issue (`data_issues`):** the summary sheet gives `aggregate_endowment_good1_recorded` = 14, but the per-agent endowments add up to 12. For good 2 the two sources agree (10). The task calls the per-agent endowments the primary data, so market clearing uses `aggregate_endowment_good1` = 12 and `aggregate_endowment_good2` = 10. The value of 14 cannot be used consistently: each agent's wealth comes from their own endowment, so clearing against 14 would break Walras' law by p·(−2).1011## Method12- Demands: x1_i = α_i·w_i/p and x2_i = (1−α_i)·w_i, where w_i = p·e1_i + e2_i.13- Closed form: setting z1(p) = Σ x1_i − Σ e1_i = 0 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.14- Assumptions: α_i ∈ (0,1) and all endowments are strictly positive. These make every demand interior and every wealth positive, so the equilibrium exists and is unique. The price normalisation is p2 = 1.15- Numerical validation: Brent's method (`scipy.optimize.brentq`) finds the root of the aggregate excess demand z1(p) directly on [1e-6, 1e6]. It does not evaluate the closed-form expression. There is a sign change at the bracket ends, and z1 is strictly decreasing in p, so the root is unique.16- No randomness is used (`random_seed` = null).1718## Results19- Equilibrium price: `price_ratio_p1_over_p2` = 0.875 (stored as 0.8749999999999999).20- Numerical root: `price_ratio_numerical` = 0.875. The absolute difference from the closed form is 1.1e-16 (`price_abs_diff_closed_vs_numerical`).21- Allocation:22 - Agent A: `x1_A` = 4.1143 (= 144/35), `x2_A` = 5.4.23 - Agent B: `x1_B` = 7.8857 (= 276/35), `x2_B` = 4.6.24- Market clearing holds: `excess_demand_good1` = 0.0 and `excess_demand_good2` = 0.0.25- Walras' law holds: `walras_law_residual` = 0.0 at equilibrium. Away from equilibrium the residual stays within floating-point error, with a maximum of 7.1e-15 over p ∈ [0.1, 10] (`walras_law_residual_offeq_max_abs`).26- Feasibility: `feasibility` = "complete".2728## Uncertainty29This is a deterministic theoretical calculation, so there is no sampling uncertainty. The only numerical error is floating-point rounding, of order 1e-16 (`price_abs_diff_closed_vs_numerical`, `walras_law_residual_offeq_max_abs`).3031The main source of uncertainty is in the inputs: which aggregate endowment of good 1 is correct. If the per-agent endowments were wrong and the true total were 14, the equilibrium would be different. The data cannot tell us how the extra 2 units would be split between the agents.3233## Limitations and open issues34- The good-1 total in the summary sheet (14) contradicts the per-agent data (12). I resolved this in favour of the primary per-agent data, but the conflict is unresolved at its source.35- The closed form only holds for interior Cobb–Douglas solutions. Corner cases (α_i ∈ {0,1} or zero endowments) are outside its scope; the script checks for them and would stop if they occurred.36- The numerical check confirms the price for this one parameter set only. It does not test other parameter sets, and it does not test uniqueness beyond the monotonicity of z1.37