abaquant.derivatives.simulation.merton¶
Import path: abaquant.derivatives.simulation.merton
Domain: Derivative pricing, simulation, calibration, diagnostics, and strategy analysis.
Purpose¶
Merton jump-diffusion path simulation.
When to use it¶
This module generates stochastic paths or returns. Reproducible analysis should set the random seed and record time-step, horizon, drift, and volatility conventions.
Public objects¶
function:
simulate_merton_paths— Simulate Merton jump-diffusion price paths.
Detailed reference¶
Merton jump-diffusion path simulation.
Purpose¶
The module simulates price paths with a diffusive component and compound-Poisson log jumps.
Conventions¶
Jump intensity is per year; all rates and volatilities are annualized decimal quantities; the seed controls reproducibility.
References
[ 1 ] Glasserman, P. (2004), Monte Carlo Methods in Financial Mathematics. [ 2 ] Merton, R. C. (1976), “Option Pricing When Underlying Stock Returns Are Discontinuous”.
- abaquant.derivatives.simulation.merton.simulate_merton_paths(S, T, r, sigma, q=0.0, lam=1.0, mu_j=0.0, sigma_j=0.2, n_paths=30, n_steps=252, seed=42)¶
Simulate Merton jump-diffusion price paths.
- Parameters:
S (float) – Current underlying spot price in currency units.
T (float) – Time to maturity in years.
r (float) – Continuously compounded risk-free annual rate in decimal units.
sigma (float) – Annualized lognormal volatility in decimal units; for example,
0.20denotes 20%.q (float, default=0.0) – Continuous dividend or carry yield in decimal annual units.
lam (float, default=1.0) – Jump intensity in expected jumps per year.
mu_j (float, default=0.0) – Mean log jump size in the Merton jump-diffusion model.
sigma_j (float, default=0.2) – Standard deviation of log jump size in decimal units.
n_paths (int, default=30) – Number of Monte Carlo paths.
n_steps (int, default=252) – Number of simulation or lattice time steps.
seed (int | None, default=42) – Optional pseudo-random seed for reproducible simulation.
- Returns:
Numeric array ordered consistently with the supplied strikes, time grid, assets, or state labels.
- Return type:
numpy.ndarray
Notes
Model inputs are interpreted according to the module-level rate, maturity, and volatility conventions. Numerical outputs depend on the validity of those assumptions.