# 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)$`

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

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

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

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