### A free/open-source library for quantitative finance

Public Member Functions | Protected Member Functions
BatesEngine Class Reference
Vanilla option engines

Bates model engines based on Fourier transform. More...

`#include <ql/pricingengines/vanilla/batesengine.hpp>`

Inheritance diagram for BatesEngine:
[legend]

List of all members.

## Public Member Functions

| BatesEngine (const boost::shared_ptr< BatesModel > &model, Size integrationOrder=144)
| BatesEngine (const boost::shared_ptr< BatesModel > &model, Real relTolerance, Size maxEvaluations)

## Protected Member Functions

std::complex< Real > | addOnTerm (Real phi, Time t, Size j) const

## Detailed Description

Bates model engines based on Fourier transform.

this classes price european options under the following processes

1. Jump-Diffusion with Stochastic Volatility

N is a Poisson process with the intensity . When a jump occurs the magnitude J has the probability density function .

1.1 Log-Normal Jump Diffusion: BatesEngine

Logarithm of the jump size J is normally distributed

1.2 Double-Exponential Jump Diffusion: BatesDoubleExpEngine

The jump size has an asymmetric double exponential distribution

2. Stochastic Volatility with Jump Diffusion and Deterministic Jump Intensity

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>)

Tests:
  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.

Examples:
  EquityOption.cpp.