# mertonmodel

Estimates probability of default using Merton model

## Syntax

``````[PD,DD,A,Sa] = mertonmodel(Equity,EquityVol,Liability,Rate)``````
``````[PD,DD,A,Sa] = mertonmodel(___,Name,Value)``````

## Description

example

``````[PD,DD,A,Sa] = mertonmodel(Equity,EquityVol,Liability,Rate)``` estimates the default probability of a firm by using the Merton model.```

example

``````[PD,DD,A,Sa] = mertonmodel(___,Name,Value)``` adds optional name-value pair arguments. ```

## Examples

collapse all

Load the data from `MertonData.mat`.

```load MertonData.mat Equity = MertonData.Equity; EquityVol = MertonData.EquityVol; Liability = MertonData.Liability; Drift = MertonData.Drift; Rate = MertonData.Rate; MertonData```
```MertonData=5×6 table ID Equity EquityVol Liability Rate Drift __________ __________ _________ _________ ____ ______ {'Firm 1'} 2.6406e+07 0.7103 4e+07 0.05 0.0306 {'Firm 2'} 2.6817e+07 0.3929 3.5e+07 0.05 0.03 {'Firm 3'} 3.977e+07 0.3121 3.5e+07 0.05 0.031 {'Firm 4'} 2.947e+07 0.4595 3.2e+07 0.05 0.0302 {'Firm 5'} 2.528e+07 0.6181 4e+07 0.05 0.0305 ```

Compute the default probability using the single-point approach to the Merton model.

`[PD,DD,A,Sa] = mertonmodel(Equity,EquityVol,Liability,Rate,'Drift',Drift)`
```PD = 5×1 0.0638 0.0008 0.0000 0.0026 0.0344 ```
```DD = 5×1 1.5237 3.1679 4.4298 2.7916 1.8196 ```
```A = 5×1 107 × 6.4210 6.0109 7.3063 5.9906 6.3231 ```
```Sa = 5×1 0.3010 0.1753 0.1699 0.2263 0.2511 ```

## Input Arguments

collapse all

Current market value of firm's equity, specified as a positive value.

Data Types: `double`

Volatility of the firm's equity, specified as a positive annualized standard deviation.

Data Types: `double`

Liability threshold of firm, specified as a positive value. The liability threshold is often referred to as the default point.

Data Types: `double`

Annualized risk-free interest rate, specified as a numeric value.

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: `[PD,DD,A,Sa] = mertonmodel(Equity,EquityVol,Liability,Rate,'Maturity',4,'Drift',0.22)`

Time to maturity corresponding to the liability threshold, specified as the comma-separated pair consisting of `'Maturity'` and a positive value.

Data Types: `double`

Annualized drift rate (expected rate of return of the firm's assets), specified as the comma-separated pair consisting of `'Drift'` and a numeric value.

Data Types: `double`

Tolerance for convergence of the solver, specified as the comma-separated pair consisting of `'Tolerance'` and a positive scalar value.

Data Types: `double`

Maximum number of iterations allowed, specified as the comma-separated pair consisting of `'MaxIterations'` and a positive integer.

Data Types: `double`

## Output Arguments

collapse all

Probability of default of the firm at maturity, returned as a numeric value.

Distance-to-default, defined as the number of standard deviations between the mean of the asset distribution at maturity and the liability threshold (default point), returned as a numeric value.

Current value of firm's assets, returned as a numeric value.

Annualized firm's asset volatility, returned as a numeric value.

collapse all

### Merton Model Using Single-Point Calibration

In the Merton model, the value of a company's equity is treated as a call option on its assets and the liability is taken as a strike price.

`mertonmodel` accepts inputs for the firm's equity, equity volatility, liability threshold, and risk-free interest rate. The `mertonmodel` function solves a `2`-by-`2` nonlinear system of equations whose unknowns are the firm's assets and asset volatility. You compute the probability of default and distance-to-default by using the formulae in Algorithms.

## Algorithms

Unlike the time series method (see `mertonByTimeSeries`), when using `mertonmodel`, the equity volatility (σE) is provided. Given equity (E), liability (L), risk-free interest rate (r), asset drift (μA), and maturity (T), you use a `2`-by-`2` nonlinear system of equations. `mertonmodel` solves for the asset value (A) and asset volatility (σA) as follows:

`$E=AN\left({d}_{1}\right)-L{e}^{-rT}N\left({d}_{2}\right)$`

`${\sigma }_{E}=\frac{A}{E}N\left({d}_{1}\right){\sigma }_{A}$`

where N is the cumulative normal distribution, d1 and d2 are defined as:

`${d}_{1}=\frac{\mathrm{ln}\left(\frac{A}{L}\right)+\left(r+0.5{\sigma }_{A}^{2}\right)T}{{\sigma }_{A}\sqrt{T}}$`

`${d}_{2}={d}_{1}-{\sigma }_{A}\sqrt{T}$`

The formulae for the distance-to-default (DD) and default probability (PD) are:

`$DD=\frac{\mathrm{ln}\left(\frac{A}{L}\right)+\left({\mu }_{A}-0.5{\sigma }_{A}^{2}\right)T}{{\sigma }_{A}\sqrt{T}}$`

`$PD=1-N\left(DD\right)$`

## References

[1] Zielinski, T. Merton's and KMV Models In Credit Risk Management.

[2] Löffler, G. and Posch, P.N. Credit Risk Modeling Using Excel and VBA. Wiley Finance, 2011.

[3] Kim, I.J., Byun, S.J, Hwang, S.Y. An Iterative Method for Implementing Merton.

[4] Merton, R. C. “On the Pricing of Corporate Debt: The Risk Structure of Interest Rates.” Journal of Finance. Vol. 29. pp. 449 – 470.

## Version History

Introduced in R2017a