Bates model engines based on Fourier transform. More...
#include <ql/pricingengines/vanilla/batesengine.hpp>

Public Member Functions | |
| BatesEngine (const boost::shared_ptr< BatesModel > &model, Size integrationOrder=144) | |
| BatesEngine (const boost::shared_ptr< BatesModel > &model, Real relTolerance, Size maxEvaluations) | |
Public Member Functions inherited from AnalyticHestonEngine | |
| AnalyticHestonEngine (const boost::shared_ptr< HestonModel > &model, Real relTolerance, Size maxEvaluations) | |
| AnalyticHestonEngine (const boost::shared_ptr< HestonModel > &model, Size integrationOrder=144) | |
| AnalyticHestonEngine (const boost::shared_ptr< HestonModel > &model, ComplexLogFormula cpxLog, const Integration &itg) | |
| void | calculate () const |
| Size | numberOfEvaluations () const |
Public Member Functions inherited from GenericModelEngine< HestonModel, VanillaOption::arguments, VanillaOption::results > | |
| GenericModelEngine (const Handle< HestonModel > &model=Handle< HestonModel >()) | |
| GenericModelEngine (const boost::shared_ptr< HestonModel > &model) | |
Public Member Functions inherited from GenericEngine< VanillaOption::arguments, VanillaOption::results > | |
| PricingEngine::arguments * | getArguments () const |
| const PricingEngine::results * | getResults () const |
| void | reset () |
| void | update () |
Public Member Functions inherited from Observer | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) |
|
std::pair< std::set < boost::shared_ptr < Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) |
| Size | unregisterWith (const boost::shared_ptr< Observable > &) |
| void | unregisterWithAll () |
Protected Member Functions | |
| std::complex< Real > | addOnTerm (Real phi, Time t, Size j) const |
Additional Inherited Members | |
Public Types inherited from AnalyticHestonEngine | |
| enum | ComplexLogFormula { Gatheral, BranchCorrection } |
Static Public Member Functions inherited from AnalyticHestonEngine | |
| static void | doCalculation (Real riskFreeDiscount, Real dividendDiscount, Real spotPrice, Real strikePrice, Real term, Real kappa, Real theta, Real sigma, Real v0, Real rho, const TypePayoff &type, const Integration &integration, const ComplexLogFormula cpxLog, const AnalyticHestonEngine *const enginePtr, Real &value, Size &evaluations) |
Protected Attributes inherited from GenericModelEngine< HestonModel, VanillaOption::arguments, VanillaOption::results > | |
| Handle< HestonModel > | model_ |
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 \form#29@_fakenl. When a jump occurs the magnitude J has the probability density function \form#323. 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>)