Arte SheetsLearn. Try. Understand.

Banking, Credit Risk & Information Economics

Stiglitz-Weiss Credit Rationing Rate-Cap Formula

Calculate the Stiglitz-Weiss (1981) bank-optimal interest rate ceiling r_cap* = (R_S - u_0/p_S)/L - 1 and prove why raising loan rates above r_cap* slashes expected bank repayment.

Why rational banks ration credit instead of raising interest rates to clear excess loan demand!

Joseph Stiglitz and Andrew Weiss (1981) explained why credit markets do not clear by price like textbook commodity markets: raising the loan interest rate r triggers adverse selection! Suppose each borrower seeks principal L under limited liability with reservation payoff u_0 >= 0; fraction lambda_S of borrowers are Safe (success probability p_S, payoff R_S if successful) and fraction (1 - lambda_S) are Risky (lower success probability p_R < p_S, higher upside R_R > R_S). Safe borrowers remain in the pool ONLY while p_S * (R_S - L * (1 + r)) >= u_0, defining the exact Bank-Optimal Rate Ceiling r_cap* = ((R_S - u_0 / p_S) / L) - 1! Above r_cap*, Safe borrowers exit, leaving ONLY high-default Risky borrowers and causing expected bank repayment to PLUNGE discontinuously!

Verify on Loan_Principal_L = 100 (B2), Safe p_S = 0.90 (B3) & R_S = 160 (B4 -> social mean 144.00), Risky p_R = 0.50 (B5) & R_R = 240 (B6 -> social mean 120.00), Outside_Option_u0 = 18 (B7), Safe_Share_lambda = 0.60 (B8), and Quoted_Rate_r = 0.40 (B9): Safe dropout ceiling is D_cap = 160 - (18 / 0.90) = 140.00 -> r_cap* = 0.4000 (40.00%). At r = 40.00%, pooled repayment probability is 0.60*0.90 + 0.40*0.50 = 0.74, giving Peak Expected Bank Repayment 0.74 * 140 = 103.60 (+3.60 profit!). Now test raising Quoted_Rate_r to 0.50 (50%, D = 150 > 140): Safe borrowers exit, and Expected Bank Repayment collapses from 103.60 down to 0.50 * 150 = 75.00 (-25.00 loss!)!

Quoted Loan Rate RegimeActive Borrower PoolExpected Bank Repayment (Principal = 100)
Moderate Rate (r = 30%, D = 130)Both Safe + Risky (p_pool = 0.74)96.20
Stiglitz-Weiss Rate Cap (r_cap* = 40%, D = 140)Both Safe + Risky (Knife-Edge Peak)103.60 (Bank Optimum!)
Over-Priced Rate (r = 50%, D = 150)Risky ONLY (Safe Exit -> p = 0.50)75.00 (-28.60 Collapse!)

Stiglitz-Weiss Safe-Pool Interest Rate Ceiling r_cap* Formula

Validate 0 < p_R < p_S <= 1, R_R > R_S > 0, L > 0, u_0 >= 0, and 0 < lambda_S < 1.

=LET(l_pr, B2, p_sf, B3, r_sf, B4, p_rk, B5, r_rk, B6, u_op, B7, lm_s, B8, IF(OR(l_pr <= 0, p_rk <= 0, p_sf <= p_rk, p_sf > 1, r_sf <= 0, r_rk <= r_sf, u_op < 0, lm_s <= 0, lm_s >= 1), "Invalid Credit Pool Input", ROUND(((r_sf - (u_op / p_sf)) / l_pr) - 1, 4)))

Regime-Switching Expected Bank Repayment at Quoted Rate r Formula

Evaluate active participation on BOTH Safe and Risky segments at face repayment D = L * (1 + r) so credit committees see the exact cliff above r_cap*.

=LET(l_pr, B2, p_sf, B3, r_sf, B4, p_rk, B5, r_rk, B6, u_op, B7, lm_s, B8, r_qt, B9, IF(OR(l_pr <= 0, p_rk <= 0, p_sf <= p_rk, p_sf > 1, r_sf <= 0, r_rk <= r_sf, u_op < 0, lm_s <= 0, lm_s >= 1, r_qt < 0), "Invalid Credit Pool Input", LET(d_fc, l_pr * (1 + r_qt), sf_in, p_sf * (r_sf - d_fc) >= u_op, rk_in, p_rk * (r_rk - d_fc) >= u_op, IF(sf_in, ROUND((lm_s * p_sf + (1 - lm_s) * p_rk) * d_fc, 4), IF(rk_in, ROUND(p_rk * d_fc, 4), 0)))))

Try the example

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

Further reading