FDDividendEngineBase< Scheme > Class Template Referenceabstract

Abstract base class for dividend engines. More...

#include <ql/pricingengines/vanilla/fddividendengine.hpp>

Inheritance diagram for FDDividendEngineBase< Scheme >:

Public Member Functions

 FDDividendEngineBase (const boost::shared_ptr< GeneralizedBlackScholesProcess > &process, Size timeSteps=100, Size gridPoints=100, bool timeDependent=false)
 

Protected Member Functions

virtual void setupArguments (const PricingEngine::arguments *) const
 
void setGridLimits () const =0
 
void executeIntermediateStep (Size step) const =0
 
Real getDividendAmount (Size i) const
 
Real getDiscountedDividend (Size i) const
 
- Protected Member Functions inherited from FDMultiPeriodEngine< Scheme >
 FDMultiPeriodEngine (const boost::shared_ptr< GeneralizedBlackScholesProcess > &process, Size timeSteps=100, Size gridPoints=100, bool timeDependent=false)
 
virtual void setupArguments (const PricingEngine::arguments *args, const std::vector< boost::shared_ptr< Event > > &schedule) const
 
virtual void setupArguments (const PricingEngine::arguments *a) const
 
virtual void calculate (PricingEngine::results *) const
 
virtual void executeIntermediateStep (Size step) const =0
 
virtual void initializeStepCondition () const
 
virtual void initializeModel () const
 
Time getDividendTime (Size i) const
 
- Protected Member Functions inherited from FDVanillaEngine
virtual void setGridLimits (Real, Time) const
 
virtual void initializeInitialCondition () const
 
virtual void initializeBoundaryConditions () const
 
virtual void initializeOperator () const
 
virtual Time getResidualTime () const
 
void ensureStrikeInGrid () const
 

Additional Inherited Members

- Protected Types inherited from FDMultiPeriodEngine< Scheme >
typedef FiniteDifferenceModel
< Scheme< TridiagonalOperator > > 
model_type
 
- Protected Attributes inherited from FDMultiPeriodEngine< Scheme >
std::vector< boost::shared_ptr
< Event > > 
events_
 
std::vector< TimestoppingTimes_
 
Size timeStepPerPeriod_
 
SampledCurve prices_
 
boost::shared_ptr
< StandardStepCondition
stepCondition_
 
boost::shared_ptr< model_typemodel_
 

Detailed Description

template<template< class > class Scheme = CrankNicolson>
class QuantLib::FDDividendEngineBase< Scheme >

Abstract base class for dividend engines.

Possible enhancements:
The dividend class really needs to be made more sophisticated to distinguish between fixed dividends and fractional dividends