Arte SheetsLearn. Try. Understand.

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)FormulaVerified Output
Overshoot Multiplier1 + 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 YearsDelta_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.

Further reading