# F5-conf-01 — Competitive equilibrium, 2×2 Cobb–Douglas exchange economy ## Question What are the Walrasian equilibrium price p = p1/p2 (good 2 is the numeraire, p2 = 1) and the equilibrium allocation for agents A and B? Two checks are also required: (1) good 1's market clears and Walras' law holds; (2) the closed-form price matches an independent numerical root of the excess-demand function. ## Data and exclusions - `endowments.csv` (2 rows): A = (8, 2), B = (4, 8). Every endowment is strictly positive. - `parameters.csv` (4 rows): α_A = 0.4 and α_B = 0.6, both inside (0,1). The file also gives a summary-sheet aggregate endowment of 14 for good 1 and 10 for good 2. - **Data issue.** The sheet's aggregate for good 1 (14) does not equal the sum of the individual endowments (8 + 4 = 12). Good 2 is consistent (2 + 8 = 10). In a pure exchange economy the aggregate endowment is by definition the sum of what the agents own, so I used **12**. I treat the sheet value as a transcription error. If 14 were used, 2 units of good 1 would belong to no one. Those units would enter no budget, so excess demand could not satisfy Walras' law. Checking against the sheet value at the equilibrium price gives z1 = −2. Solving z1 = 0 against 14 would give p = 2/3, but good 2's market would then not clear. No rows were excluded. ## Method - Demands at prices (p, 1): x1_i = α_i(p e1_i + e2_i)/p and x2_i = (1−α_i)(p e1_i + e2_i). - Setting Σ_i x1_i = E1 gives p · Σ_i α_i e1_i + Σ_i α_i e2_i = p · E1. Solving for p gives the closed form **p = Σ_i α_i e2_i / Σ_i (1−α_i) e1_i** = (0.4·2 + 0.6·8)/(0.6·8 + 0.4·4) = 5.6/6.4. - Assumptions behind the closed form: - Interior solution: Cobb–Douglas with α in (0,1) and positive wealth guarantees it. - Strictly positive endowments, so wealth is positive at every p > 0. - Price normalisation p2 = 1, so only relative prices are determined. - Price-taking behaviour. - With Cobb–Douglas preferences, aggregate excess demand has the gross-substitutes property, so the equilibrium is unique. - Numerical validation: - I used Brent's method (`scipy.optimize.brentq`) on the aggregate excess demand for good 1, z1(p), over the bracket [1e-6, 1e6] with xtol = 1e-14. It uses only the demand functions, not the closed-form expression. - Scope: this checks the algebra of the closed form for these parameters only. It is not an independent check of the model's assumptions or of the data. - Walras' law: I evaluated p·z1 + z2 at the equilibrium and also on a grid of 41 prices in [0.01, 100]. ## Results | quantity | value | |---|---| | p1/p2 (closed form) | 0.875 | | p1/p2 (numerical root) | 0.875 (difference 1.1e-16) | | x1_A, x2_A | 4.1143 (= 144/35), 5.4 | | x1_B, x2_B | 7.8857 (= 276/35), 4.6 | | z1 at p | 0.0 | | z2 at p | 0.0 | | Walras residual p·z1 + z2 at p | 0.0 | | max \|Walras residual\| over grid | 5.7e-14 (floating-point rounding) | The allocation is feasible: 4.1143 + 7.8857 = 12 and 5.4 + 4.6 = 10. Agent A sells good 1 and buys good 2; agent B does the opposite. ## Uncertainty This is a deterministic theoretical exercise with no sampling, so no standard errors apply and no random seed is used. The only numerical error is floating-point rounding, about 1e-16 to 1e-14. The one substantive uncertainty is which aggregate for good 1 is correct, discussed above. ## Limitations and open issues - The results depend on resolving the 12-versus-14 inconsistency in favour of the individual endowments. If the individual endowments are the ones in error (for example, an agent really owns 2 more units of good 1), the equilibrium would change, and which agent holds the extra units would matter. - The numerical check confirms the closed form for this parameter set only. - The model assumes price-taking behaviour in a two-agent economy, which is a stylised assumption.