Python for Finance: Analyze Big Financial Data

(Elle) #1
Figure 10-20. Value-at-risk for geometric Brownian motion and jump diffusion

Credit Value Adjustments


Other important risk measures are the credit value-at-risk (CVaR) and the credit value


adjustment (CVA), which is derived from the CVaR. Roughly speaking, CVaR is a


measure for the risk resulting from the possibility that a counterparty might not be able to


honor its obligations — for example, if the counterparty goes bankrupt. In such a case


there are two main assumptions to be made: probability of default and the (average) loss


level.


To make it specific, consider again the benchmark setup of Black-Scholes-Merton with the


following parameterization:


In  [ 79 ]: S0  =   100.
r = 0.05
sigma = 0.2
T = 1.
I = 100000
ST = S0 * np.exp((r - 0.5 * sigma ** 2 ) * T
+ sigma * np.sqrt(T) * npr.standard_normal(I))

In the simplest case, one considers a fixed (average) loss level L and a fixed probability p


for default (per year) of a counterparty:


In  [ 80 ]: L   =   0.5
In [ 81 ]: p = 0.01

Using the Poisson distribution, default scenarios are generated as follows, taking into


account that a default can only occur once:


In  [ 82 ]: D   =   npr.poisson(p   *   T,  I)
D = np.where(D > 1 , 1 , D)

Without default, the risk-neutral value of the future index level should be equal to the


current value of the asset today (up to differences resulting from numerical errors):


In  [ 83 ]: np.exp(-r   *   T)  *    1  /   I   *   np.sum(ST)
Out[83]: 99.981825216842921

The CVaR under our assumptions is calculated as follows:


In  [ 84 ]: CVaR    =   np.exp(-r   *   T)  *    1  /   I   *   np.sum(L    *   D   *   ST)
CVaR
Out[84]: 0.5152011134161355

Analogously, the present value of the asset, adjusted for the credit risk, is given as follows:

Free download pdf