|
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 <denglizhoubasketengine.hpp>
Inheritance diagram for DengLiZhouBasketEngine:
Collaboration diagram for DengLiZhouBasketEngine:Public Member Functions | |
| DengLiZhouBasketEngine (std::vector< ext::shared_ptr< GeneralizedBlackScholesProcess > > processes, Matrix rho) | |
| 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 () |
Static Private Member Functions | |
| static Real | calculate_vanilla_call (const Array &s, DiscountFactor dr, const Array &dq, const Array &v, const Matrix &rho, Time T) |
| static Real | I (Real u, Real tF2, const Matrix &D, const Matrix &DF, Size i) |
Private Attributes | |
| const Size | n_ |
| const std::vector< ext::shared_ptr< GeneralizedBlackScholesProcess > > | processes_ |
| const Matrix | rho_ |
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 "Multi-asset Spread Option Pricing and Hedging", S. Deng, M. Li, J.Zhou, 2008 https://mpra.ub.uni-muenchen.de/8259/1/MPRA_paper_8259.pdf
The typo in formula (37) for J^2 is corrected
This pricing formula only works if exactly one asset weight is positive. If more than one weight is positive then a mapping of the sum of correlated log-normal processes onto one log-normal process has to be carried out. This implementation is using: "WKB Approximation for the Sum of Two Correlated Lognormal Random Variables", C.F. Lo 2013 https://www.m-hikari.com/ams/ams-2013/ams-125-128-2013/loAMS125-128-2013.pdf for this task.
Definition at line 54 of file denglizhoubasketengine.hpp.
| DengLiZhouBasketEngine | ( | std::vector< ext::shared_ptr< GeneralizedBlackScholesProcess > > | processes, |
| Matrix | rho | ||
| ) |
|
overridevirtual |
Implements PricingEngine.
Definition at line 46 of file denglizhoubasketengine.cpp.
Here is the call graph for this function:
|
staticprivate |
Definition at line 207 of file denglizhoubasketengine.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 182 of file denglizhoubasketengine.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 69 of file denglizhoubasketengine.hpp.
|
private |
Definition at line 70 of file denglizhoubasketengine.hpp.
|
private |
Definition at line 71 of file denglizhoubasketengine.hpp.