quantmetrics.price_calculators.cjd_pricing.cjd_calculator.CJDCalculator

class quantmetrics.price_calculators.cjd_pricing.cjd_calculator.CJDCalculator(model: LevyModel, option: Option)[source]

Calculator for option pricing under the Constant jump-diffusion (CJD) model.

This class provides a unified interface for computing option prices and related quantities using the CJD model. It leverages several specialized classes to perform tasks such as computing the closed-form solution for European options, evaluating the characteristic function (useful for Fourier-based methods), and simulating asset price paths under CJD dynamics.

Parameters

modelLevyModel

An instance of a Levy model that defines the underlying asset dynamics, including parameters such as the initial asset price (S0) and volatility (sigma).

optionOption

An instance of an Option containing parameters such as the risk-free rate (r), dividend yield (q), time to maturity (T), strike price (K), and payoff type.

Methods

calculate_closed_form()Union[float, np.ndarray]

Computes the option price using the closed-form solution for the CJD model.

calculate_characteristic_function(unp.ndarray)np.ndarray

Evaluates the characteristic function of the CJD model at the provided input values. This is typically used in Fourier-based pricing methods.

simulate_paths_Q(num_timestepsint, num_pathsint, seedint)dict

Simulates asset price paths of the CJD dynamics the risk-neutral measure \(\mathbb{Q}\). Returns a dictionary with keys: - ‘time’: 1D array of time points. - ‘S’: The exact solution paths (via the multiplicative formula). - ‘S_euler’: The Euler–Maruyama approximation paths.

__init__(model: LevyModel, option: Option)[source]

Methods

__init__(model, option)

calculate_characteristic_function(u)

calculate_closed_form()

simulate_paths_Q(num_timesteps, num_paths, seed)