Arte SheetsLearn. Try. Understand.

Banking, Liquidity & Financial Stability

Diamond-Dybvig Bank-Run Threshold & Liquidity Formula

Solve the Diamond-Dybvig optimal risk-sharing deposit contract (c_1*, c_2*), liquid reserve share t * c_1*, and critical withdrawal fraction f_crit* triggering a rational bank run.

Show how socially optimal maturity transformation simultaneously creates bank-run fragility!

Douglas Diamond and Philip Dybvig (1983) explained why demand-deposit banks create welfare gains AND why uninsured banks suffer self-fulfilling runs: when share t_imp of depositors face an early liquidity shock at t = 1 while (1 - t_imp) wait until t = 2, and long-term loans yield R > 1 at t = 2 (scrap value 1 at t = 1), CRRA risk aversion gamma > 1 sets optimal payouts c_1* = R / (t_imp * R + (1 - t_imp) * R^(1 / gamma)) > 1 and c_2* = (R^(1 / gamma)) * c_1* < R! Yet because c_1* > 1, if total t = 1 withdrawals f exceed critical panic threshold f_crit* = (R - c_1*) / (c_1* * (R - 1)), surviving t = 2 assets pay LESS than c_1* — making it a dominant strategy for every patient depositor to run!

Verify with impatient share t_imp = 0.25 (B2), productive asset return R = 1.96 (B3), and CRRA gamma = 2.0 (B4 -> R^0.5 = 1.40): denominator 0.25 * 1.96 + 0.75 * 1.40 = 1.54 gives early payout c_1* = 1.96 / 1.54 = 1.2727 (> 1.00 autarky!), late payout c_2* = 1.40 * 1.2727 = 1.7818, liquid cash reserve L* = 0.25 * 1.2727 = 0.3182 (31.82%), and exact panic threshold f_crit* = (1.96 - 14/11) / ((14/11) * 0.96) = 7.56 / 13.44 = 0.5625 (if total t = 1 withdrawals exceed 56.25%, a rational run ensues!).

Diamond-Dybvig Metric (t_imp=0.25, R=1.96, gamma=2.0)FormulaVerified Output
Optimal Early Deposit Payout (c_1*)R / (t_imp*R + (1 - t_imp)*R^(1/gamma))1.2727 (> 1.00 Autarky)
Optimal Patient Payout (c_2*)R^(1 / gamma) * c_1*1.7818 (< 1.96 Long Asset)
Planned Liquid Cash Reserve (L*)t_imp * c_1*0.3182 (31.82% of Assets)
Critical Run Threshold (f_crit*)(R - c_1*) / (c_1* * (R - 1))0.5625 (56.25% Withdrawals)

Diamond-Dybvig Optimal Early Withdrawal Payout c_1* Formula

Enforce 0 < t_imp < 1, productive long return R > 1, and liquidity-insurance risk aversion gamma > 1 (when gamma <= 1, c_1* <= 1 so no liquidity insurance — and no run! — occurs).

=LET(t_im, B2, r_lg, B3, gam_c, B4, IF(OR(t_im <= 0, t_im >= 1, r_lg <= 1, gam_c <= 1), "Require 0 < t < 1, R > 1, gamma > 1", ROUND(r_lg / (t_im * r_lg + (1 - t_im) * POWER(r_lg, 1 / gam_c)), 4)))

Self-Fulfilling Bank-Run Critical Withdrawal Threshold f_crit* Formula

Evaluate (R - c_1*) / (c_1* * (R - 1)) using exact unrounded c_1* inside LET; suspension of convertibility at f = t_imp or credible deposit insurance eliminates the run equilibrium!

=LET(t_im, B2, r_lg, B3, gam_c, B4, IF(OR(t_im <= 0, t_im >= 1, r_lg <= 1, gam_c <= 1), "Require 0 < t < 1, R > 1, gamma > 1", LET(c_1s, r_lg / (t_im * r_lg + (1 - t_im) * POWER(r_lg, 1 / gam_c)), ROUND((r_lg - c_1s) / (c_1s * (r_lg - 1)), 4))))

Try the example

Use the original values or change them to test your understanding.

Further reading