Analytic engine for European Margrabe option. More...
#include <ql/experimental/exoticoptions/analyticeuropeanmargrabeengine.hpp>
Inheritance diagram for AnalyticEuropeanMargrabeEngine:Public Member Functions | |
| AnalyticEuropeanMargrabeEngine (const ext::shared_ptr< GeneralizedBlackScholesProcess > &process1, const ext::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 PricingEngine | |
| virtual arguments * | getArguments () const =0 |
| virtual const results * | getResults () const =0 |
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 ext::shared_ptr< Observable > &) |
| void | registerWithObservables (const ext::shared_ptr< Observer > &) |
| Size | unregisterWith (const ext::shared_ptr< Observable > &) |
| void | unregisterWithAll () |
| virtual void | deepUpdate () |
Additional Inherited Members | |
Public Types inherited from Observer | |
| typedef boost::unordered_set< ext::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_ |
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.