Simulating Merton Jump Diffusion with Brownian and Poisson Draws
Summary
The document asks how to simulate stock paths under a Merton jump diffusion model, which combines continuous Brownian movement with jumps driven by a Poisson process. The response frames the task as Monte Carlo simulation: choose a time increment, draw a normal random value to represent the Brownian increment, and use random values against the jump probability to determine whether a jump occurs.
This gives a basic recipe for constructing the stochastic inputs at each step, but the exchange does not spell out a full price-update equation or describe how to draw jump sizes. It also does not specify parameter calibration, time-step effects, or validation against model moments. The answer therefore helps identify the simulation components, while leaving important implementation choices to be supplied from the model specification. It is an introductory outline rather than a complete algorithm for producing paths.
Key ideas
- A Monte Carlo path simulation requires choosing a time increment.
- The Brownian component can be represented with normal random draws.
- Jump occurrence can be modeled by comparing uniform random draws with the Poisson jump probability.
- The response leaves jump-size sampling and the complete price update unspecified.
Tags
Full text
# How to simulate a Merton Jump Diffusion process?
# How to simulate a Merton Jump Diffusion process?
I am talking about the Merton Jump Diffusion model, on this page, where they give the following formula:
$$ dS_t = \mu S_t dt + \sigma S_t dW_t + (\eta-1) dq$$
where $W_t$ is a standard brownian motion, and $dq$ is an independent Poisson process (its value is 1 with probability $\lambda dt$)
On that page you can find some example code. However, it does not match the formula. I want to simulate stock paths with the MJD model but I do not know how to do it. What formula do they use for their simulation?
I have looked up a lot of papers, but they just give general from of the model and say this is the result, but they do not explain how to simulation goes in detail. What formula I have to use and how to implement the model. I am really frustrated because I do not know how to do this.
## Answer by BlueTrin (score 4)
https://quant.stackexchange.com/a/4610
I take it you want to do a Monte-Carlo simulation.
You just need to decide of an unit of time $dt$ and then start simulating the path.
$dW_t$ is simulated using a random normal value. In Excel $N\left(\mu, \sigma\right)$ would be simulated by `NORMINV(rand(), mu , sigma)`.
For your Poisson process you just have to simulate random numbers between 0 and 1 and compare against your probability of a jump and create jumps if needed ?
The page you linked used a formula linking $S_t$ and $S_{t+\Delta t}$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.