|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
Pricing engine for basket option on multiple underlyings. More...
#include <choibasketengine.hpp>
Inheritance diagram for ChoiBasketEngine:
Collaboration diagram for ChoiBasketEngine:Public Member Functions | |
| ChoiBasketEngine (std::vector< ext::shared_ptr< GeneralizedBlackScholesProcess > > processes, Matrix rho, Real lambda=10.0, Size maxNrIntegrationSteps=std::numeric_limits< Size >::max(), bool calcfwdDelta=false, bool controlVariate=false) | |
| 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 () |
Private Attributes | |
| const Size | n_ |
| const std::vector< ext::shared_ptr< GeneralizedBlackScholesProcess > > | processes_ |
| const Matrix | rho_ |
| const Real | lambda_ |
| const Size | maxNrIntegrationSteps_ |
| const bool | calcFwdDelta_ |
| const bool | controlVariate_ |
Additional Inherited Members | |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
Protected Attributes inherited from GenericEngine< BasketOption::arguments, BasketOption::results > | |
| BasketOption::arguments | arguments_ |
| BasketOption::results | results_ |
Pricing engine for basket option on multiple underlyings.
This class implements the pricing formula from "Sum of all Black-Scholes-Merton Models: An efficient Pricing Method for Spread, Basket and Asian Options", Jaehyuk Choi, 2018 https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2913048
A Python implementation from the author of the paper is also available https://github.com/PyFE/PyFENG
Definition at line 46 of file choibasketengine.hpp.
| ChoiBasketEngine | ( | std::vector< ext::shared_ptr< GeneralizedBlackScholesProcess > > | processes, |
| Matrix | rho, | ||
| Real | lambda = 10.0, |
||
| Size | maxNrIntegrationSteps = std::numeric_limits<Size>::max(), |
||
| bool | calcfwdDelta = false, |
||
| bool | controlVariate = false |
||
| ) |
|
overridevirtual |
Implements PricingEngine.
Definition at line 63 of file choibasketengine.cpp.
Here is the call graph for this function:
|
private |
Definition at line 60 of file choibasketengine.hpp.
|
private |
Definition at line 61 of file choibasketengine.hpp.
|
private |
Definition at line 62 of file choibasketengine.hpp.
|
private |
Definition at line 63 of file choibasketengine.hpp.
|
private |
Definition at line 64 of file choibasketengine.hpp.
|
private |
Definition at line 65 of file choibasketengine.hpp.
|
private |
Definition at line 65 of file choibasketengine.hpp.