Euler Scheme for Jump-Diffusion models

Jump-diffusion models (as Merton) have following SDE: $$dS_t=\mu S_tdt+\sigma S_t dW_t+S_tdJ_t$$ where $$J_t=\sum_{i=1}^{N_t}(\xi_i - 1)$$ $$\xi_i$$ - i.i.dn $$N_t$$ - Poisson process

Do we in Euler scheme have sth like this?

$$S_{t+\Delta t}=S_t+\mu S_t\Delta t+\sigma S_t\Delta W_t+S_t\Delta J_t$$

where $$\Delta J_t = \sum_{i=N_{t}}^{N_{t+\Delta t}}(\xi_i -1)$$ So to calculate $$\Delta J_t$$ we have to smulate random variable from Poisson distribution $$\lambda \Delta t$$ which denotes number of jumps between $$t$$ and $$t+\Delta t$$ and then simulate this number of jumps $$\xi$$, am I right? I know that this SDE has a solution, but I want to compare results. Which number of $$N$$ (time steps) is typically optimal to aproximate solution very well?

• For sufficiently small time steps $\Delta t$, you should be able to simulate the jump probability from a Bernoulli with $p(N_{t\to t+\Delta t}=0)=e^{-\lambda \Delta t}$. – Kermittfrog Mar 27 at 12:09
• For larger time steps you can directly compute the bound of the number $N_t$ that you may reasonably expect.Personally, I have always simulated using at most 1 jump, only, with a daily resolution. – Kermittfrog Mar 27 at 12:15
• I add my code in Python for Kou model, can you look at this at tell me what is wrong? I calculate call option value from Euler and Exact paths and the exact path works well but Euler path returns very strange result (I use $T=1$ and $N=252$ (time steps) – Math122 Mar 27 at 18:12
• Usually, we Euler-discretize not the asset price process but the log asset price process (and recover the price simulation by exponentiation). That way, you should be able to get better results, IMO. – Kermittfrog Mar 29 at 9:32

Commonly, we employ the Euler scheme for $$\Delta\ln(S_t)$$, not for $$\Delta S_t$$.

Let us specify the jump part as

$$S_{t+}=S_{t}J\Rightarrow dS_t=S_t(J-1)$$ where $$J$$ is a strictly positive random variable. (NB: Under Merton we would have $$\ln(J)\sim N(\mu_J,\sigma_J^2)$$ and $$\mathrm{E}(J)=e^{\mu_J+\frac{1}{2}\sigma_J^2}$$)

And for the solution scheme we arrive at:

\begin{align} \frac{dS_t}{S_t}&=\mu dt + \sigma dW_t+(J-1)dN_t\\ y_t&=\ln{S_t}\\ \Rightarrow dy_t&=\left( \mu-\frac{1}{2}\sigma^2 \right)dt+\sigma dW_t+\left(\ln (S_{t+})-(ln S_t)\right)dN_t\\ &=\left( \mu-\frac{1}{2}\sigma^2 \right)dt+\sigma dW_t+\ln(J) dN_t\\ \Rightarrow y_t&=\left( \mu-\frac{1}{2}\sigma^2 \right)t+\sigma W_t + \sum_{i=i}^{N_t}\ln(J_i)\\ \Rightarrow S_t&=S_0e^{\left( \mu-\frac{1}{2}\sigma^2 \right)t+\sigma W_t} \prod_{i=1}^{N_t}J_i\\ \end{align}

Let's assume that we have the Merton jump diffusion model here. Then the Euler discretization is:

\begin{align} y_t&\leftarrow y_0\\ \epsilon_{1,t} & \sim N(0,\sigma^2)\\ \epsilon_{2,t} & \sim N(\mu_J,\sigma_J^2)\\ N_t&\sim \left\{ \begin{array}{1} 0 & p=e^{-\lambda\Delta t}\\ 1 & 1-p\end{array} \right. \\ y_{t+\Delta t}&\leftarrow y_t+\left(\mu-\frac{1}{2}\sigma^2\right)\Delta t+\sigma\sqrt{\Delta t}\epsilon_1+N_t\epsilon_{2,t} \end{align} and $$S_{t}=e^{y_t}$$ accordingly. And if you simulate under the risk-neutral measure, then of course $$\mu=r_f-\lambda\mathrm{E}^{\mathbb{Q}}(J-1)$$.

HTH?

• Thanks :D Could you explain how the Milstein formula for jump-diffusion processes is derived? here on page 6 is a formula but I don't know how it was derived (and how to use it since we need to have value of a Wiener process in a point of jump) uts.edu.au/sites/default/files/qfr-archive-02/QFR-rp176.pdf – Math122 Mar 30 at 8:09
• No sorry, I have not yet delved into that area. You could try your luck over at math SE, though - or you post a separate question on this forum. – Kermittfrog Mar 30 at 9:43