30 Rate corrEquityShortRate,
33 : hestonProcess_(hestonProcess), hwProcess_(hwProcess),
34 corrEquityShortRate_(corrEquityShortRate), solverDesc_(
std::move(solverDesc)),
35 schemeDesc_(schemeDesc) {
42 const ext::shared_ptr<FdmLinearOpComposite> op(
54 const Real x = std::log(
s);
72 const Real x = std::log(
s);
const Real corrEquityShortRate_
void performCalculations() const override
Real gammaAt(Real s, Real v, Rate r, Real eps) const
Real thetaAt(Real s, Real v, Rate r) const
Real valueAt(Real s, Real v, Rate r) const
const FdmSolverDesc solverDesc_
const Handle< HullWhiteProcess > hwProcess_
const Handle< HestonProcess > hestonProcess_
FdmHestonHullWhiteSolver(const Handle< HestonProcess > &hestonProcess, const Handle< HullWhiteProcess > &hwProcess, Rate corrEquityShortRate, FdmSolverDesc solverDesc, const FdmSchemeDesc &schemeDesc=FdmSchemeDesc::Hundsdorfer())
ext::shared_ptr< Fdm3DimSolver > solver_
Real deltaAt(Real s, Real v, Rate r, Real eps) const
const FdmSchemeDesc schemeDesc_
Shared handle to an observable.
virtual void calculate() const
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
Heston Hull White linear operator.
helper class storing market data needed for the quanto adjustment.
ext::shared_ptr< YieldTermStructure > r
ext::shared_ptr< BlackVolTermStructure > v
const ext::shared_ptr< FdmMesher > mesher