QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
AnalyticHolderExtensibleOptionEngine Class Reference

#include <ql/experimental/exoticoptions/analyticholderextensibleoptionengine.hpp>

+ Inheritance diagram for AnalyticHolderExtensibleOptionEngine:
+ Collaboration diagram for AnalyticHolderExtensibleOptionEngine:

Public Member Functions

 AnalyticHolderExtensibleOptionEngine (ext::shared_ptr< GeneralizedBlackScholesProcess > process)
 
void calculate () const override
 
- Public Member Functions inherited from GenericEngine< HolderExtensibleOption::arguments, HolderExtensibleOption::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 ()
 
 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 ()
 

Private Member Functions

Real strike () const
 
Time firstExpiryTime () const
 
Time secondExpiryTime () const
 
Volatility volatility () const
 
Rate riskFreeRate () const
 
Rate dividendYield () const
 
DiscountFactor dividendDiscount (Time t) const
 
DiscountFactor riskFreeDiscount (Time t) const
 
Real I1Call () const
 
Real I2Call () const
 
Real I1Put () const
 
Real I2Put () const
 
BlackScholesCalculator bsCalculator (Real spot, Option::Type optionType) const
 
Real M2 (Real a, Real b, Real c, Real d, Real rho) const
 
Real N2 (Real a, Real b) const
 
Real y1 (Option::Type) const
 
Real y2 (Option::Type) const
 
Real z1 () const
 
Real z2 () const
 

Private Attributes

ext::shared_ptr< GeneralizedBlackScholesProcessprocess_
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Attributes inherited from GenericEngine< HolderExtensibleOption::arguments, HolderExtensibleOption::results >
HolderExtensibleOption::arguments arguments_
 
HolderExtensibleOption::results results_
 

Detailed Description

Definition at line 33 of file analyticholderextensibleoptionengine.hpp.

Constructor & Destructor Documentation

◆ AnalyticHolderExtensibleOptionEngine()

AnalyticHolderExtensibleOptionEngine ( ext::shared_ptr< GeneralizedBlackScholesProcess process)
explicit

Definition at line 32 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ calculate()

void calculate ( ) const
overridevirtual

Implements PricingEngine.

Definition at line 38 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:

◆ strike()

Real strike ( ) const
private

Definition at line 264 of file analyticholderextensibleoptionengine.cpp.

+ Here is the caller graph for this function:

◆ firstExpiryTime()

Time firstExpiryTime ( ) const
private

Definition at line 271 of file analyticholderextensibleoptionengine.cpp.

+ Here is the caller graph for this function:

◆ secondExpiryTime()

Time secondExpiryTime ( ) const
private

Definition at line 275 of file analyticholderextensibleoptionengine.cpp.

+ Here is the caller graph for this function:

◆ volatility()

Volatility volatility ( ) const
private

Definition at line 279 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ riskFreeRate()

Rate riskFreeRate ( ) const
private

Definition at line 282 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dividendYield()

Rate dividendYield ( ) const
private

Definition at line 286 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dividendDiscount()

DiscountFactor dividendDiscount ( Time  t) const
private

Definition at line 291 of file analyticholderextensibleoptionengine.cpp.

+ Here is the caller graph for this function:

◆ riskFreeDiscount()

DiscountFactor riskFreeDiscount ( Time  t) const
private

Definition at line 295 of file analyticholderextensibleoptionengine.cpp.

+ Here is the caller graph for this function:

◆ I1Call()

Real I1Call ( ) const
private

Definition at line 95 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ I2Call()

Real I2Call ( ) const
private

Definition at line 129 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ I1Put()

Real I1Put ( ) const
private

Definition at line 166 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ I2Put()

Real I2Put ( ) const
private

Definition at line 196 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bsCalculator()

BlackScholesCalculator bsCalculator ( Real  spot,
Option::Type  optionType 
) const
private

Definition at line 228 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ M2()

Real M2 ( Real  a,
Real  b,
Real  c,
Real  d,
Real  rho 
) const
private

Definition at line 254 of file analyticholderextensibleoptionengine.cpp.

+ Here is the caller graph for this function:

◆ N2()

Real N2 ( Real  a,
Real  b 
) const
private

Definition at line 259 of file analyticholderextensibleoptionengine.cpp.

+ Here is the caller graph for this function:

◆ y1()

Real y1 ( Option::Type  type) const
private

Definition at line 299 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ y2()

Real y2 ( Option::Type  type) const
private

Definition at line 310 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ z1()

Real z1 ( ) const
private

Definition at line 321 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ z2()

Real z2 ( ) const
private

Definition at line 331 of file analyticholderextensibleoptionengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ process_

ext::shared_ptr<GeneralizedBlackScholesProcess> process_
private

Definition at line 41 of file analyticholderextensibleoptionengine.hpp.