Finite-differences pricing engine for dividend options using escowed dividends model. More...
#include <ql/pricingengines/vanilla/fddividendengine.hpp>

Public Member Functions | |
| FDDividendEngineMerton73 (const boost::shared_ptr< GeneralizedBlackScholesProcess > &process, Size timeSteps=100, Size gridPoints=100, bool timeDependent=false) | |
Public Member Functions inherited from FDDividendEngineBase< Scheme > | |
| FDDividendEngineBase (const boost::shared_ptr< GeneralizedBlackScholesProcess > &process, Size timeSteps=100, Size gridPoints=100, bool timeDependent=false) | |
Public Member Functions inherited from FDVanillaEngine | |
| FDVanillaEngine (const boost::shared_ptr< GeneralizedBlackScholesProcess > &process, Size timeSteps, Size gridPoints, bool timeDependent=false) | |
| const Array & | grid () const |
Additional Inherited Members | |
Protected Types inherited from FDMultiPeriodEngine< Scheme > | |
|
typedef FiniteDifferenceModel < Scheme< TridiagonalOperator > > | model_type |
Protected Types inherited from FDVanillaEngine | |
|
typedef BoundaryCondition < TridiagonalOperator > | bc_type |
Protected Member Functions inherited from FDDividendEngineBase< Scheme > | |
| virtual void | setupArguments (const PricingEngine::arguments *) const |
| 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 |
Protected Attributes inherited from FDMultiPeriodEngine< Scheme > | |
|
std::vector< boost::shared_ptr < Event > > | events_ |
| std::vector< Time > | stoppingTimes_ |
| Size | timeStepPerPeriod_ |
| SampledCurve | prices_ |
|
boost::shared_ptr < StandardStepCondition > | stepCondition_ |
| boost::shared_ptr< model_type > | model_ |
Protected Attributes inherited from FDVanillaEngine | |
|
boost::shared_ptr < GeneralizedBlackScholesProcess > | process_ |
| Size | timeSteps_ |
| Size | gridPoints_ |
| bool | timeDependent_ |
| Real | requiredGridValue_ |
| Date | exerciseDate_ |
| boost::shared_ptr< Payoff > | payoff_ |
| TridiagonalOperator | finiteDifferenceOperator_ |
| SampledCurve | intrinsicValues_ |
|
std::vector< boost::shared_ptr < bc_type > > | BCs_ |
| Real | sMin_ |
| Real | center_ |
| Real | sMax_ |
Finite-differences pricing engine for dividend options using escowed dividends model.
The Merton-73 engine is the classic engine described in most derivatives texts. However, Haug, Haug, and Lewis in "Back to Basics: a new approach to the discrete dividend problem" argues that this scheme underprices call options. This is set as the default engine, because it is consistent with the analytic version.