AnalyticDoubleBarrierEngine Class Reference
Pricing engines » Barrier option engines

Pricing engine for double barrier european options using analytical formulae. More...

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

Inheritance diagram for AnalyticDoubleBarrierEngine:
[legend]

## Public Member Functions

| AnalyticDoubleBarrierEngine (const boost::shared_ptr< GeneralizedBlackScholesProcess > &process, int series=5)
void | calculate () const
Public Member Functions inherited from GenericEngine< DoubleBarrierOption::arguments, DoubleBarrierOption::results >
PricingEngine::arguments * | getArguments () const
const PricingEngine::results * | getResults () const
void | reset ()
void | update ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< std::set< boost::shared_ptr< Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &)
void | registerWithObservables (const boost::shared_ptr< Observer > &)
Size | unregisterWith (const boost::shared_ptr< Observable > &)
void | unregisterWithAll ()

## Additional Inherited Members

Protected Member Functions inherited from DoubleBarrierOption::engine
bool | triggered (Real underlying) const
Protected Attributes inherited from GenericEngine< DoubleBarrierOption::arguments, DoubleBarrierOption::results >
DoubleBarrierOption::arguments | arguments_
DoubleBarrierOption::results | results_

## Detailed Description

Pricing engine for double barrier european options using analytical formulae.

The formulas are taken from "The complete guide to option pricing formulas 2nd Ed", E.G. Haug, McGraw-Hill, p.156 and following. Implements the Ikeda and Kunitomo series (see "Pricing Options with Curved Boundaries" Mathematical Finance 2/1992"). This code handles only flat barriers

Note
  the formula holds only when strike is in the barrier range

Tests:
  the correctness of the returned value is tested by reproducing results available in literature.