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.20 denotes 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.