QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Analytic engine for European Margrabe option. More...
#include <analyticeuropeanmargrabeengine.hpp>
Public Member Functions | |
AnalyticEuropeanMargrabeEngine (ext::shared_ptr< GeneralizedBlackScholesProcess > process1, ext::shared_ptr< GeneralizedBlackScholesProcess > process2, Real correlation) | |
void | calculate () const override |
Public Member Functions inherited from GenericEngine< MargrabeOption::arguments, MargrabeOption::results > | |
PricingEngine::arguments * | getArguments () const override |
const PricingEngine::results * | getResults () const override |
void | reset () override |
void | update () override |
Public Member Functions inherited from PricingEngine | |
~PricingEngine () override=default | |
virtual arguments * | getArguments () const =0 |
virtual const results * | getResults () const =0 |
virtual void | reset ()=0 |
virtual void | calculate () const =0 |
Public Member Functions inherited from Observable | |
Observable () | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (Observable &&)=delete |
virtual | ~Observable ()=default |
void | notifyObservers () |
Public Member Functions inherited from Observer | |
Observer ()=default | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
virtual | ~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 | update ()=0 |
virtual void | deepUpdate () |
Private Attributes | |
ext::shared_ptr< GeneralizedBlackScholesProcess > | process1_ |
ext::shared_ptr< GeneralizedBlackScholesProcess > | process2_ |
Real | rho_ |
Additional Inherited Members | |
Public Types inherited from Observer | |
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.
Definition at line 41 of file analyticeuropeanmargrabeengine.hpp.
AnalyticEuropeanMargrabeEngine | ( | ext::shared_ptr< GeneralizedBlackScholesProcess > | process1, |
ext::shared_ptr< GeneralizedBlackScholesProcess > | process2, | ||
Real | correlation | ||
) |
Definition at line 28 of file analyticeuropeanmargrabeengine.cpp.
|
overridevirtual |
Implements PricingEngine.
Definition at line 37 of file analyticeuropeanmargrabeengine.cpp.
|
private |
Definition at line 49 of file analyticeuropeanmargrabeengine.hpp.
|
private |
Definition at line 50 of file analyticeuropeanmargrabeengine.hpp.
|
private |
Definition at line 51 of file analyticeuropeanmargrabeengine.hpp.