23#ifndef quantlib_fdm_cir_solver_hpp
24#define quantlib_fdm_cir_solver_hpp
26#include <ql/handle.hpp>
27#include <ql/methods/finitedifferences/solvers/fdmbackwardsolver.hpp>
28#include <ql/methods/finitedifferences/solvers/fdmsolverdesc.hpp>
29#include <ql/methods/finitedifferences/utilities/fdmdirichletboundary.hpp>
30#include <ql/methods/finitedifferences/utilities/fdmquantohelper.hpp>
31#include <ql/models/shortrate/onefactormodels/coxingersollross.hpp>
32#include <ql/patterns/lazyobject.hpp>
33#include <ql/processes/blackscholesprocess.hpp>
34#include <ql/processes/coxingersollrossprocess.hpp>
35#include <ql/termstructures/volatility/equityfx/localvoltermstructure.hpp>
67 mutable ext::shared_ptr<Fdm2DimSolver>
solver_;
ext::shared_ptr< Fdm2DimSolver > solver_
const Handle< CoxIngersollRossProcess > cirProcess_
void performCalculations() const override
Real thetaAt(Real s, Real v) const
const Handle< GeneralizedBlackScholesProcess > bsProcess_
const FdmSolverDesc solverDesc_
Real gammaAt(Real s, Real v) const
Real valueAt(Real s, Real v) const
Real deltaAt(Real s, Real v) const
const FdmSchemeDesc schemeDesc_
Shared handle to an observable.
Framework for calculation on demand and result caching.
static FdmSchemeDesc Hundsdorfer()