26#ifndef quantlib_fdm_heston_solver_hpp
27#define quantlib_fdm_heston_solver_hpp
29#include <ql/handle.hpp>
30#include <ql/patterns/lazyobject.hpp>
31#include <ql/methods/finitedifferences/utilities/fdmquantohelper.hpp>
32#include <ql/methods/finitedifferences/solvers/fdmsolverdesc.hpp>
33#include <ql/methods/finitedifferences/solvers/fdmbackwardsolver.hpp>
34#include <ql/methods/finitedifferences/utilities/fdmdirichletboundary.hpp>
35#include <ql/termstructures/volatility/equityfx/localvoltermstructure.hpp>
48 ext::shared_ptr<LocalVolTermStructure> leverageFct =
49 ext::shared_ptr<LocalVolTermStructure>(),
50 Real mixingFactor = 1.0);
77 mutable ext::shared_ptr<Fdm2DimSolver>
solver_;
ext::shared_ptr< Fdm2DimSolver > solver_
void performCalculations() const override
Real thetaAt(Real s, Real v) const
Real meanVarianceDeltaAt(Real s, Real v) const
const FdmSolverDesc solverDesc_
const ext::shared_ptr< LocalVolTermStructure > leverageFct_
Real gammaAt(Real s, Real v) const
const Handle< HestonProcess > process_
Real valueAt(Real s, Real v) const
Real deltaAt(Real s, Real v) const
const Handle< FdmQuantoHelper > quantoHelper_
Real meanVarianceGammaAt(Real s, Real v) const
const FdmSchemeDesc schemeDesc_
Shared handle to an observable.
Framework for calculation on demand and result caching.
static FdmSchemeDesc Hundsdorfer()