FDVanillaEngine Class Reference
[Vanilla option engines]

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

Inheritance diagram for FDVanillaEngine:

List of all members.


Detailed Description

Finite-differences pricing engine for BSM one asset options.

The name is a misnomer as this is a base class for any finite difference scheme. Its main job is to handle grid layout.

Public Member Functions

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

Protected Types

typedef BoundaryCondition
< TridiagonalOperator
bc_type

Protected Member Functions

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

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_