Finance - Maple Programming Help

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

Finance

 SVJJProcess
 create new SVJJ process

 Calling Sequence SVJJProcess(${S}_{0}$, ${V}_{0}$, r, theta, kappa, sigma, rho, lambda, alpha, beta, delta, t)

Parameters

 ${S}_{0}$ - real constant; initial value of the return process ${V}_{0}$ - non-negative constant; initial value of the variance r - real constant; risk-neutral drift theta - non-negative constant, algebraic expression or procedure; long-run mean of the volatility kappa - positive constant; speed of mean reversion sigma - real constant; volatility of the variance process rho - non-negative constant; instantaneous correlation between the return process and the variance process lambda - non-negative constant; jump intensity alpha - non-negative constant; mean relative jump size beta - real constant; standard deviation of the relative jump size delta - real constant; jump size of the variance process t - name; time variable

Description

 • The SVJJProcess command creates a new stochastic volatility process with jumps (SVJJ). This is a process governed by the stochastic differential equation (SDE)

$\frac{\mathrm{dS}\left(t\right)}{S\left(t\right)}=\left(-\mathrm{\lambda }\mathrm{\mu }+r\right)\mathrm{dt}+\sqrt{V\left(t\right)}{\mathrm{dW}}_{1}\left(t\right)+\left(J-1\right)\mathrm{dN}\left(t\right)$

$\mathrm{dV}\left(t\right)=\mathrm{\kappa }\left(\mathrm{\theta }-V\left(t\right)\right)\mathrm{dt}+\mathrm{\sigma }\sqrt{V\left(t\right)}{\mathrm{dW}}_{2}\left(t\right)+\mathrm{\delta }\mathrm{dN}\left(t\right)$

 where
 – $r$ is the risk-neutral drift,
 – $\mathrm{\theta }$ is the long-run mean of the variance process,
 – $\mathrm{\kappa }$ is the speed of mean reversion of the variance process,
 – $\mathrm{\sigma }$ is the volatility of the variance process,
 – $\mathrm{\delta }$ is the volatility jump size,
 and
 – $W\left(t\right)$ is the two-dimensional Wiener process with instantaneous correlation $\mathrm{\rho }$,
 – $N\left(t\right)$ is a Poisson process, independent of $W\left(t\right)$, with constant intensity $\mathrm{\lambda }$,
 – $J$ is a lognormal random variable with mean $\mathrm{\alpha }$ and variance ${\mathrm{\beta }}^{2}$.
 • The parameters $\mathrm{\mu }$, $\mathrm{\alpha }$, and $\mathrm{\beta }$ are related by the following equation

$\mathrm{ln}\left(1+\mathrm{\mu }\right)=\mathrm{\alpha }+\frac{{\mathrm{\beta }}^{2}}{2}$

 • This process was introduced by A. Matytsin. Special cases of this process include

 Bates SVJ process $\mathrm{\delta }=0$ Heston SV process $\mathrm{\lambda }=0$

Examples

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

First construct an SVJJ process with variable parameters. You will assign numeric values to these parameters later.

 > $Y≔\mathrm{SVJJProcess}\left(100,0.008836,r,\mathrm{θ},\mathrm{κ},\mathrm{σ},\mathrm{ρ},\mathrm{λ},\mathrm{α},\mathrm{β},\mathrm{δ},t\right):$
 > $\mathrm{κ}≔3.99$
 ${\mathrm{κ}}{≔}{3.99}$ (1)
 > $\mathrm{θ}≔0.014$
 ${\mathrm{θ}}{≔}{0.014}$ (2)
 > $\mathrm{σ}≔0.27$
 ${\mathrm{σ}}{≔}{0.27}$ (3)
 > $\mathrm{ρ}≔-0.79$
 ${\mathrm{ρ}}{≔}{-}{0.79}$ (4)
 > $r≔0.0319$
 ${r}{≔}{0.0319}$ (5)
 > $\mathrm{α}≔0.1$
 ${\mathrm{α}}{≔}{0.1}$ (6)
 > $\mathrm{β}≔0.15$
 ${\mathrm{β}}{≔}{0.15}$ (7)
 > $\mathrm{λ}≔0.11$
 ${\mathrm{λ}}{≔}{0.11}$ (8)
 > $T≔5.0$
 ${T}{≔}{5.0}$ (9)
 > $K≔100$
 ${K}{≔}{100}$ (10)
 > $\mathrm{δ}≔0.1$
 ${\mathrm{δ}}{≔}{0.1}$ (11)
 > $M≔100;$$N≔{10}^{4}$
 ${M}{≔}{100}$
 ${N}{≔}{10000}$ (12)

Generate 10 replications of the sample path and plot sample paths for the state variable and the variance process.

 > $A≔\mathrm{SamplePath}\left(Y\left(t\right),t=0..T,\mathrm{timesteps}=30,\mathrm{replications}=10\right)$
 ${A}{≔}\left[\begin{array}{c}{\mathrm{1..10 x 1..2 x 1..31}}{\mathrm{Array}}\\ {\mathrm{Data Type:}}{\mathrm{float}}{[}{8}{]}\\ {\mathrm{Storage:}}{\mathrm{rectangular}}\\ {\mathrm{Order:}}{\mathrm{C_order}}\end{array}\right]$ (13)
 > $\mathrm{PathPlot}\left(A,1,\mathrm{thickness}=3,\mathrm{color}=\mathrm{red}..\mathrm{blue},\mathrm{axes}=\mathrm{BOXED},\mathrm{gridlines}=\mathrm{true}\right)$
 > $\mathrm{PathPlot}\left(A,2,\mathrm{thickness}=3,\mathrm{color}=\mathrm{red}..\mathrm{blue},\mathrm{axes}=\mathrm{BOXED},\mathrm{gridlines}=\mathrm{true}\right)$
 > ${ⅇ}^{-rT}\mathrm{ExpectedValue}\left(\mathrm{max}\left({Y\left(T\right)}_{1}-K,0\right),\mathrm{timesteps}=M,\mathrm{replications}=N,\mathrm{output}=\mathrm{value}\right)$
 ${19.96717514}$ (14)

Consider different parameters.

 > $\mathrm{κ}≔0.0$
 ${\mathrm{κ}}{≔}{0.}$ (15)
 > $\mathrm{θ}≔0.0$
 ${\mathrm{θ}}{≔}{0.}$ (16)
 > $\mathrm{λ}≔1.0$
 ${\mathrm{λ}}{≔}{1.0}$ (17)
 > $\mathrm{σ}≔0.0$
 ${\mathrm{σ}}{≔}{0.}$ (18)

Generate 10 replications of the sample path of the new process and plot sample paths for the state variable and the variance process.

 > $A≔\mathrm{SamplePath}\left(Y\left(t\right),t=0..T,\mathrm{timesteps}=30,\mathrm{replications}=10\right)$
 ${A}{≔}\left[\begin{array}{c}{\mathrm{1..10 x 1..2 x 1..31}}{\mathrm{Array}}\\ {\mathrm{Data Type:}}{\mathrm{float}}{[}{8}{]}\\ {\mathrm{Storage:}}{\mathrm{rectangular}}\\ {\mathrm{Order:}}{\mathrm{C_order}}\end{array}\right]$ (19)
 > $\mathrm{PathPlot}\left(A,1,\mathrm{thickness}=3,\mathrm{color}=\mathrm{red}..\mathrm{blue},\mathrm{axes}=\mathrm{BOXED},\mathrm{gridlines}=\mathrm{true}\right)$
 > $\mathrm{PathPlot}\left(A,2,\mathrm{thickness}=3,\mathrm{color}=\mathrm{red}..\mathrm{blue},\mathrm{axes}=\mathrm{BOXED},\mathrm{gridlines}=\mathrm{true}\right)$

References

 Bates, D., Jumps and stochastic volatility: the exchange rate processes implicit in Deutsche Mark options, Review of Financial Studies, Volume 9, 69-107, 1996.
 Duffie, D., Pan, J., and Singleton, K.J. Transform analysis and asset pricing for affine jump-diffusions. Econometrica, Volume 68, 1343-1376, 2000.
 Glasserman, P., Monte Carlo Methods in Financial Engineering. New York: Springer-Verlag, 2004.
 Matytsin, A. Modelling volatility and volatility derivatives, Columbia Practitioners Conference on the Mathematics of Finance, 1999.

Compatibility

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