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 |
![]() | |
FDVanillaEngine (const boost::shared_ptr< GeneralizedBlackScholesProcess > &process, Size timeSteps, Size gridPoints, bool timeDependent=false) | |
const Array & | grid () const |
Protected Member Functions | |
void | initializeStepCondition () const |
void | executeIntermediateStep (Size) const |
![]() | |
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 |
![]() | |
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 |
![]() | |
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_ |
![]() | |
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_ |
Additional Inherited Members | |
![]() | |
typedef FiniteDifferenceModel < Scheme< TridiagonalOperator > > | model_type |
![]() | |
typedef BoundaryCondition < TridiagonalOperator > | bc_type |
Finite-differences Bermudan engine.