QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
analytic piecewise constant time dependent Heston-model engine More...
#include <analyticptdhestonengine.hpp>
Public Types | |
enum | ComplexLogFormula { Gatheral , AndersenPiterbarg } |
typedef AnalyticHestonEngine::Integration | Integration |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Public Member Functions | |
AnalyticPTDHestonEngine (const ext::shared_ptr< PiecewiseTimeDependentHestonModel > &model, Real relTolerance, Size maxEvaluations) | |
AnalyticPTDHestonEngine (const ext::shared_ptr< PiecewiseTimeDependentHestonModel > &model, Size integrationOrder=144) | |
AnalyticPTDHestonEngine (const ext::shared_ptr< PiecewiseTimeDependentHestonModel > &model, ComplexLogFormula cpxLog, const Integration &itg, Real andersenPiterbargEpsilon=1e-8) | |
void | calculate () const override |
Size | numberOfEvaluations () const |
std::complex< Real > | chF (const std::complex< Real > &z, Time t) const |
std::complex< Real > | lnChF (const std::complex< Real > &z, Time t) const |
Public Member Functions inherited from GenericModelEngine< PiecewiseTimeDependentHestonModel, VanillaOption::arguments, VanillaOption::results > | |
GenericModelEngine (Handle< PiecewiseTimeDependentHestonModel > model=Handle< PiecewiseTimeDependentHestonModel >()) | |
GenericModelEngine (const ext::shared_ptr< PiecewiseTimeDependentHestonModel > &model) | |
Public Member Functions inherited from GenericEngine< ArgumentsType, ResultsType > | |
PricingEngine::arguments * | getArguments () const override |
const PricingEngine::results * | getResults () const override |
void | reset () override |
void | update () override |
Public Member Functions inherited from PricingEngine | |
~PricingEngine () override=default | |
virtual arguments * | getArguments () const =0 |
virtual const results * | getResults () const =0 |
virtual void | reset ()=0 |
virtual void | calculate () const =0 |
Public Member Functions inherited from Observable | |
Observable () | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (Observable &&)=delete |
virtual | ~Observable ()=default |
void | notifyObservers () |
Public Member Functions inherited from Observer | |
Observer ()=default | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
virtual | ~Observer () |
std::pair< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &) |
void | registerWithObservables (const ext::shared_ptr< Observer > &) |
Size | unregisterWith (const ext::shared_ptr< Observable > &) |
void | unregisterWithAll () |
virtual void | update ()=0 |
virtual void | deepUpdate () |
Private Attributes | |
Size | evaluations_ |
const ComplexLogFormula | cpxLog_ |
const ext::shared_ptr< Integration > | integration_ |
const Real | andersenPiterbargEpsilon_ |
Additional Inherited Members | |
Protected Attributes inherited from GenericModelEngine< PiecewiseTimeDependentHestonModel, VanillaOption::arguments, VanillaOption::results > | |
Handle< PiecewiseTimeDependentHestonModel > | model_ |
Protected Attributes inherited from GenericEngine< ArgumentsType, ResultsType > | |
ArgumentsType | arguments_ |
ResultsType | results_ |
analytic piecewise constant time dependent Heston-model engine
References:
Heston, Steven L., 1993. A Closed-Form Solution for Options with Stochastic Volatility with Applications to Bond and Currency Options. The review of Financial Studies, Volume 6, Issue 2, 327-343.
J. Gatheral, The Volatility Surface: A Practitioner's Guide, Wiley Finance
A. Elices, Models with time-dependent parameters using transform methods: application to Heston’s model, http://arxiv.org/pdf/0708.2020
Definition at line 52 of file analyticptdhestonengine.hpp.
Definition at line 58 of file analyticptdhestonengine.hpp.
enum ComplexLogFormula |
Enumerator | |
---|---|
Gatheral | |
AndersenPiterbarg |
Definition at line 57 of file analyticptdhestonengine.hpp.
AnalyticPTDHestonEngine | ( | const ext::shared_ptr< PiecewiseTimeDependentHestonModel > & | model, |
Real | relTolerance, | ||
Size | maxEvaluations | ||
) |
Definition at line 224 of file analyticptdhestonengine.cpp.
|
explicit |
Definition at line 211 of file analyticptdhestonengine.cpp.
AnalyticPTDHestonEngine | ( | const ext::shared_ptr< PiecewiseTimeDependentHestonModel > & | model, |
ComplexLogFormula | cpxLog, | ||
const Integration & | itg, | ||
Real | andersenPiterbargEpsilon = 1e-8 |
||
) |
Definition at line 237 of file analyticptdhestonengine.cpp.
|
overridevirtual |
Implements PricingEngine.
Definition at line 252 of file analyticptdhestonengine.cpp.
Size numberOfEvaluations | ( | ) | const |
Definition at line 408 of file analyticptdhestonengine.cpp.
Definition at line 206 of file analyticptdhestonengine.cpp.
Definition at line 155 of file analyticptdhestonengine.cpp.
|
mutableprivate |
Definition at line 94 of file analyticptdhestonengine.hpp.
|
private |
Definition at line 95 of file analyticptdhestonengine.hpp.
|
private |
Definition at line 96 of file analyticptdhestonengine.hpp.
|
private |
Definition at line 97 of file analyticptdhestonengine.hpp.