International Macroeconomics & FX
Dornbusch Exchange-Rate Overshooting Model Formula
Calculate impact FX depreciation Delta_e0 = Delta_m * (1 + 1 / (lambda * theta)), overshoot ratio, liquidity interest-rate drop, and exponential convergence path.
Explain why spot FX jumps BEYOND its long-run PPP level after a monetary shock
In Rudiger Dornbusch’s (1976) sticky-price monetary model, a permanent money-supply expansion Delta_m raises long-run goods prices and long-run log spot FX rate one-for-one (Delta_e_bar = Delta_m). On impact (t = 0), however, goods prices are sticky (Delta_p0 = 0), so money-market clearing forces the domestic nominal interest rate down by Delta_i0 = -Delta_m / lambda_semi (where lambda_semi > 0 is the interest semi-elasticity of money demand). For Uncovered Interest Parity to hold while domestic rates sit below foreign rates, investors must expect future domestic currency APPRECIATION at speed theta_adj * (e_0 - e_bar) — forcing spot FX to overshoot immediately to Delta_e0 = Delta_m * (1 + 1 / (lambda_semi * theta_adj))!
Verify on a 5% permanent monetary expansion Delta_m = 0.05 (B2) with money-demand semi-elasticity lambda_semi = 4.0 (B3), goods-price adjustment speed theta_adj = 0.50 / yr (B4), and horizon t = 2 years (B5): overshoot multiplier is 1 + 1 / (4 * 0.5) = 1.5000, impact FX depreciation jumps +7.50% (Delta_e0 = 0.0750 vs 0.0500 long-run!), domestic interest rate drops -125 bps (Delta_i0 = -0.0125), and after t = 2 years spot depreciation decays along Delta_e(t) = Delta_m + (Delta_e0 - Delta_m) * EXP(-theta_adj * t) to 0.05 + 0.025 * EXP(-1) = 0.0592!
| Dornbusch FX Metric (dm=0.05, lam=4, theta=0.5) | Formula | Verified Output |
|---|---|---|
| Overshoot Multiplier | 1 + 1 / (lambda_semi * theta_adj) | 1.5000x |
| Impact Spot Depreciation (Delta_e0) | Delta_m * (1 + 1 / (lambda * theta)) | 0.0750 (+7.50%) |
| Impact Rate Drop (Delta_i0) | -Delta_m / lambda_semi | -0.0125 (-125 bps) |
| Depreciation at t = 2 Years | Delta_m + (Delta_e0 - Delta_m)*EXP(-theta*t) | 0.0592 (+5.92%) |
Dornbusch Impact FX Overshoot Delta_e0 Formula
Validate lambda_semi > 0 and price adjustment speed theta_adj > 0 (notice as theta_adj -> infinity, flexible prices eliminate overshooting and Delta_e0 -> Delta_m).
=LET(dm_sh, B2, lam_m, B3, th_ad, B4, IF(OR(lam_m <= 0, th_ad <= 0), "Invalid Overshoot Input", ROUND(dm_sh * (1 + 1 / (lam_m * th_ad)), 4)))Saddle-Path Spot Exchange-Rate Trajectory Delta_e(t) Formula
Track exponential appreciation from impact peak Delta_e0 toward long-run neutrality Delta_m across any horizon t >= 0.
=LET(dm_sh, B2, lam_m, B3, th_ad, B4, t_yr, B5, IF(OR(lam_m <= 0, th_ad <= 0, t_yr < 0), "Invalid Overshoot Input", LET(ov_ex, dm_sh / (lam_m * th_ad), ROUND(dm_sh + ov_ex * EXP(-th_ad * t_yr), 4))))Try the example
Use the original values or change them to test your understanding.