25#ifndef quantlib_analytic_continuous_geometric_average_price_asian_heston_engine_hpp
26#define quantlib_analytic_continuous_geometric_average_price_asian_heston_engine_hpp
69 ext::shared_ptr<HestonProcess> process,
70 Size summationCutoff = 50,
71 Real xiRightLimit = 100.0);
76 std::complex<Real>
Phi(
const std::complex<Real>&
s,
77 const std::complex<Real>& w,
108 std::complex<Real>
z1_f(
const std::complex<Real>&
s,
const std::complex<Real>& w,
Real T)
const;
109 std::complex<Real>
z2_f(
const std::complex<Real>&
s,
const std::complex<Real>& w,
Real T)
const;
110 std::complex<Real>
z3_f(
const std::complex<Real>&
s,
const std::complex<Real>& w,
Real T)
const;
111 std::complex<Real>
z4_f(
const std::complex<Real>&
s,
const std::complex<Real>& w)
const;
114 std::pair<std::complex<Real>, std::complex<Real> >
F_F_tilde(
115 const std::complex<Real>& z1,
116 const std::complex<Real>& z2,
117 const std::complex<Real>& z3,
118 const std::complex<Real>& z4,
120 Size cutoff = 50)
const;
123 std::complex<Real>
f(
const std::complex<Real>& z1,
124 const std::complex<Real>& z2,
125 const std::complex<Real>& z3,
126 const std::complex<Real>& z4,
Asian option on a single asset.
Pricing engine for European continuous geometric average price Asian.
ext::shared_ptr< HestonProcess > process_
std::complex< Real > z3_f(const std::complex< Real > &s, const std::complex< Real > &w, Real T) const
std::complex< Real > z4_f(const std::complex< Real > &s, const std::complex< Real > &w) const
void calculate() const override
std::pair< std::complex< Real >, std::complex< Real > > F_F_tilde(const std::complex< Real > &z1, const std::complex< Real > &z2, const std::complex< Real > &z3, const std::complex< Real > &z4, Real tau, Size cutoff=50) const
GaussLegendreIntegration integrator_
std::map< int, std::complex< Real > > fLookupTable_
std::complex< Real > z2_f(const std::complex< Real > &s, const std::complex< Real > &w, Real T) const
std::complex< Real > z1_f(const std::complex< Real > &s, const std::complex< Real > &w, Real T) const
Handle< YieldTermStructure > dividendYield_
std::complex< Real > Phi(const std::complex< Real > &s, const std::complex< Real > &w, Real T, Real t=0.0, Size cutoff=50) const
Handle< YieldTermStructure > riskFreeRate_
Continuous-averaging Asian engine base class.
Gauss-Legendre integration.
Shared handle to an observable.
Option exercise classes and payoff function.
Integral of a 1-dimensional function using the Gauss quadratures.
std::size_t Size
size of a container
Heston stochastic process.
integral of a one-dimensional function using Simpson formula