# merton

## Description

The `merton`

function creates a `merton`

object, which derives from the `gbm`

object.

The `merton`

model, based on the Merton76 model, allows you to
simulate sample paths of `NVars`

state variables driven by
`NBrowns`

Brownian motion sources of risk and
`NJumps`

compound Poisson processes representing the arrivals of
important events over `NPeriods`

consecutive observation periods. The
simulation approximates continuous-time `merton`

stochastic
processes.

You can simulate any vector-valued `merton`

process of the
form

$$d{X}_{t}=B(t,{X}_{t}){X}_{t}dt+D(t,{X}_{t})V(t,{x}_{t})d{W}_{t}+Y(t,{X}_{t},{N}_{t}){X}_{t}d{N}_{t}$$

Here:

*X*is an_{t}`NVars`

-by-`1`

state vector of process variables.*B*(*t*,*X*_{t}) is an`NVars`

-by-`NVars`

matrix of generalized expected instantaneous rates of return.

is an*D*(*t*,*X*_{t})`NVars`

-by-`NVars`

diagonal matrix in which each element along the main diagonal is the corresponding element of the state vector.

is an*V*(*t*,*X*_{t})`NVars`

-by-`NVars`

matrix of instantaneous volatility rates.*dW*_{t}is an`NBrowns`

-by-`1`

Brownian motion vector.

is an*Y*(*t*,*X*_{t},*N*_{t})`NVars`

-by-`NJumps`

matrix-valued jump size function.*dN*_{t}is an`NJumps`

-by-`1`

counting process vector.

## Creation

### Description

creates a default `Merton`

= merton(`Return`

,`Sigma`

,`JumpFreq`

,`JumpMean`

,`JumpVol`

)`merton`

object. Specify required inputs
as one of two types:

MATLAB

^{®}array. Specify an array to indicate a static (non-time-varying) parametric specification. This array fully captures all implementation details, which are clearly associated with a parametric form.MATLAB function. Specify a function to provide indirect support for virtually any static, dynamic, linear, or nonlinear model. This parameter is supported by an interface because all implementation details are hidden and fully encapsulated by the function.

**Note**

You can specify combinations of array and function input
parameters as needed. Moreover, a parameter is identified as a
deterministic function of time if the function accepts a scalar time
`t`

as its only input argument. Otherwise, a
parameter is assumed to be a function of time *t*
and state
*X*_{t}
and is invoked with both input arguments.

sets Properties using name-value pair arguments in
addition to the input arguments in the preceding syntax. Enclose each
property name in quotes.`Merton`

= merton(___,`Name,Value`

)

The `merton`

object has the following Properties:

`StartTime`

— Initial observation time`StartState`

— Initial state at time`StartTime`

`Correlation`

— Access function for the`Correlation`

input argument`Drift`

— Composite drift-rate function`Diffusion`

— Composite diffusion-rate function`Simulation`

— A simulation function or method

### Input Arguments

## Properties

## Object Functions

`simByEuler` | Simulate `Merton` jump diffusion sample paths by Euler
approximation |

`simBySolution` | Simulate approximate solution of diagonal-drift `Merton` jump
diffusion process |

`simByMilstein` | Simulate `Merton` sample paths by Milstein
approximation |

`simulate` | Simulate multivariate stochastic differential equations (SDEs) for
`SDE` , `BM` , `GBM` ,
`CEV` , `CIR` , `HWV` ,
`Heston` , `SDEDDO` , `SDELD` ,
`SDEMRD` , `Merton` , or `Bates`
models |

## Examples

## More About

## Algorithms

The Merton jump diffusion model (Merton 1976) is an extension of the Black-Scholes
model, and models sudden asset price movements (both up and down) by adding the jump
diffusion parameters with the Poisson process
*P*_{t}.

Under the risk-neutral measure the model is expressed as follows

$$\begin{array}{l}d{S}_{t}=(\gamma -q-{\lambda}_{p}{\mu}_{j}){S}_{t}dt+{\sigma}_{M}{S}_{t}d{W}_{t}+J{S}_{t}d{P}_{t}\\ \text{prob}(d{P}_{t}=1)={\lambda}_{p}dt\end{array}$$

Here:

ᵞ is the continuous risk-free rate.

*q* is the continuous dividend yield.

*J* is the random percentage jump size conditional on the jump
occurring, where

$$\mathrm{ln}(1+J)~N(\text{ln(1+}{u}_{j})-\frac{{\delta}^{2}}{2},{\delta}^{2}$$

(1+*J*) has a lognormal distribution:

$$\frac{1}{(1+J)\delta \sqrt{2\pi}}\text{exp}\left\{\frac{-{\left[\mathrm{ln}(1+J)-(\text{ln(1+}{\mu}_{j})-\frac{{\delta}^{2}}{2}\right]}^{2}}{2{\delta}^{2}}\right\}$$

Here:

μ_{j} is the mean of
*J*(μ_{j} > -1).

ƛ_{p} is the annual frequency (intensity) of
the Poisson process *P*_{t}
(ƛ_{p} ≥ 0).

σ_{M} is the volatility of the asset price
(σ_{M}> 0).

Under this formulation, extreme events are explicitly included in the stochastic differential equation as randomly occurring discontinuous jumps in the diffusion trajectory. Therefore, the disparity between observed tail behavior of log returns and that of Brownian motion is mitigated by the inclusion of a jump mechanism.

## References

[1] Aït-Sahalia, Yacine. “Testing
Continuous-Time Models of the Spot Interest Rate.” *Review of Financial
Studies* 9, no. 2 ( Apr. 1996): 385–426.

[2] Aït-Sahalia, Yacine.
“Transition Densities for Interest Rate and Other Nonlinear Diffusions.” *The
Journal of Finance* 54, no. 4 (Aug. 1999): 1361–95.

[3] Glasserman, Paul.
*Monte Carlo Methods in Financial Engineering*. New York:
Springer-Verlag, 2004.

[4] Hull, John C.
*Options, Futures and Other Derivatives*. 7th ed, Prentice
Hall, 2009.

[5] Johnson, Norman Lloyd, Samuel
Kotz, and Narayanaswamy Balakrishnan. *Continuous Univariate
Distributions*. 2nd ed. Wiley Series in Probability and Mathematical
Statistics. New York: Wiley, 1995.

[6] Shreve, Steven E.
*Stochastic Calculus for Finance*. New York: Springer-Verlag,
2004.

## Version History

**Introduced in R2020a**

## See Also

`bates`

| `simByEuler`

| `simBySolution`

| `simulate`

### Topics

- Simulating Equity Prices
- Simulating Interest Rates
- Stratified Sampling
- Price American Basket Options Using Standard Monte Carlo and Quasi-Monte Carlo Simulation
- Base SDE Models
- Drift and Diffusion Models
- Linear Drift Models
- Parametric Models
- SDEs
- SDE Models
- SDE Class Hierarchy
- Quasi-Monte Carlo Simulation
- Performance Considerations