25#ifndef quantlib_heston_slv_mc_model_hpp
26#define quantlib_heston_slv_mc_model_hpp
28#include <ql/handle.hpp>
29#include <ql/timegrid.hpp>
30#include <ql/patterns/lazyobject.hpp>
31#include <ql/models/equity/hestonmodel.hpp>
32#include <ql/models/marketmodels/browniangenerator.hpp>
33#include <ql/termstructures/volatility/equityfx/fixedlocalvolsurface.hpp>
47 ext::shared_ptr<BrownianGeneratorFactory> brownianGeneratorFactory,
49 Size timeStepsPerYear = 365,
51 Size calibrationPaths = (1 << 15),
52 const std::vector<Date>& mandatoryDates = std::vector<Date>(),
53 Real mixingFactor = 1.0);
56 ext::shared_ptr<LocalVolTermStructure>
localVol()
const;
Shared handle to an observable.
ext::shared_ptr< LocalVolTermStructure > leverageFunction() const
ext::shared_ptr< TimeGrid > timeGrid_
void performCalculations() const override
const ext::shared_ptr< BrownianGeneratorFactory > brownianGeneratorFactory_
const Size calibrationPaths_
const Handle< LocalVolTermStructure > localVol_
const Handle< HestonModel > hestonModel_
ext::shared_ptr< HestonProcess > hestonProcess() const
ext::shared_ptr< FixedLocalVolSurface > leverageFunction_
ext::shared_ptr< LocalVolTermStructure > localVol() const
Framework for calculation on demand and result caching.
std::size_t Size
size of a container