AnalyticEuropeanMargrabeEngine Class Reference

Analytic engine for European Margrabe option. More...

`#include <ql/experimental/exoticoptions/analyticeuropeanmargrabeengine.hpp>`

Inheritance diagram for AnalyticEuropeanMargrabeEngine:
[legend]

## Public Member Functions

| AnalyticEuropeanMargrabeEngine (const boost::shared_ptr< GeneralizedBlackScholesProcess > &process1, const boost::shared_ptr< GeneralizedBlackScholesProcess > &process2, Real correlation)
void | calculate () const
Public Member Functions inherited from GenericEngine< MargrabeOption::arguments, MargrabeOption::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< iterator, bool > | registerWith (const boost::shared_ptr< Observable > &)
void | registerWithObservables (const boost::shared_ptr< Observer > &)
Size | unregisterWith (const boost::shared_ptr< Observable > &)
void | unregisterWithAll ()
virtual void | deepUpdate ()

## Additional Inherited Members

Public Types inherited from Observer
typedef std::set< boost::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator
Protected Attributes inherited from GenericEngine< MargrabeOption::arguments, MargrabeOption::results >
MargrabeOption::arguments | arguments_
MargrabeOption::results | results_

## Detailed Description

Analytic engine for European Margrabe option.

This class implements formulae from "The Value of an Option to Exchange One Asset for Another", W. Margrabe, Journal of Finance, 33 (March 1978), 177-186.

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