21#include <ql/pricingengines/vanilla/analytichestonhullwhiteengine.hpp>
27 const ext::shared_ptr<HestonModel>& hestonModel,
28 ext::shared_ptr<HullWhite> hullWhiteModel,
29 Size integrationOrder)
31 hullWhiteModel_(
std::move(hullWhiteModel)) {
37 const ext::shared_ptr<HestonModel>& hestonModel,
38 ext::shared_ptr<HullWhite> hullWhiteModel,
42 hullWhiteModel_(
std::move(hullWhiteModel)) {
57 *(t+2/
a_*std::exp(-
a_*t)-1/(2*
a_)*std::exp(-2*
a_*t)-3/(2*
a_));
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_
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
std::size_t Size
size of a container