Credit risk | Vose Software

Credit risk

See also: Insurance and finance risk analysis modeling introduction, Credit ratings and Markov Chain models

Credit risk is the risk of loss due to a debtor's failure or partial failure to repay a loan or other credit instrument (bonds). We need three components to assess the credit risk of an individual obligor:

  1. Default probability

  2. Exposure distribution

  3. Loss given default as a fraction of the exposure

Components 2 and 3 can sometimes be replaced by a single distribution of loss give default.

This topic describes how to fit probability distributions to data which are used to estimate 2  and 3 above. We can also estimate the binomial probability needed for the probability of default. There are a number of methods we can use to determine the aggregate distribution.

Single portfolio example

The figure below shows a credit risk model for a single portfolio of independent, Lognormally distributed random individual loss distributions where there are 2 135 debtors each with the same 8.3% probability of default.

Example model Credit_risk_single_portfolio - modeling credit risk for a single portfolio

In this model the VoseAggregateMC function in Cell C11 is randomly sampling n Lognormal(55,12) distributions and summing them together, where n is itself a Binomial(2135, 8.3%) distribution. This is the 'brute force' Monte Carlo approach to summing random variables, but with the advantage that the simulation is all done within C++ (which is faster) and the final random sum returned back to Excel.

Since the model of the figure above is estimating a distribution of loss, the Value at Risk at the 95th confidence level is simply the 95th percentile of the output distribution, which is returned directly into the spreadsheet at Cell E11 at the end of a simulation. In this example, running 1 000 000 iterations produces a VaR of 10 943.62. We can take a different approach by constructing the aggregate distribution using Fast Fourier Transforms (using VoseAggregateFFT). Cell C13 generates random values from this distribution, whilst Cell E13 employs the U parameter to return the 95th percentile of the aggregate distribution directly without any simulation. The ModelRisk screen capture shown below shows this second use of the function.

The Aggregate FFT window - directly calculating a percentile of the aggregate distribution

In Cell G13 the formula:


calculates the integral to determine the Expected Shortfall:


where E13 is the defined threshold, x is the value of the aggregate loss distribution, f(x) is the density function for the aggregate loss distribution (determined by the function VoseAggregateFFTProb( ...) ), and 15 000 is a sufficiently large value to be used as a maximum for the integral, as shown in the screen capture below:

The ModelRisk Integrate window to determine the Expected Shortfall of a credit portfolio. The Steps parameter is an optional integer used to determine how many sub-intervals are made within each interval approximation as the function iterates to optimized precision.

Single portfolio example with separate exposure and loss given default distributions

In the beginning of this section I pointed out that one may generally have separate distributions for the amount of exposure a debt holder has, and the fraction of that exposure that is realised as a loss. This means that we need to determine the sum:

This is easily done with Monte Carlo simulation in a manner similar to the model of shown before but replacing the Lognormal variable with the product of two variables. Alternatively, with ModelRisk you can use the VoseSumProduct function to return the aggregate distribution with one cell formula. Both methods are shown in the example model below:

Example model Credit_risk_separated - Credit risk model with separate exposure and loss fraction components

The VoseSimulate function simply generates random values from its object distribution parameter, which allows the user to keep the distribution in one place in the spreadsheet rather than many. The VoseSumProduct(n,a,b,c...) adds n variables together where each variable is a*b*c*... where a,b,c, etc are distribution objects.

We can also construct the density function fL(x) for the individual loss distribution as follows:


where fF( ) is the density function for the loss fraction distribution and fE( ) is the density function for the exposure distribution. Then the loss given default distribution can be constructed and used in a FFT calculation. The ModelRisk function VoseAggregateProduct performs this routine, so we can write:

=VoseAggregateProduct(VosePoisonObject(1000), VoseLognormalObject(100,10), VoseBetaObject(11,35))

Default probability as a variable

Default probabilities can perhaps be considered constant over a short period, but over a longer period or where the market is very volatile it should also be modelled as a function of the condition of the economy and, for corporate credit risk, as a function of the state of the regional business sector too. The same may apply for the loss given default variable as the debt holder may recover a smaller fraction of the exposure in more stressing times. This means that we must construct credit portfolios that are disaggregated at an appropriate level and sum their cash flows. Failure to model these correlations will underestimate the risk of losses. For example, we might produce a model that varies the probability of default (PD) as a function of changes in GDP growth (GDP), interest rate (IR) and inflation (I) using an equation of the form:

PDt = PD0*Exp[Normal(1+a*(GDPt-GDP0)+b*(IRt-IR0)-c*(It-I0),s)]

where a, b and c are constants, t is some time in the future, s is a residual volatility and X0 means the value of the variable X now.

Read on: Credit ratings and Markov Chain models