Estimate Portfolio-Level LGD with Frye-Jacobs Function
The fryeJacobsLGD
function allows you to predict the conditional loss given default (LGD) as a function of the conditional probability of default (PD). You can use this function to incorporate LGD risk into your modeling scenarios by using it to estimate the portfolio-level LGD for various PD levels. In this example, you use the function to estimate the LGD during a year in which a portfolio experiences a stressed default rate.
Estimate Input Arguments
First, load the data, which represents the annual default rate and LGD rate for a portfolio of bank exposures.
load("AnnualCreditPortfolioData.mat")
disp(annualPortfolioData)
Year DefaultRate LGDRate ____ ___________ _______ 2010 0.048 0.58277 2011 0.02 0.5368 2012 0.01 0.51874 2013 0.038 0.52944 2014 0.039 0.63319 2015 0.012 0.45097 2016 0.05 0.61295 2017 0.044 0.56352 2018 0.018 0.47346 2019 0.015 0.53689
Visualize the portfolio data by making a scatter plot of the default rate and the LGD rate.
figure; scatter(100*annualPortfolioData.DefaultRate,100*annualPortfolioData.LGDRate); xlabel("Default Rate (%)"); xlim([0,6]); ylabel("LGD Rate (%)"); ylim([40,70]); title("Annual Portfolio Data");
The fryeJacobsLGD
function requires you to specify four required input arguments that include: ConditionalPD
, BaselinePD
, BaselineLGD
, and Correlation
.
ConditionalPD
is sometimes called the conditional default rate in the financial literature.BaselinePD
is sometimes called the probability of default in the financial literature. It is often regarded as a through-the-cycle or a priori PD.BaselineLGD
is sometimes called the expected LGD. It is often regarded as a through-the-cycle or a priori LGD.Correlation
is often regarded as in the financial literature. For information on estimatingCorrelation
, see Calculating Regulatory Capital with the ASRF Model.
Before you use the fryeJacobsLGD
function, you need to estimate the BaselinePD
, the BaselineLGD
, and the Correlation
input arguments.
For the BaselinePD
estimate, use the average annual default rate:
BaselinePDEstimate = mean(annualPortfolioData.DefaultRate); disp(BaselinePDEstimate)
0.0294
You can estimate the BaselineLGD
by
calculating the average annual LGD rate:
BaselineLGDAverage = mean(annualPortfolioData.LGDRate); disp(BaselineLGDAverage)
0.5439
Alternatively, you can calculate the average annual loss rate using the relation Loss Rate = Defalut Rate*LGD Rate
:
lossRate = annualPortfolioData.DefaultRate.*annualPortfolioData.LGDRate; disp(lossRate)
0.0280 0.0107 0.0052 0.0201 0.0247 0.0054 0.0306 0.0248 0.0085 0.0081
averageAnnualLossRate = mean(lossRate); disp(averageAnnualLossRate)
0.0166
BaselineLGDWeighted = averageAnnualLossRate/BaselinePDEstimate; disp(BaselineLGDWeighted)
0.5651
Note that this estimate is slightly higher than the first estimate, which reflects the fact that LGD tends to increase with default rate.
Finally, estimate the correlation by using the Basel formula as follows:
CorrelationEstimate = 0.12*(1-exp(-50*BaselinePDEstimate))/(1-exp(-50)) + ...
0.24*(1-(1-exp(-50*BaselinePDEstimate))/(1-exp(-50)));
disp(CorrelationEstimate)
0.1476
For details on using this formula, see Calculating Regulatory Capital with the ASRF Model. In addition to the Basel estimate, you can consider the values 0.12
and 0.24
for the correlation, which represent the extreme values according to the Basel formula.
CorrelationMin = 0.12; CorrelationMax = 0.24;
Effects of BaselineLGD and Correlation on LGD
Visualize how the BaselineLGD
and Correlation
affect the conditional LGD by considering all combinations of their estimates which results in a total of six LGD functions. Compare two at a time to see how changes to the BaselineLGD
and Correlation
estimates affect the LGD function:
BaselineLGD1 = BaselineLGDAverage; BaselineLGD2 = BaselineLGDWeighted; Correlation1 = CorrelationMin; Correlation2 = CorrelationEstimate; figure; scatter(100*annualPortfolioData.DefaultRate,100*annualPortfolioData.LGDRate,"DisplayName","Annual Portfolio Data"); xlabel("Default Rate (%)"); xlim([0,20]); ylabel("LGD Rate (%)"); ylim([40,70]); title("Annual Portfolio Data with LGD Functions"); hold on; ConditionalPD = linspace(1e-10,0.2,1000)'; ConditionalLGD1 = fryeJacobsLGD(ConditionalPD,BaselinePDEstimate,BaselineLGD1,Correlation1); plot(100*ConditionalPD,100*ConditionalLGD1,"DisplayName",sprintf("BaselineLGD=%.4f,Correlation=%.4f",BaselineLGD1,Correlation1)); ConditionalLGD2 = fryeJacobsLGD(ConditionalPD,BaselinePDEstimate,BaselineLGD2,Correlation2); plot(100*ConditionalPD,100*ConditionalLGD2,"DisplayName",sprintf("BaselineLGD=%.4f,Correlation=%.4f",BaselineLGD2,Correlation2)); legend("Location","best"); hold off;
These functions provide reasonable estimates for the LGD rate for different levels of observed default rates or conditional PD rates. For this portfolio, the largest annual default rate was 5%
in 2016.
Estimate LGD with Stressed Default Rate
Use the fryeJacobsLGD
function to estimate the conditional LGD with a stressed default rate. In this example, assume the default rate next year is 10%
and estimate the LGD. Choose combinations of the BaselineLGD
and Correlation
input arguments and visualize their effect on the LGD Rate.
ConditionalPD = 0.10; BaselineLGD = BaselineLGDWeighted; Correlation = CorrelationMax; estimatedLGD = fryeJacobsLGD(ConditionalPD,BaselinePDEstimate,BaselineLGD,Correlation); disp(estimatedLGD)
0.5980
figure; scatter(100*ConditionalPD,100*estimatedLGD,"DisplayName","Estimated LGD"); xlabel("Default Rate (%)"); xlim([0,20]); ylabel("LGD Rate (%)"); ylim([40,70]); title("Estimating LGD with LGD Function"); hold on; ConditionalPD = linspace(1e-10,0.2,1000)'; ConditionalLGD = fryeJacobsLGD(ConditionalPD,BaselinePDEstimate,BaselineLGD,Correlation); plot(100*ConditionalPD,100*ConditionalLGD,"DisplayName",sprintf("BaselineLGD=%.4f,Correlation=%.4f",BaselineLGD,Correlation)); legend("Location","best"); hold off;
References
[1] Frye, Jon, and Michael Jacobs. “Credit Loss and Systematic Loss given Default.” The Journal of Credit Risk 8, no. 1 (March 2012): 109–40.
[2] Frye, Jon. “The simple link from default to LGD.” Risk, London (March 2014): 60–65.