QuantLib: FFTEngine Class Reference

A free/open-source library for quantitative finance Reference manual - version 1.6

- Main Page
- Related Pages
- Modules
- Classes
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FFTEngine Class Referenceabstract
Pricing engines » Vanilla option engines

Base class for FFT pricing engines for European vanilla options. More...

`#include <ql/experimental/variancegamma/fftengine.hpp>`

Inheritance diagram for FFTEngine:
[legend]

## Public Member Functions
| FFTEngine (const boost::shared_ptr< StochasticProcess1D > &process, Real logStrikeSpacing)
void | calculate () const
void | update ()
void | precalculate (const std::vector< boost::shared_ptr< Instrument > > &optionList)
virtual std::auto_ptr< FFTEngine > | clone () const =0

## Protected Member Functions
virtual void | precalculateExpiry (Date d)=0
virtual std::complex< Real > | complexFourierTransform (std::complex< Real > u) const =0
virtual Real | discountFactor (Date d) const =0
virtual Real | dividendYield (Date d) const =0
void | calculateUncached (boost::shared_ptr< StrikedTypePayoff > payoff, boost::shared_ptr< Exercise > exercise) const

## Protected Attributes
boost::shared_ptr< StochasticProcess1D > | process_
Real | lambda_

## Detailed Description

Base class for FFT pricing engines for European vanilla options.

The FFT engine calculates the values of all options with the same expiry at the same time. For that reason it is very inefficient to price options individually. When using this engine you should collect all the options you wish to price in a list and call the engine's precalculate method before calling the NPV method of the option.

References: Carr, P. and D. B. Madan (1998), "Option Valuation using the fast Fourier transform," Journal of Computational Finance, 2, 61-73.