# asrf

Asymptotic Single Risk Factor (ASRF) capital

## Syntax

``[capital,VaR] = asrf(PD,LGD,R)``
``[capital,VaR] = asrf(___,Name,Value)``

## Description

example

````[capital,VaR] = asrf(PD,LGD,R)` computes regulatory capital and value-at-risk using an ASRF model.The ASRF model is useful because the Basel II documents propose this model as the standard for certain types of capital requirements. ASRF is not a Monte-Carlo model, so you can quickly compute the capital requirements for large credit portfolios. You can use the ASRF model to perform a quick sensitivity analysis and exploring "what-if" scenarios more easily than rerunning large simulations.```

example

````[capital,VaR] = asrf(___,Name,Value)` adds optional name-value pair arguments. ```

## Examples

collapse all

`load CreditPortfolioData.mat`

Compute asset correlation for corporate, sovereign, and bank exposures.

```R = 0.12 * (1-exp(-50*PD)) / (1-exp(-50)) +... 0.24 * (1 - (1-exp(-50*PD)) / (1-exp(-50)));```

Compute the asymptotic single risk factor capital. By specifying the name-value pair argument for `EAD`, the `capital` is returned in terms of currency.

`capital = asrf(PD,LGD,R,'EAD',EAD);`

```b = (0.11852 - 0.05478 * log(PD)).^2; matAdj = (1 + (Maturity - 2.5) .* b) ./ (1 - 1.5 * b); adjustedCapital = capital .* matAdj; portfolioCapital = sum(adjustedCapital)```
```portfolioCapital = 175.7865 ```

## Input Arguments

collapse all

Probability of default, specified as a `NumCounterparties`-by-`1` numeric vector with elements from `0` to `1`, representing the default probabilities for the counterparties.

Data Types: `double`

Loss given default, specified as a `NumCounterparties`-by-`1` numeric vector with elements from `0` to `1`, representing the fraction of exposure that is lost when a counterparty defaults. `LGD` is defined as (1 - Recovery). For example, an `LGD` of 0.6 implies a 40% recovery rate in the event of a default.

Data Types: `double`

Asset correlation, specified as a `NumCounterparties`-by-`1` numeric vector.

The asset correlations, `R`, have values from `0` to `1` and specify the correlation between assets in the same asset class.

Note

The correlation between an asset value and the underlying single risk factor is `sqrt`(`R`). This value, `sqrt`(`R`), corresponds to the `Weights` input argument to the `creditDefaultCopula` and `creditMigrationCopula` classes for one-factor models.

Data Types: `double`

### Name-Value Arguments

Specify optional pairs of arguments as `Name1=Value1,...,NameN=ValueN`, where `Name` is the argument name and `Value` is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose `Name` in quotes.

Example: `capital = asrf(PD,LGD,R,'EAD',EAD)`

Exposure at default, specified as the comma-separated pair consisting of `'EAD'` and a `NumCounterparties`-by-`1` numeric vector of credit exposures.

If `EAD` is not specified, the default `EAD` is `1`, meaning that `capital` and `VaR` results are reported as a percentage of the counterparty's exposure. If `EAD` is specified, then `capital` and `VaR` are returned in units of currency.

Data Types: `double`

Value at risk level used when calculating the capital requirement, specified as the comma-separated pair consisting of `'VaRLevel'` and a decimal value between `0` and `1`.

Data Types: `double`

## Output Arguments

collapse all

Capital for each element in the portfolio, returned as a `NumCounterparties`-by-`1` vector. If the optional input `EAD` is specified, then `capital` is in units of currency. Otherwise, `capital` is reported as a percentage of each exposure.

Value-at-risk for each exposure, returned as a `NumCounterparties`-by-`1` vector. If the optional input `EAD` is specified, then `VaR` is in units of currency. Otherwise, `VaR` is reported as a percentage of each exposure.

collapse all

### ASRF Model Capital

In the ASRF model, capital is defined as the loss in excess of the expected loss (EL) at a high confidence level.

The formula for capital is

`capital = VaR - EL`

## Algorithms

The capital requirement formula for exposures is defined as

`$\begin{array}{l}VaR=EAD*LGD*\Phi \left(\frac{{\Phi }^{-1}\left(PD\right)-\sqrt{R}{\Phi }^{-1}\left(1-VaRLevel\right)}{\sqrt{1-R}}\right)\\ capital=VaR-EAD*LGD*PD\end{array}$`

where

`ϕ` is the normal CDF.

`ϕ`-1 is the inverse normal CDF.

`R` is asset correlation.

`EAD` is exposure at default.

`PD` is probability of default.

`LGD` is loss given default.

## References

[1] Basel Committee on Banking Supervision. "International Convergence of Capital Measurement and Capital Standards." June, 2006 (https://www.bis.org/publ/bcbs128.pdf).

[2] Basel Committee on Banking Supervision. "An Explanatory Note on the Basel II IRB Risk Weight Functions." July, 2005 (https://www.bis.org/bcbs/irbriskweight.pdf).

[3] Gordy, M.B. "A Risk-Factor Model Foundation for Ratings-Based Bank Capital Rules." Journal of Financial Intermediation. Vol. 12, pp. 199-232, 2003.

## Version History

Introduced in R2017b