27 const ext::shared_ptr<HestonModel>& hestonModel,
28 ext::shared_ptr<HullWhite> hullWhiteModel,
29 Size integrationOrder)
33 hullWhiteModel_(
std::move(hullWhiteModel)) {
39 const ext::shared_ptr<HestonModel>& hestonModel,
40 ext::shared_ptr<HullWhite> hullWhiteModel,
46 relTolerance,
Null<
Real>(), maxEvaluations)),
47 hullWhiteModel_(
std::move(hullWhiteModel)) {
62 *(
t+2/
a_*std::exp(-
a_*
t)-1/(2*
a_)*std::exp(-2*
a_*
t)-3/(2*
a_));
analytic heston engine incl. stochastic interest rates
analytic Heston-model engine based on Fourier transform
void calculate() const override
void calculate() const override
AnalyticHestonHullWhiteEngine(const ext::shared_ptr< HestonModel > &hestonModel, ext::shared_ptr< HullWhite > hullWhiteModel, Size integrationOrder=144)
const ext::shared_ptr< HullWhite > hullWhiteModel_
Handle< HestonModel > model_
template class providing a null value for a given type.
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
std::size_t Size
size of a container