QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.5
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
FDVanillaEngine Class Reference

Finite-differences pricing engine for BSM one asset options. More...

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

+ Inheritance diagram for FDVanillaEngine:

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_
 
Date exerciseDate_
 
boost::shared_ptr< Payoffpayoff_
 
TridiagonalOperator finiteDifferenceOperator_
 
SampledCurve intrinsicValues_
 
std::vector< boost::shared_ptr
< bc_type > > 
BCs_
 
Real sMin_
 
Real center_
 
Real sMax_
 

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.