FDBermudanEngine< Scheme > Class Template Reference

Finite-differences Bermudan engine. More...

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

Inherits engine, and FDMultiPeriodEngine< Scheme >.

Public Member Functions

 FDBermudanEngine (const boost::shared_ptr< GeneralizedBlackScholesProcess > &process, Size timeSteps=100, Size gridPoints=100, bool timeDependent=false)
 
void calculate () const
 
- Public Member Functions inherited from FDVanillaEngine
 FDVanillaEngine (const boost::shared_ptr< GeneralizedBlackScholesProcess > &process, Size timeSteps, Size gridPoints, bool timeDependent=false)
 
const Arraygrid () const
 

Protected Member Functions

void initializeStepCondition () const
 
void executeIntermediateStep (Size) 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 setupArguments (const PricingEngine::arguments *) const
 
virtual void setGridLimits () const
 
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

Real extraTermInBermudan
 
- 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_
 
- Protected Attributes inherited from FDVanillaEngine
boost::shared_ptr
< GeneralizedBlackScholesProcess
process_
 
Size timeSteps_
 
Size gridPoints_
 
bool timeDependent_
 
Real requiredGridValue_
 
Date exerciseDate_
 
boost::shared_ptr< Payoffpayoff_
 
TridiagonalOperator finiteDifferenceOperator_
 
SampledCurve intrinsicValues_
 
std::vector< boost::shared_ptr
< bc_type > > 
BCs_
 
Real sMin_
 
Real center_
 
Real sMax_
 

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
 

Detailed Description

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

Finite-differences Bermudan engine.

Examples:
EquityOption.cpp.