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

Derman-Kani-Ergener-Bardhan discretized option helper class. More...

#include <ql/experimental/barrieroption/discretizeddoublebarrieroption.hpp>

+ Inheritance diagram for DiscretizedDermanKaniDoubleBarrierOption:

Public Member Functions

 DiscretizedDermanKaniDoubleBarrierOption (const DoubleBarrierOption::arguments &, const StochasticProcess &process, const TimeGrid &grid=TimeGrid())
 
void reset (Size size)
 
std::vector< TimemandatoryTimes () const
 
- Public Member Functions inherited from DiscretizedAsset
Time time () const
 
Timetime ()
 
const Arrayvalues () const
 
Arrayvalues ()
 
const boost::shared_ptr< Lattice > & method () const
 
void initialize (const boost::shared_ptr< Lattice > &, Time t)
 
void rollback (Time to)
 
void partialRollback (Time to)
 
Real presentValue ()
 
void preAdjustValues ()
 
void postAdjustValues ()
 
void adjustValues ()
 

Protected Member Functions

void postAdjustValuesImpl ()
 
- Protected Member Functions inherited from DiscretizedAsset
bool isOnTime (Time t) const
 
virtual void preAdjustValuesImpl ()
 

Additional Inherited Members

- Protected Attributes inherited from DiscretizedAsset
Time time_
 
Time latestPreAdjustment_
 
Time latestPostAdjustment_
 
Array values_
 

Detailed Description

Derman-Kani-Ergener-Bardhan discretized option helper class.

This class is used with the BinomialDoubleBarrierEngine to implement the enhanced binomial algorithm of E.Derman, I.Kani, D.Ergener, I.Bardhan ("Enhanced Numerical Methods for Options with Barriers", 1995)

Note
This algorithm is only suitable if the payoff can be approximated linearly, e.g. is not usable for cash-or-nothing payoffs.

Member Function Documentation

void reset ( Size  size)
virtual

This method should initialize the asset values to an Array of the given size and with values depending on the particular asset.

Implements DiscretizedAsset.

std::vector<Time> mandatoryTimes ( ) const
virtual

This method returns the times at which the numerical method should stop while rolling back the asset. Typical examples include payment times, exercise times and such.

Note
The returned values are not guaranteed to be sorted.

Implements DiscretizedAsset.

void postAdjustValuesImpl ( )
protectedvirtual

This method performs the actual post-adjustment

Reimplemented from DiscretizedAsset.