Expand description
Bates stochastic-volatility jump-diffusion models: Heston dynamics plus a compound-Poisson jump in the log-price.
- Bates (1996),
BatesParams: lognormal (Merton) jump sizes — the classic SVJ model, adding the short-dated skew and smile that pure Heston cannot produce; - Bates double-exponential,
BatesDoubleExpParams: Kou (2002) asymmetric double-exponential jump sizes — separate up/down tail decay rates, giving independent control of the two wings.
Both price semi-analytically through the characteristic function:
the log-price CF is the Heston CF times an independent jump
factor exp(lambda t (E[e^{iuY}] - 1) - iu lambda t kbar) with
kbar = E[e^Y] - 1 the martingale compensator, so the P1/P2
machinery of heston is reused unchanged
(the compensator keeps phi(-i) = forward exactly). With
intensity = 0 both models collapse to Heston to machine precision
(tested); with the vol-of-vol collapsed they reduce to Merton / Kou
jump-diffusion, which the tests verify against independent oracles.
Re-exports§
pub use crate::equity::heston::HestonQuote;
Structs§
- Bates
Double ExpFit - Calibration outcome for the double-exponential-jump Bates model.
- Bates
Double ExpParams - Heston diffusion plus Kou double-exponential jumps.
- Bates
Fit - Calibration outcome for the lognormal-jump Bates model.
- Bates
Params - Bates (1996): Heston diffusion plus lognormal jumps.
- KouJumps
- Kou (2002) double-exponential jumps: upward moves with probability
p_upand decayeta_up, downward with decayeta_down— independent control of the two smile wings. - Merton
Jumps - Lognormal (Merton) jumps:
ln(1 + J) ~ N(ln(1 + mean_jump) - jump_vol^2/2, jump_vol^2), arriving atintensityper year.
Functions§
- bates_
double_ exp_ price - Semi-analytic Bates double-exponential (Heston + Kou jumps) price of a European vanilla option.
- bates_
price - Semi-analytic Bates (SVJ) price of a European vanilla option.
- calibrate
- Calibrate all eight Bates parameters to European vanilla quotes —
the same Levenberg-Marquardt-in-transform-space pattern as
heston::calibrate. Short-dated quotes are what identify the jump parameters against the diffusion. - calibrate_
double_ exp - Calibrate all nine double-exponential Bates parameters to European vanilla quotes.