Finance - Maple Programming Help

Home : Support : Online Help : Mathematics : Finance : Stochastic Processes : Finance/MertonJumpDiffusion

Finance

 MertonJumpDiffusion
 create new jump diffusion process

 Calling Sequence MertonJumpDiffusion(X, lambda, a, b) MertonJumpDiffusion(${S}_{0}$, sigma, r, d, lambda, a, b, t, S)

Parameters

 X - Black-Scholes process lambda - intensity of the lognormal Poisson process a - scale parameter of the lognormal Poisson process b - shape parameter of the lognormal Poisson process ${S}_{0}$ - non-negative constant; initial value sigma - non-negative constant, procedure, or local volatility structure; volatility r - non-negative constant, procedure, or yield term structure; risk-free rate d - non-negative constant, procedure, or yield term structure; dividend yield t - name; time variable S - name; state variable

Description

 • The MertonJumpDiffusion command creates a new jump diffusion process that is governed by the stochastic differential equation (SDE)

$\frac{\mathrm{dS}\left(t\right)}{S\left(\mathrm{t-}\right)}=\mathrm{\mu }\left(t\right)\mathrm{dt}+\mathrm{\sigma }\left(t\right)\mathrm{dW}\left(t\right)+\mathrm{dJ}\left(t\right)$

 where
 – $\mathrm{\mu }\left(t\right)$ is the drift parameter
 – $\mathrm{\sigma }\left(t\right)$ is the volatility parameter
 – $W\left(t\right)$ is the standard Wiener process
 and
 – $J\left(t\right)$ is a compound Poisson process of the form

$J\left(t\right)={\sum }_{j=1}^{N\left(t\right)}\phantom{\rule[-0.0ex]{5.0px}{0.0ex}}\left({Y}_{j}-1\right)$

 such that $\mathrm{log}\left({Y}_{i}\right)$ is independent and lognormally distributed with mean $a$ and standard deviation $b$.
 • Both the drift parameter mu and the volatility parameter sigma can be either constant or time-dependent. In the second case they can be specified either as an algebraic expression containing one indeterminate, or as a procedure that accepts one parameter (the time) and returns the corresponding value of the drift (volatility).
 • Similar to the drift and the volatility parameters, the intensity parameter lambda can be either constant or time-dependent. In the second case it can be specified either as an algebraic expression containing one indeterminate or as a procedure that accepts one parameter (the time).
 • Both the scale parameter a and the shape parameter b of the underlying lognormal Poisson process must be real constants.

Examples

 > $\mathrm{with}\left(\mathrm{Finance}\right):$

First consider two examples of jump diffusion with low volatility to observe the effect of jumps.

 > $\mathrm{S0}≔100$
 ${\mathrm{S0}}{≔}{100}$ (1)
 > $r≔0.05$
 ${r}{≔}{0.05}$ (2)
 > $d≔0.01$
 ${d}{≔}{0.01}$ (3)
 > ${\mathrm{σ}}_{1}≔0.01$
 ${{\mathrm{σ}}}_{{1}}{≔}{0.01}$ (4)
 > $a≔0.0$
 ${a}{≔}{0.}$ (5)
 > $b≔0.5$
 ${b}{≔}{0.5}$ (6)
 > ${\mathrm{λ}}_{1}≔2.0$
 ${{\mathrm{λ}}}_{{1}}{≔}{2.0}$ (7)
 > ${\mathrm{λ}}_{2}≔0.2$
 ${{\mathrm{λ}}}_{{2}}{≔}{0.2}$ (8)
 > ${X}_{1}≔\mathrm{MertonJumpDiffusion}\left(\mathrm{S0},{\mathrm{σ}}_{1},r,d,{\mathrm{λ}}_{1},a,b\right):$
 > $\mathrm{PathPlot}\left(X[1]\left(t\right),t=0..1,\mathrm{timesteps}=100,\mathrm{replications}=5,\mathrm{color}=\mathrm{red}..\mathrm{blue},\mathrm{thickness}=3,\mathrm{axes}=\mathrm{BOXED},\mathrm{gridlines}=\mathrm{true}\right)$
 > ${X}_{2}≔\mathrm{MertonJumpDiffusion}\left(\mathrm{S0},{\mathrm{σ}}_{1},r,d,{\mathrm{λ}}_{2},a,b\right):$
 > $\mathrm{PathPlot}\left(X[2]\left(t\right),t=0..1,\mathrm{timesteps}=100,\mathrm{replications}=5,\mathrm{color}=\mathrm{red}..\mathrm{blue},\mathrm{thickness}=3,\mathrm{axes}=\mathrm{BOXED},\mathrm{gridlines}=\mathrm{true}\right)$

Now consider similar processes but with relatively high volatility.

 > ${\mathrm{σ}}_{2}≔0.5$
 ${{\mathrm{σ}}}_{{2}}{≔}{0.5}$ (9)
 > ${X}_{3}≔\mathrm{MertonJumpDiffusion}\left(\mathrm{S0},{\mathrm{σ}}_{2},r,d,{\mathrm{λ}}_{2},a,b\right):$
 > $\mathrm{PathPlot}\left(X[3]\left(t\right),t=0..1,\mathrm{timesteps}=100,\mathrm{replications}=5,\mathrm{color}=\mathrm{red}..\mathrm{blue},\mathrm{thickness}=3,\mathrm{axes}=\mathrm{BOXED},\mathrm{gridlines}=\mathrm{true}\right)$
 > $Y≔\mathrm{BlackScholesProcess}\left(\mathrm{S0},{\mathrm{σ}}_{2},r,d\right):$
 > ${X}_{4}≔\mathrm{MertonJumpDiffusion}\left(Y,{\mathrm{λ}}_{1},0,b\right):$
 > $\mathrm{PathPlot}\left(X[4]\left(t\right),t=0..1,\mathrm{timesteps}=100,\mathrm{replications}=5,\mathrm{color}=\mathrm{red}..\mathrm{blue},\mathrm{thickness}=3,\mathrm{axes}=\mathrm{BOXED},\mathrm{gridlines}=\mathrm{true}\right)$
 > $\mathrm{ExpectedValue}\left(\mathrm{max}\left(X[4]\left(1\right)-90,0\right),\mathrm{timesteps}=100,\mathrm{replications}={10}^{5}\right)$
 $\left[{\mathrm{value}}{=}{65.32590075}{,}{\mathrm{standarderror}}{=}{0.5535149183}\right]$ (10)
 > ${S}_{1}≔\mathrm{SampleValues}\left(Y\left(1\right),\mathrm{timesteps}=100,\mathrm{replications}={10}^{5}\right)$
 ${{S}}_{{1}}{≔}\left[\begin{array}{c}{\mathrm{1 .. 100000}}{\mathrm{Array}}\\ {\mathrm{Data Type:}}{\mathrm{float}}{[}{8}{]}\\ {\mathrm{Storage:}}{\mathrm{rectangular}}\\ {\mathrm{Order:}}{\mathrm{C_order}}\end{array}\right]$ (11)
 > ${S}_{2}≔\mathrm{SampleValues}\left(X[4]\left(1\right),\mathrm{timesteps}=100,\mathrm{replications}={10}^{5}\right)$
 ${{S}}_{{2}}{≔}\left[\begin{array}{c}{\mathrm{1 .. 100000}}{\mathrm{Array}}\\ {\mathrm{Data Type:}}{\mathrm{float}}{[}{8}{]}\\ {\mathrm{Storage:}}{\mathrm{rectangular}}\\ {\mathrm{Order:}}{\mathrm{C_order}}\end{array}\right]$ (12)
 > $\mathrm{P1}≔\mathrm{Statistics}[\mathrm{FrequencyPlot}]\left({S}_{1},\mathrm{range}=0..300,\mathrm{thickness}=3,\mathrm{color}=\mathrm{red},\mathrm{bincount}=50\right):$
 > $\mathrm{P2}≔\mathrm{Statistics}[\mathrm{FrequencyPlot}]\left({S}_{2},\mathrm{range}=0..300,\mathrm{thickness}=3,\mathrm{color}=\mathrm{blue},\mathrm{bincount}=50\right):$
 > $\mathrm{plots}[\mathrm{display}]\left(\mathrm{P1},\mathrm{P2},\mathrm{axes}=\mathrm{BOXED},\mathrm{gridlines}=\mathrm{true}\right):$

Here is another way to define the same jump diffusion process.

 > $J≔\mathrm{PoissonProcess}\left({\mathrm{λ}}_{2},\mathrm{Normal}\left(a,b\right)\right)$
 ${J}{≔}{\mathrm{_P}}$ (13)
 > $Z≔t→Y\left(t\right){ⅇ}^{J\left(t\right)}$
 ${Z}{≔}{t}{→}{Y}{}\left({t}\right){}{{ⅇ}}^{{J}{}\left({t}\right)}$ (14)
 > $\mathrm{ExpectedValue}\left(\mathrm{max}\left(Z\left(1\right)-90,0\right),\mathrm{timesteps}=100,\mathrm{replications}={10}^{5}\right)$
 $\left[{\mathrm{value}}{=}{30.42046277}{,}{\mathrm{standarderror}}{=}{0.1770232342}\right]$ (15)

References

 Glasserman, P., Monte Carlo Methods in Financial Engineering. New York: Springer-Verlag, 2004.
 Hull, J., Options, Futures, and Other Derivatives, 5th. edition. Upper Saddle River, New Jersey: Prentice Hall, 2003.
 Merton, R.C., On the pricing when underlying stock returns are discontinuous, Journal of Financial Economics, (3) 1976, pp. 125-144.

Compatibility

 • The Finance[MertonJumpDiffusion] command was introduced in Maple 15.