Skip to content
All library documents

Discretizing the Bates Stochastic Volatility Jump Model

Article Quant Q&A · Author: AQT

Summary

The document describes a practitioner’s attempt to extend an Euler Monte Carlo simulation of the Heston stochastic volatility model with jumps, using the Bates stochastic volatility jump framework. It lays out a preliminary price update and variance update, then asks how to incorporate a Poisson jump count and a jump size drawn from a lognormal distribution. The proposed workflow separates the price before a jump from the final price after applying the jump component.

The post is mainly a set of implementation questions, not a complete discretization recipe or a validated simulation. It asks about the drift adjustment associated with jump compensation, how to sample jump counts over a time step, and whether multiplying the preliminary price by a jump factor is appropriate. In particular, its suggested zero-or-one jump approximation should not be treated as a general Poisson simulation rule for every step size. The document does not provide answers, parameter guidance, or numerical validation.

Key ideas

  • The Bates model combines Heston stochastic volatility with a jump component in the asset price.
  • The proposed simulation uses Euler updates for price and variance before applying a jump.
  • Jump modeling requires a Poisson count process and a distribution for jump sizes.
  • The post raises questions about drift compensation and jump sampling but does not resolve them.
  • The zero-or-one jump proposal is an approximation whose suitability depends on the time-step setup.

Tags

Full text
# Discretisation of Heston SV with Jumps (SVJ - Bates)


# Discretisation of Heston SV with Jumps (SVJ - Bates)












I want to simulate a price path of SVJ model (Bates) in Excel to see how it works in real time but I need help on how to discretise and construct the jump part with a Poisson process into Heston model (would like to discretise the $S_{t+\Delta t}$ instead of $\Delta\ln S_t$ as I believe it is 'unadultered' without the log transform). I'm not a mathematical wiz to understand fully what I've read in papers here, here and from our very own SE Quant question Discretizing Bates SVJ Model to simulate paths wrt SVJ models hence why I'm here (again).

However, I've successfully implemented an Euler Monte Carlo simulation on Heston SV with discretised equations as follows:

\begin{eqnarray} S_{t+\Delta t} = S_t \exp \left( \left(\mu - \frac{1}{2} v_t^{+} \right) \Delta t + \sqrt{v_t^{+} \Delta t}* \left( \rho Z_V + \sqrt{1-\rho^2}Z_2 \right) \right) \end{eqnarray} We denote also that $S_{t+\Delta t} = S_t^-$ where $S_t^-$ is a preliminary value of the price process before multiplying the Poisson jump process to get the final price based on SVJ model. While the fully truncated scheme of variance process is: \begin{eqnarray} \ v_{t+\Delta t} &=& \ v_t + \kappa (\theta - \ v_t^{+}) \Delta t + \sigma \sqrt{\ v_t^{+} \Delta t} Z_V, \end{eqnarray}

My question now is how to include a jump component of a Poisson process as described by Bates (1993). Basically an A-Z of the whole Poisson process of the jump component. What I understand so far, and please correct me if I'm wrong/inaccurate, is:

- A term $JdN_t$ is added to the price process equation where,

- $N_t$ is a Poisson count process with intensity (or mean(?) number of events in time interval $\Delta t$ or for the whole time $T$ as in my case) that can either take a value of $0$ (no jumps) with probability $1-\lambda dt$ or $1$ (existence of jump(s)) with probability $\lambda dt$.

- There can only ever be one jump for any time increment $\Delta t$ towards $T$.

- $J$ being the jump size sampled from a lognormal distribution where $J\geq -1$ to avoid jumps below the origin in the price process.

What I do not understand and need help with answering are:

- Why do we need to add an additional term into the drift in $\Delta\ln S_t$ namely $(r - \lambda \bar k - \frac{1}{2} v_t^{+})$, pg. 20 in this paper? Does this only apply if we use log-Euler discretisation?

- How to draw a random Poisson variable for interval $(t+\Delta t)$? For example, if $\lambda = 5$ and $\Delta t = 0.1$ then probability of a jump occurring in the small time increment would be $50 \text{%}$, hence I need to draw a i.i.d random variable from `=rand()` in Excel and if the random draw is $\leq 50 \text{%} $ then there would be a jump, $N_t=1$? Is this correct?

- What about the simulation of $J$? How do I sample it from a lognormal distribution?

- After simulating $J$, would it make sense to multiply it with the preliminary price process value such that $S_t^+=S_t^-J$ where $S_t^+$ is the final price value with jump (if present)?

I have quite a few more questions in mind but couldn't pen it down here for now but will update the question if I remember any.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.