cm.cs: Computation of credit spreads

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

cm.cs computes the credit spreads for each rating of a one year empirical migration matrix. The failure limit is the quantile of the failure probability.

Usage

1
cm.cs(M, lgd)

Arguments

M

one year empirical migration matrix, where the last row gives the default class.

lgd

loss given default

Details

This function computes the credit spreads for each rating of a given one year empirical migration matrix with a default class in the last row. The credit spread is the risk premium demanded by the market.

According migration the nominal is differently calculated

V_0 = V_t e^{-(r_t + CS_t) t}

where t is the time. Under a riskless probability measure the value of a credit position at time t is computed as

V_0 = E[V_t] e^{-r_t t}

The default event is bernoulli distributed, so the expected value is

E[V_t] = V_t (1 - PD_t) + V_t (1 - LGD) PD_t

By using the above equations and following transformation, we get the formula for the credit spread

CS_t = - (\ln(1 - LGD PD_t)) / t

This function computes the credit spread for t = 1, this is the credit spread for one year is calculated.

Value

Return value is the credit spread for time t = 1 of each rating in the migration matrix.

Author(s)

Andreas Wittmann andreas\_wittmann@gmx.de

References

Glasserman, Paul, Monte Carlo Methods in Financial Engineering, Springer 2004

See Also

cm.matrix

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
  lgd <- 0.45
  
  # one year empirical migration matrix from standard&poors website
  rc <- c("AAA", "AA", "A", "BBB", "BB", "B", "CCC", "D")
  M <- matrix(c(90.81,  8.33,  0.68,  0.06,  0.08,  0.02,  0.01,   0.01,
                 0.70, 90.65,  7.79,  0.64,  0.06,  0.13,  0.02,   0.01,
                 0.09,  2.27, 91.05,  5.52,  0.74,  0.26,  0.01,   0.06,
                 0.02,  0.33,  5.95, 85.93,  5.30,  1.17,  1.12,   0.18,
                 0.03,  0.14,  0.67,  7.73, 80.53,  8.84,  1.00,   1.06,
                 0.01,  0.11,  0.24,  0.43,  6.48, 83.46,  4.07,   5.20,
                 0.21,     0,  0.22,  1.30,  2.38, 11.24, 64.86,  19.79,
                    0,     0,     0,     0,     0,     0,     0, 100
              )/100, 8, 8, dimnames = list(rc, rc), byrow = TRUE)

  cm.cs(M, lgd)

Example output

         AAA           AA            A          BBB           BB            B 
4.500101e-05 4.500101e-05 2.700365e-04 8.103282e-04 4.781413e-03 2.367813e-02 
         CCC 
9.327276e-02 

CreditMetrics documentation built on May 2, 2019, 8:55 a.m.