QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
|
Pricing engine for European discrete geometric average price Asian. More...
#include <ql/experimental/asian/analytic_discr_geom_av_price_heston.hpp>
Public Member Functions | |
AnalyticDiscreteGeometricAveragePriceAsianHestonEngine (ext::shared_ptr< HestonProcess > process, Real xiRightLimit=100.0) | |
void | calculate () const override |
std::complex< Real > | Phi (std::complex< Real > s, std::complex< Real > w, Time t, Time T, Size kStar, const std::vector< Time > &t_n, const std::vector< Time > &tauK) const |
Public Member Functions inherited from GenericEngine< DiscreteAveragingAsianOption::arguments, DiscreteAveragingAsianOption::results > | |
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 Member Functions | |
std::complex< Real > | F (const std::complex< Real > &z1, const std::complex< Real > &z2, Time tau) const |
std::complex< Real > | F_tilde (const std::complex< Real > &z1, const std::complex< Real > &z2, Time tau) const |
std::complex< Real > | z (const std::complex< Real > &s, const std::complex< Real > &w, Size k, Size n) const |
std::complex< Real > | omega (const std::complex< Real > &s, const std::complex< Real > &w, Size k, Size kStar, Size n) const |
std::complex< Real > | a (const std::complex< Real > &s, const std::complex< Real > &w, Time t, Time T, Size kStar, const std::vector< Time > &t_n) const |
std::complex< Real > | omega_tilde (const std::complex< Real > &s, const std::complex< Real > &w, Size k, Size kStar, Size n, const std::vector< Time > &tauK) const |
Private Attributes | |
Real | v0_ |
Real | rho_ |
Real | kappa_ |
Real | theta_ |
Real | sigma_ |
Real | logS0_ |
Handle< YieldTermStructure > | dividendYield_ |
Handle< YieldTermStructure > | riskFreeRate_ |
Handle< Quote > | s0_ |
ext::shared_ptr< HestonProcess > | process_ |
std::map< Size, std::complex< Real > > | omegaTildeLookupTable_ |
Real | xiRightLimit_ |
GaussLegendreIntegration | integrator_ |
Real | tr_t_ |
Real | Tr_T_ |
std::vector< Real > | tkr_tk_ |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Protected Attributes inherited from GenericEngine< DiscreteAveragingAsianOption::arguments, DiscreteAveragingAsianOption::results > | |
DiscreteAveragingAsianOption::arguments | arguments_ |
DiscreteAveragingAsianOption::results | results_ |
Pricing engine for European discrete geometric average price Asian.
This class implements a discrete geometric average price Asian option with European exercise under the Heston stochastic vol model where spot and variance follow the processes
\[ \begin{array}{rcl} dS(t, S) &=& (r-d) S dt +\sqrt{v} S dW_1 \\ dv(t, S) &=& \kappa (\theta - v) dt + \sigma \sqrt{v} dW_2 \\ dW_1 dW_2 &=& \rho dt \\ \end{array} \]
References:
Implements the analytical solution for continuous geometric Asian options developed in "A Recursive Method for Discretely Monitored Geometric Asian Option Prices", B. Kim, J. Kim, J. Kim & I. S. Wee, Bull. Korean Math. Soc. 53, 733-749 (2016)
Definition at line 64 of file analytic_discr_geom_av_price_heston.hpp.
|
explicit |
Definition at line 59 of file analytic_discr_geom_av_price_heston.cpp.
|
overridevirtual |
Implements PricingEngine.
Definition at line 202 of file analytic_discr_geom_av_price_heston.cpp.
std::complex< Real > Phi | ( | std::complex< Real > | s, |
std::complex< Real > | w, | ||
Time | t, | ||
Time | T, | ||
Size | kStar, | ||
const std::vector< Time > & | t_n, | ||
const std::vector< Time > & | tauK | ||
) | const |
Definition at line 174 of file analytic_discr_geom_av_price_heston.cpp.
|
private |
Definition at line 77 of file analytic_discr_geom_av_price_heston.cpp.
|
private |
Definition at line 89 of file analytic_discr_geom_av_price_heston.cpp.
|
private |
Definition at line 97 of file analytic_discr_geom_av_price_heston.cpp.
|
private |
Definition at line 107 of file analytic_discr_geom_av_price_heston.cpp.
|
private |
Definition at line 118 of file analytic_discr_geom_av_price_heston.cpp.
|
private |
Definition at line 140 of file analytic_discr_geom_av_price_heston.cpp.
|
private |
Definition at line 82 of file analytic_discr_geom_av_price_heston.hpp.
|
private |
Definition at line 82 of file analytic_discr_geom_av_price_heston.hpp.
|
private |
Definition at line 82 of file analytic_discr_geom_av_price_heston.hpp.
|
private |
Definition at line 82 of file analytic_discr_geom_av_price_heston.hpp.
|
private |
Definition at line 82 of file analytic_discr_geom_av_price_heston.hpp.
|
private |
Definition at line 82 of file analytic_discr_geom_av_price_heston.hpp.
|
private |
Definition at line 83 of file analytic_discr_geom_av_price_heston.hpp.
|
private |
Definition at line 84 of file analytic_discr_geom_av_price_heston.hpp.
Definition at line 85 of file analytic_discr_geom_av_price_heston.hpp.
|
private |
Definition at line 87 of file analytic_discr_geom_av_price_heston.hpp.
Definition at line 90 of file analytic_discr_geom_av_price_heston.hpp.
|
private |
Definition at line 93 of file analytic_discr_geom_av_price_heston.hpp.
|
private |
Definition at line 96 of file analytic_discr_geom_av_price_heston.hpp.
|
mutableprivate |
Definition at line 104 of file analytic_discr_geom_av_price_heston.hpp.
|
mutableprivate |
Definition at line 105 of file analytic_discr_geom_av_price_heston.hpp.
|
mutableprivate |
Definition at line 106 of file analytic_discr_geom_av_price_heston.hpp.