DiscretizedDermanKaniDoubleBarrierOption Class Reference

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

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

Inheritance diagram for DiscretizedDermanKaniDoubleBarrierOption:
[legend]

## Public Member Functions

| DiscretizedDermanKaniDoubleBarrierOption (const DoubleBarrierOption::arguments &, const StochasticProcess &process, const TimeGrid &grid=TimeGrid())
void | reset (Size size)
std::vector< Time > | mandatoryTimes () const
Public Member Functions inherited from DiscretizedAsset
Time | time () const
Time & | time ()
const Array & | values () const
Array & | values ()
const ext::shared_ptr< Lattice > & | method () const
void | initialize (const ext::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

## reset()

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.

## mandatoryTimes()

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.

## postAdjustValuesImpl()

void postAdjustValuesImpl | ( |  | ) |

protected virtual

This method performs the actual post-adjustment

Reimplemented from DiscretizedAsset.