# cm.val: Valuation for the credit positions of each scenario In CreditMetrics: Functions for calculating the CreditMetrics risk model

## Description

`cm.val` performs a valuation for the credit positions of each scenario. This is an allocation in rating classes identification of the credit position values.

## Usage

 `1` ```cm.val(M, lgd, ead, N, n, r, rho, rating) ```

## Arguments

 `M` one year empirical migration matrix, where the last row gives the default class. `lgd` loss given default `ead` exposure at default `N` number of companies `n` number of simulated random numbers `r` riskless interest rate `rho` correlation matrix `rating` rating of companies

## Details

According to the value V_t the company is located in an other rating class. This location is performed with the migration matrix by determining the thresholds. In order to implement a valuation at time t, the credit spreads must be computed. With these the nominal is risk adjusted calculated. For a portfolio with many credits correlations are included by simulating correlated company yield returns. So the simulated ratings for each firm at time t = 1 can be computed.

## Value

Simulated values of the firms for each rating of each scenario.

## Author(s)

Andreas Wittmann andreas\[email protected]

## References

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

`cm.matrix`, `eigen`, `cm.state`, `cm.quantile`, `cm.rnorm.cor`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27``` ``` N <- 3 n <- 50000 r <- 0.03 ead <- c(4000000, 1000000, 10000000) lgd <- 0.45 rating <- c("BBB", "AA", "B") firmnames <- c("firm 1", "firm 2", "firm 3") # correlation matrix rho <- matrix(c( 1, 0.4, 0.6, 0.4, 1, 0.5, 0.6, 0.5, 1), 3, 3, dimnames = list(firmnames, firmnames), byrow = TRUE) # 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.val(M, lgd, ead, N, n, r, rho, rating) ```