QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
DengLiZhouBasketEngine Class Reference

Pricing engine for basket option on multiple underlyings. More...

#include <ql/pricingengines/basket/denglizhoubasketengine.hpp>

Inheritance 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 Observable
 Observable (const Observable &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()
Public Member Functions inherited from Observer
 Observer (const Observer &)
Observeroperator= (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 set_type::iterator iterator
Protected Attributes inherited from GenericEngine< BasketOption::arguments, BasketOption::results >
BasketOption::arguments arguments_
BasketOption::results results_

Detailed Description

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.

Tests
the correctness of the returned value is tested by reproducing results available in literature.

Member Function Documentation

◆ calculate()

void calculate ( ) const
overridevirtual

Implements PricingEngine.