23#ifndef quantlib_qd_fp_american_engine_hpp
24#define quantlib_qd_fp_american_engine_hpp
126 ext::shared_ptr<GeneralizedBlackScholesProcess> bsProcess,
127 ext::shared_ptr<QdFpIterationScheme> iterationScheme =
accurateScheme(),
130 static ext::shared_ptr<QdFpIterationScheme>
fastScheme();
High performance/precision American engine based on fixed point iteration for the exercise boundary.
static ext::shared_ptr< QdFpIterationScheme > highPrecisionScheme()
static ext::shared_ptr< QdFpIterationScheme > fastScheme()
const FixedPointEquation fpEquation_
const ext::shared_ptr< QdFpIterationScheme > iterationScheme_
static ext::shared_ptr< QdFpIterationScheme > accurateScheme()
Real calculatePut(Real S, Real K, Rate r, Rate q, Volatility vol, Time T) const override
Iteration scheme for fixed-point QD American engine.
virtual ~QdFpIterationScheme()=default
virtual ext::shared_ptr< Integrator > getFixedPointIntegrator() const =0
virtual Size getNumberOfNaiveFixedPointSteps() const =0
virtual Size getNumberOfJacobiNewtonFixedPointSteps() const =0
virtual Size getNumberOfChebyshevInterpolationNodes() const =0
virtual ext::shared_ptr< Integrator > getExerciseBoundaryToPriceIntegrator() const =0
Gauss-Legendre (l,m,n)-p Scheme.
Size getNumberOfChebyshevInterpolationNodes() const override
ext::shared_ptr< Integrator > getFixedPointIntegrator() const override
Size getNumberOfNaiveFixedPointSteps() const override
const ext::shared_ptr< Integrator > exerciseBoundaryIntegrator_
ext::shared_ptr< Integrator > getExerciseBoundaryToPriceIntegrator() const override
Size getNumberOfJacobiNewtonFixedPointSteps() const override
const ext::shared_ptr< Integrator > fpIntegrator_
Legendre-Tanh-Sinh (l,m,n)-eps Scheme.
ext::shared_ptr< Integrator > getExerciseBoundaryToPriceIntegrator() const override
tanh-sinh (m,n)-eps Scheme
Size getNumberOfChebyshevInterpolationNodes() const override
ext::shared_ptr< Integrator > getFixedPointIntegrator() const override
Size getNumberOfNaiveFixedPointSteps() const override
ext::shared_ptr< Integrator > getExerciseBoundaryToPriceIntegrator() const override
Size getNumberOfJacobiNewtonFixedPointSteps() const override
const ext::shared_ptr< Integrator > integrator_
Real Time
continuous quantity with 1-year units
Real Volatility
volatility
std::size_t Size
size of a container
ext::shared_ptr< YieldTermStructure > q
ext::shared_ptr< YieldTermStructure > r