QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.12
Public Member Functions | List of all members
COSHestonEngine Class Reference

COS-method Heston engine based on efficient Fourier series expansions. More...

#include <ql/pricingengines/vanilla/coshestonengine.hpp>

+ Inheritance diagram for COSHestonEngine:

Public Member Functions

 COSHestonEngine (const boost::shared_ptr< HestonModel > &model, Real L=16, Size N=200)
 
void update ()
 
void calculate () const
 
std::complex< RealchF (Real u, Real t) const
 
Real c1 (Time t) const
 
Real c2 (Time t) const
 
Real c3 (Time t) const
 
Real c4 (Time t) 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 Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
std::pair< iterator, bool > registerWith (const boost::shared_ptr< Observable > &)
 
void registerWithObservables (const boost::shared_ptr< Observer > &)
 
Size unregisterWith (const boost::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void deepUpdate ()
 

Additional Inherited Members

- Public Types inherited from Observer
typedef std::set< boost::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 
- Protected Attributes inherited from GenericModelEngine< HestonModel, VanillaOption::arguments, VanillaOption::results >
Handle< HestonModelmodel_
 
- Protected Attributes inherited from GenericEngine< VanillaOption::arguments, VanillaOption::results >
VanillaOption::arguments arguments_
 
VanillaOption::results results_
 

Detailed Description

COS-method Heston engine based on efficient Fourier series expansions.

References:

F. Fang, C.W. Oosterlee: A Novel Pricing Method for European Ooptions based on Fourier-Cosine Series Expansions, http://ta.twi.tudelft.nl/mf/users/oosterle/oosterlee/COS.pdf

Fabien Le Floc'h: Fourier Integration and Stochastic Volatility Calibration, https://papers.ssrn.com/sol3/papers2.cfm?abstract_id=2362968

Tests:
the correctness of the returned value is tested by reproducing results available in web/literature and comparison with Black pricing.

Member Function Documentation

◆ update()

void update ( )
virtual

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Implements Observer.