Mathematical Derivations
Climate-Extended Vasicek Model
Incorporating physical climate risks into credit portfolio loss distributions. Based on BIS Working Paper No. 1274.
1. Introduction
The classic Vasicek (1987, 2002) model provides a closed-form solution for credit portfolio losses under the assumption of a single systematic risk factor. The climate extension introduces a second source of systematic risk: physical climate events that can simultaneously damage borrower assets and increase default probabilities.
The key insight is that climate risk operates through two channels:
- Default channel: Climate events increase the probability of default by damaging borrower assets
- Recovery channel: Climate events reduce collateral values, increasing loss given default
2. The Classic Vasicek Model
2.1 Asset Value Process
Each borrower has asset value that follows a standard factor model. The normalized log-return is:
where is the systematic factor common to all borrowers, is the idiosyncratic factor specific to borrower , and is the asset correlation.
2.2 Default Condition
Default occurs when the asset value falls below a threshold :
where is the unconditional probability of default and is the inverse standard normal CDF.
2.3 Conditional Default Probability
Conditional on the systematic factor (where represents adverse conditions), the default probability becomes:
3. The Climate Extension
3.1 The q-Deformed Normal Distribution
Climate risk is modeled as a discrete event occurring with probability . When the event occurs, borrower assets suffer a log-reduction of . This leads to a mixture distribution:
where is the normalized damage parameter (damage divided by asset volatility).
This “q-deformed” normal is a mixture of the standard normal (no climate event) and a left-shifted normal (climate event occurred).
3.2 Self-Consistency Condition
The baseline default threshold and the climate-adjusted PD must satisfy a self-consistency condition:
Equivalently, the observed (climate-inclusive) PD relates to the baseline PD by:
3.3 Climate-Adjusted Conditional PD
The conditional default probability with climate risk is:
This is a mixture of two Vasicek-type expressions: one for the no-climate scenario and one shifted for the climate event scenario.
4. Climate-Adjusted Loss Given Default
Climate events also damage collateral values, increasing LGD. If the baseline LGD is and the climate event reduces asset values by factor , the climate-adjusted LGD is:
Intuition: The borrower loses fraction of their asset value. This loss comes out of the recovery portion , directly adding to the loss.
5. Portfolio Loss Distribution
5.1 Loss CDF
For an infinitely granular portfolio (ASRF assumption), the loss distribution CDF is:
where:
5.2 Value at Risk
The VaR at confidence level is found by inverting the CDF:
This requires numerical root-finding (bisection) since the climate-extended CDF has no closed-form inverse.
6. Risk-Weighted Assets and Basel Comparison
6.1 Model-Based RWA
The unexpected loss (capital requirement) under the climate-extended model is:
The term in parentheses is the climate multiplier:
6.2 Basel IRB Formula
The standard Basel IRB capital requirement uses the classic Vasicek formula:
where is the maturity adjustment and is the effective maturity.
6.3 Climate Gap
The climate gap measures how much climate risk is underestimated by Basel:
7. Numerical Implementation
The following algorithms are used in the dashboard:
7.1 Inverse q-Deformed CDF
Bisection method on with tolerance :
function qDeformedInvCDF(p, q, α):
low, high = -10, 10
for i in 1..100:
mid = (low + high) / 2
val = (1-q)·Φ(mid) + q·Φ(mid + α)
if |val - p| < 1e-12: return mid
if val < p: low = mid
else: high = mid
return (low + high) / 27.2 Self-Consistency Solver
Given , , and , solve for :
function calculateAlphaHat(PD0, PD, q):
C* = Φ⁻¹(PD0)
low, high = 0, 5
for i in 1..100:
mid = (low + high) / 2
pdCalc = (1-q)·Φ(C*) + q·Φ(C* + mid)
if |pdCalc - PD| < 1e-12: return mid
if pdCalc < PD: low = mid
else: high = mid
return (low + high) / 27.3 Monte Carlo for Heterogeneous Portfolios
For portfolios with multiple segments having different climate sensitivities:
for each simulation:
S ~ N(0,1) // systematic factor
for each segment k:
climate_event = (random() < q_k)
for each loan i in segment k:
ε_i ~ N(0,1)
V_i = √ρ_k·S + √(1-ρ_k)·ε_i
threshold = Φ⁻¹(PD0_k) + (α̂_k if climate_event)
if V_i < threshold:
LGD = LGD1_k if climate_event else LGD0_k
loss += exposure_i · LGD