The jump size has an asymmetric double exponential distribution
$$
\begin{array}{rcl}
\omega(J)&=& p\frac{1}{\eta_u}e^{-\frac{1}{\eta_u}J} 1_{J>0}
+ q\frac{1}{\eta_d}e^{\frac{1}{\eta_d}J} 1_{J<0} \
p + q &=& 1
\end{array}
$$
Stochastic Volatility with Jump Diffusion
and Deterministic Jump Intensity
the correctness of the returned value is tested by
reproducing results available in web/literature, testing
against QuantLib's jump diffusion engine
and comparison with Black pricing.
Bates model engines based on Fourier transform
this classes price european options under the following processes
$$ \begin{array}{rcl} dS(t, S) &=& (r-d-\lambda m) S dt +\sqrt{v} S dW_1 + (e^J - 1) S dN \ dv(t, S) &=& \kappa (\theta - v) dt + \sigma \sqrt{v} dW_2 \ dW_1 dW_2 &=& \rho dt \end{array} $$
N is a Poisson process with the intensity $ \lambda $. When a jump occurs the magnitude J has the probability density function $ \omega(J) $.
1.1 Log-Normal Jump Diffusion: BatesEngine
Logarithm of the jump size J is normally distributed $$ \omega(J) = \frac{1}{\sqrt{2\pi \delta^2}} \exp\left[-\frac{(J-\nu)^2}{2\delta^2}\right] $$
1.2 Double-Exponential Jump Diffusion: BatesDoubleExpEngine
The jump size has an asymmetric double exponential distribution $$ \begin{array}{rcl} \omega(J)&=& p\frac{1}{\eta_u}e^{-\frac{1}{\eta_u}J} 1_{J>0} + q\frac{1}{\eta_d}e^{\frac{1}{\eta_d}J} 1_{J<0} \ p + q &=& 1 \end{array} $$
$$ \begin{array}{rcl} dS(t, S) &=& (r-d-\lambda m) S dt +\sqrt{v} S dW_1 + (e^J - 1) S dN \ dv(t, S) &=& \kappa (\theta - v) dt + \sigma \sqrt{v} dW_2 \ d\lambda(t) &=& \kappa_\lambda(\theta_\lambda-\lambda) dt \ dW_1 dW_2 &=& \rho dt \end{array} $$
2.1 Log-Normal Jump Diffusion with Deterministic Jump Intensity BatesDetJumpEngine
2.2 Double-Exponential Jump Diffusion with Deterministic Jump Intensity BatesDoubleExpDetJumpEngine
References:
D. Bates, Jumps and stochastic volatility: exchange rate processes implicit in Deutsche mark options, Review of Financial Sudies 9, 69-107.
A. Sepp, Pricing European-Style Options under Jump Diffusion Processes with Stochastic Volatility: Applications of Fourier Transform (http://math.ut.ee/~spartak/papers/stochjumpvols.pdf)
the correctness of the returned value is tested by reproducing results available in web/literature, testing against QuantLib's jump diffusion engine and comparison with Black pricing.