0
$\begingroup$

I am trying to work with Kou's double exponential Jump-diffusion model and simulate a price path in a programming language.

So the dynamics of the asset price in Kou's model follow: \begin{equation} ‎\frac{dS(t)}{S(t-)}=\mu‎‏ ‎dt+\sigma ‎dW(‎t)+d(\sum_{i=1}^{N(t)}(V_i-1))‎ \end{equation}

where W(t) is a standard Brownian motion, N(t) is a Poisson process with rate ‎‎λ , and {Vi} is a sequence of independent identically distributed (i.i.d.) non negative random variables such that Y=log(V) has an asymmetric double exponential distribution with the density: \begin{equation} f_Y(y)=p.‎\eta_1 e^{-‎\eta_{1}y‎‎}‎\upharpoonleft_{y‎\geq 0‎}+q.‎\eta_2 e^{‎\eta_2 y‎} \upharpoonleft_{y<0},\eta_{1}>1,\eta_{2}>0 ‎‎‎ ‎\end{equation}

Solving this SDE gives: \begin{equation} S(t)=S(0)\exp\{(\mu- \frac{1}{2}\sigma^2)t+\sigma W(t)\} \prod_{i=1}^{N(t)}V_i \end{equation}

I generate the Yi-s in a simulation program via the asymmetric double exponential distribution. So let's say I have generated the following four jumps: \begin{equation} \{12.8277,-14.4736,7.287,-10.1267\} \end{equation}

EDIT: I simulate these values with the following Matlab code:

y=binornd(1,p,N,1); %1 = upwards jump, 0  = downwards jump
Y=y.*exprnd(e1,N,1)-(1-y).*exprnd(e2,N,1);

Now the part which I do not get is the following. Because Y = log(V), the Vi-s in the price equation are: \begin{equation} V_i = e^{Y_i} \end{equation} right?

So when the first jump occurs at time t1, I am adding the jump part in the price equation (the multiplication with Vi). To do so, I take the exponential of 12.8277, but then the stock price explodes (because exp(12.8277)>372).

I think I am mixing things up with the exponential in the equation, because multiplying with the exponential of the generated Yi-s leads to incorrect stock prices.

Could someone explain to me the part which I am interpreting wrong?

$\endgroup$
  • $\begingroup$ If I understand your question correctly, then the four values are realizations of $Y$? What parameters ($p$, $\eta_1$, $\eta_2$) did you use for generating them? It looks like either you used non-sense parameters or your sampling has a problem. $\endgroup$ – LocalVolatility Jun 30 '17 at 12:32
  • $\begingroup$ p = 0.4, eta1 = 10 and eta2 = 5 $\endgroup$ – Peter Lawrence Jun 30 '17 at 13:00
  • $\begingroup$ That means the mean down-jump (in log returns) is -20% and the mean up-jump is +10%. Thus, you'd expect numbers of roughly that magnitude from your sampling. So I suppose your sampling procedure has a problem. $\endgroup$ – LocalVolatility Jun 30 '17 at 13:03
  • $\begingroup$ I have edited my question with the Matlab code I am using to sample the values. With these parameters, the sample path should still be within reasonable range right? $\endgroup$ – Peter Lawrence Jun 30 '17 at 13:05
  • $\begingroup$ Yes - it should. See my below answer. $\endgroup$ – LocalVolatility Jun 30 '17 at 13:07
0
$\begingroup$

Your problem is that $\eta$ in your density for $Y$ is the rate parameter of the exponential distribution such that its mean is $1 / \eta$. MATLAB however requires you to provide the mean as mu in the exprnd function. I.e. instead of passing e1 and e2 you should pass their inverses.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.