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

GJR-GARCH(1,1) engine. More...

#include <ql/pricingengines/vanilla/analyticgjrgarchengine.hpp>

+ Inheritance diagram for AnalyticGJRGARCHEngine:
+ Collaboration diagram for AnalyticGJRGARCHEngine:

Public Member Functions

 AnalyticGJRGARCHEngine (const ext::shared_ptr< GJRGARCHModel > &model)
 
void calculate () const override
 
- Public Member Functions inherited from GenericModelEngine< GJRGARCHModel, VanillaOption::arguments, VanillaOption::results >
 GenericModelEngine (Handle< GJRGARCHModel > model=Handle< GJRGARCHModel >())
 
 GenericModelEngine (const ext::shared_ptr< GJRGARCHModel > &model)
 
- Public Member Functions inherited from GenericEngine< ArgumentsType, ResultsType >
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 Attributes

bool init_
 
Real h1_
 
Real b0_
 
Real b1_
 
Real b2_
 
Real b3_
 
Real la_
 
Real r_
 
Size T_
 
Real m1_
 
Real m2_
 
Real m3_
 
Real v1_
 
Real v2_
 
Real v3_
 
Real z1_
 
Real z2_
 
Real x1_
 
Real ex_
 
Real sigma_
 
Real k3_
 
Real k4_
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Attributes inherited from GenericModelEngine< GJRGARCHModel, VanillaOption::arguments, VanillaOption::results >
Handle< GJRGARCHModelmodel_
 
- Protected Attributes inherited from GenericEngine< ArgumentsType, ResultsType >
ArgumentsType arguments_
 
ResultsType results_
 

Detailed Description

GJR-GARCH(1,1) engine.

References:

Jin-Chuan Duan, Genevieve Gauthier, Jean-Guy Simonato, Caroline Sasseville, 2006. Approximating the GJR-GARCH and EGARCH option pricing models analytically Journal of Computational Finance, Volume 9, Number 3, Spring 2006

\ingroup vanillaengines

\xrefitem test "Tests" "Test Suite" the correctness of the returned value is tested by
      reproducing results available in the Duan et al's
      2006 paper.

Definition at line 51 of file analyticgjrgarchengine.hpp.

Constructor & Destructor Documentation

◆ AnalyticGJRGARCHEngine()

AnalyticGJRGARCHEngine ( const ext::shared_ptr< GJRGARCHModel > &  model)

Definition at line 36 of file analyticgjrgarchengine.cpp.

Member Function Documentation

◆ calculate()

void calculate ( ) const
overridevirtual

Implements PricingEngine.

Definition at line 42 of file analyticgjrgarchengine.cpp.

Member Data Documentation

◆ init_

bool init_
mutableprivate

Definition at line 62 of file analyticgjrgarchengine.hpp.

◆ h1_

Real h1_
mutableprivate

Definition at line 63 of file analyticgjrgarchengine.hpp.

◆ b0_

Real b0_
mutableprivate

Definition at line 64 of file analyticgjrgarchengine.hpp.

◆ b1_

Real b1_
mutableprivate

Definition at line 65 of file analyticgjrgarchengine.hpp.

◆ b2_

Real b2_
mutableprivate

Definition at line 66 of file analyticgjrgarchengine.hpp.

◆ b3_

Real b3_
mutableprivate

Definition at line 67 of file analyticgjrgarchengine.hpp.

◆ la_

Real la_
mutableprivate

Definition at line 68 of file analyticgjrgarchengine.hpp.

◆ r_

Real r_
mutableprivate

Definition at line 69 of file analyticgjrgarchengine.hpp.

◆ T_

Size T_
mutableprivate

Definition at line 70 of file analyticgjrgarchengine.hpp.

◆ m1_

Real m1_
mutableprivate

Definition at line 72 of file analyticgjrgarchengine.hpp.

◆ m2_

Real m2_
mutableprivate

Definition at line 73 of file analyticgjrgarchengine.hpp.

◆ m3_

Real m3_
mutableprivate

Definition at line 74 of file analyticgjrgarchengine.hpp.

◆ v1_

Real v1_
mutableprivate

Definition at line 75 of file analyticgjrgarchengine.hpp.

◆ v2_

Real v2_
mutableprivate

Definition at line 76 of file analyticgjrgarchengine.hpp.

◆ v3_

Real v3_
mutableprivate

Definition at line 77 of file analyticgjrgarchengine.hpp.

◆ z1_

Real z1_
mutableprivate

Definition at line 78 of file analyticgjrgarchengine.hpp.

◆ z2_

Real z2_
mutableprivate

Definition at line 79 of file analyticgjrgarchengine.hpp.

◆ x1_

Real x1_
mutableprivate

Definition at line 80 of file analyticgjrgarchengine.hpp.

◆ ex_

Real ex_
mutableprivate

Definition at line 83 of file analyticgjrgarchengine.hpp.

◆ sigma_

Real sigma_
mutableprivate

Definition at line 84 of file analyticgjrgarchengine.hpp.

◆ k3_

Real k3_
mutableprivate

Definition at line 85 of file analyticgjrgarchengine.hpp.

◆ k4_

Real k4_
mutableprivate

Definition at line 86 of file analyticgjrgarchengine.hpp.