QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
BjerksundStenslandSpreadEngine Class Reference

Pricing engine for spread option on two futures. More...

#include <bjerksundstenslandspreadengine.hpp>

+ Inheritance diagram for BjerksundStenslandSpreadEngine:
+ Collaboration diagram for BjerksundStenslandSpreadEngine:

Public Member Functions

 BjerksundStenslandSpreadEngine (ext::shared_ptr< GeneralizedBlackScholesProcess > process1, ext::shared_ptr< GeneralizedBlackScholesProcess > process2, Real correlation)
 
- 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::argumentsgetArguments () const override
 
const PricingEngine::resultsgetResults () const override
 
void reset () override
 
void update () override
 
- Public Member Functions inherited from PricingEngine
 ~PricingEngine () override=default
 
virtual argumentsgetArguments () const =0
 
virtual const resultsgetResults () const =0
 
virtual void reset ()=0
 
virtual void calculate () const =0
 
- Public Member Functions inherited from Observable
 Observable ()=default
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (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
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Attributes inherited from SpreadBlackScholesVanillaEngine
const ext::shared_ptr< GeneralizedBlackScholesProcessprocess1_
 
const ext::shared_ptr< GeneralizedBlackScholesProcessprocess2_
 
const Real rho_
 
- Protected Attributes inherited from GenericEngine< BasketOption::arguments, BasketOption::results >
BasketOption::arguments arguments_
 
BasketOption::results results_
 

Detailed Description

Pricing engine for spread option on two futures.

P. Bjerksund and G. Stensland, Closed form spread option valuation, Quantitative Finance, 14 (2014), pp. 1785–1794.

Definition at line 38 of file bjerksundstenslandspreadengine.hpp.

Constructor & Destructor Documentation

◆ BjerksundStenslandSpreadEngine()

BjerksundStenslandSpreadEngine ( ext::shared_ptr< GeneralizedBlackScholesProcess process1,
ext::shared_ptr< GeneralizedBlackScholesProcess process2,
Real  correlation 
)

Definition at line 26 of file bjerksundstenslandspreadengine.cpp.

Member Function Documentation

◆ calculate()

Real calculate ( Real  f1,
Real  f2,
Real  strike,
Option::Type  optionType,
Real  variance1,
Real  variance2,
DiscountFactor  df 
) const
overrideprotectedvirtual