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

Lattice (tree, finite-differences) base class More...

#include <ql/numericalmethod.hpp>

+ Inheritance diagram for Lattice:

Public Member Functions

 Lattice (const TimeGrid &timeGrid)
 
virtual Disposable< Arraygrid (Time) const =0
 
Inspectors
const TimeGridtimeGrid () const
 
Numerical method interface

These methods are to be used by discretized assets and must be overridden by developers implementing numerical methods. Users are advised to use the corresponding methods of DiscretizedAsset instead.

virtual void initialize (DiscretizedAsset &, Time time) const =0
 initialize an asset at the given time.
 
virtual void rollback (DiscretizedAsset &, Time to) const =0
 
virtual void partialRollback (DiscretizedAsset &, Time to) const =0
 
virtual Real presentValue (DiscretizedAsset &) const =0
 computes the present value of an asset.
 

Protected Attributes

TimeGrid t_
 

Detailed Description

Lattice (tree, finite-differences) base class

Member Function Documentation

virtual void rollback ( DiscretizedAsset ,
Time  to 
) const
pure virtual
virtual void partialRollback ( DiscretizedAsset ,
Time  to 
) const
pure virtual

Roll back an asset until the given time, but do not perform the final adjustment.

Warning:
In version 0.3.7 and earlier, this method was called rollAlmostBack method and performed pre-adjustment. This is no longer true; when migrating your code, you'll have to replace calls such as:
method->rollAlmostBack(asset,t);
with the two statements:
method->partialRollback(asset,t);
asset->preAdjustValues();

Implemented in TreeLattice< Impl >, TreeLattice< OneFactorModel::ShortRateTree >, TreeLattice< TwoFactorModel::ShortRateTree >, TreeLattice< BlackScholesLattice< T > >, and TsiveriotisFernandesLattice< T >.