|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
Pricing engine for spread options with two assets. More...
#include <operatorsplittingspreadengine.hpp>
Inheritance diagram for OperatorSplittingSpreadEngine:
Collaboration diagram for OperatorSplittingSpreadEngine:Public Types | |
| enum | Order { First , Second } |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
Public Member Functions | |
| OperatorSplittingSpreadEngine (ext::shared_ptr< GeneralizedBlackScholesProcess > process1, ext::shared_ptr< GeneralizedBlackScholesProcess > process2, Real correlation, Order order=Second) | |
Public Member Functions inherited from SpreadBlackScholesVanillaEngine | |
| SpreadBlackScholesVanillaEngine (ext::shared_ptr< GeneralizedBlackScholesProcess > process1, ext::shared_ptr< GeneralizedBlackScholesProcess > process2, Real correlation) | |
| void | calculate () const override |
Public Member Functions inherited from GenericEngine< BasketOption::arguments, BasketOption::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 ()=default | |
| 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 () |
Protected Member Functions | |
| Real | calculate (Real f1, Real f2, Real strike, Option::Type optionType, Real variance1, Real variance2, DiscountFactor df) const override |
| virtual Real | calculate (Real f1, Real f2, Real strike, Option::Type optionType, Real variance1, Real variance2, DiscountFactor df) const =0 |
Protected Attributes | |
| const Order | order_ |
Protected Attributes inherited from SpreadBlackScholesVanillaEngine | |
| const ext::shared_ptr< GeneralizedBlackScholesProcess > | process1_ |
| const ext::shared_ptr< GeneralizedBlackScholesProcess > | process2_ |
| const Real | rho_ |
Protected Attributes inherited from GenericEngine< BasketOption::arguments, BasketOption::results > | |
| BasketOption::arguments | arguments_ |
| BasketOption::results | results_ |
Pricing engine for spread options with two assets.
Chi-Fai Lo, Pricing Spread Options by the Operator Splitting Method, https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2429696
Definition at line 38 of file operatorsplittingspreadengine.hpp.
| enum Order |
| Enumerator | |
|---|---|
| First | |
| Second | |
Definition at line 40 of file operatorsplittingspreadengine.hpp.
| OperatorSplittingSpreadEngine | ( | ext::shared_ptr< GeneralizedBlackScholesProcess > | process1, |
| ext::shared_ptr< GeneralizedBlackScholesProcess > | process2, | ||
| Real | correlation, | ||
| Order | order = Second |
||
| ) |
Definition at line 28 of file operatorsplittingspreadengine.cpp.
|
overrideprotectedvirtual |
Implements SpreadBlackScholesVanillaEngine.
Definition at line 37 of file operatorsplittingspreadengine.cpp.
Here is the call graph for this function:
|
protected |
Definition at line 51 of file operatorsplittingspreadengine.hpp.