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

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

+ Collaboration diagram for AnalyticHestonEngine::Integration:

Public Member Functions

Real calculate (Real c_inf, const ext::function< Real(Real)> &f, const ext::function< Real()> &maxBound={}) const
 
Real calculate (Real c_inf, const ext::function< Real(Real)> &f, Real maxBound) const
 
Size numberOfEvaluations () const
 
bool isAdaptiveIntegration () const
 

Static Public Member Functions

static Integration gaussLaguerre (Size integrationOrder=128)
 
static Integration gaussLegendre (Size integrationOrder=128)
 
static Integration gaussChebyshev (Size integrationOrder=128)
 
static Integration gaussChebyshev2nd (Size integrationOrder=128)
 
static Integration gaussLobatto (Real relTolerance, Real absTolerance, Size maxEvaluations=1000)
 
static Integration gaussKronrod (Real absTolerance, Size maxEvaluations=1000)
 
static Integration simpson (Real absTolerance, Size maxEvaluations=1000)
 
static Integration trapezoid (Real absTolerance, Size maxEvaluations=1000)
 
static Integration discreteSimpson (Size evaluation=1000)
 
static Integration discreteTrapezoid (Size evaluation=1000)
 
static Real andersenPiterbargIntegrationLimit (Real c_inf, Real epsilon, Real v0, Real t)
 

Private Types

enum  Algorithm {
  GaussLobatto , GaussKronrod , Simpson , Trapezoid ,
  DiscreteTrapezoid , DiscreteSimpson , GaussLaguerre , GaussLegendre ,
  GaussChebyshev , GaussChebyshev2nd
}
 

Private Member Functions

 Integration (Algorithm intAlgo, ext::shared_ptr< GaussianQuadrature > quadrature)
 
 Integration (Algorithm intAlgo, ext::shared_ptr< Integrator > integrator)
 

Private Attributes

const Algorithm intAlgo_
 
const ext::shared_ptr< Integratorintegrator_
 
const ext::shared_ptr< GaussianQuadraturegaussianQuadrature_
 

Detailed Description

Definition at line 192 of file analytichestonengine.hpp.

Member Enumeration Documentation

◆ Algorithm

enum Algorithm
private
Enumerator
GaussLobatto 
GaussKronrod 
Simpson 
Trapezoid 
DiscreteTrapezoid 
DiscreteSimpson 
GaussLaguerre 
GaussLegendre 
GaussChebyshev 
GaussChebyshev2nd 

Definition at line 232 of file analytichestonengine.hpp.

Constructor & Destructor Documentation

◆ Integration() [1/2]

Integration ( Algorithm  intAlgo,
ext::shared_ptr< GaussianQuadrature quadrature 
)
private

Definition at line 715 of file analytichestonengine.cpp.

◆ Integration() [2/2]

Integration ( Algorithm  intAlgo,
ext::shared_ptr< Integrator integrator 
)
private

Definition at line 711 of file analytichestonengine.cpp.

Member Function Documentation

◆ gaussLaguerre()

AnalyticHestonEngine::Integration gaussLaguerre ( Size  integrationOrder = 128)
static

Definition at line 759 of file analytichestonengine.cpp.

◆ gaussLegendre()

AnalyticHestonEngine::Integration gaussLegendre ( Size  integrationOrder = 128)
static

Definition at line 767 of file analytichestonengine.cpp.

◆ gaussChebyshev()

AnalyticHestonEngine::Integration gaussChebyshev ( Size  integrationOrder = 128)
static

Definition at line 774 of file analytichestonengine.cpp.

◆ gaussChebyshev2nd()

AnalyticHestonEngine::Integration gaussChebyshev2nd ( Size  integrationOrder = 128)
static

Definition at line 781 of file analytichestonengine.cpp.

◆ gaussLobatto()

AnalyticHestonEngine::Integration gaussLobatto ( Real  relTolerance,
Real  absTolerance,
Size  maxEvaluations = 1000 
)
static

Definition at line 720 of file analytichestonengine.cpp.

◆ gaussKronrod()

AnalyticHestonEngine::Integration gaussKronrod ( Real  absTolerance,
Size  maxEvaluations = 1000 
)
static

Definition at line 732 of file analytichestonengine.cpp.

◆ simpson()

AnalyticHestonEngine::Integration simpson ( Real  absTolerance,
Size  maxEvaluations = 1000 
)
static

Definition at line 741 of file analytichestonengine.cpp.

◆ trapezoid()

AnalyticHestonEngine::Integration trapezoid ( Real  absTolerance,
Size  maxEvaluations = 1000 
)
static

Definition at line 750 of file analytichestonengine.cpp.

◆ discreteSimpson()

AnalyticHestonEngine::Integration discreteSimpson ( Size  evaluation = 1000)
static

Definition at line 788 of file analytichestonengine.cpp.

◆ discreteTrapezoid()

AnalyticHestonEngine::Integration discreteTrapezoid ( Size  evaluation = 1000)
static

Definition at line 795 of file analytichestonengine.cpp.

◆ andersenPiterbargIntegrationLimit()

Real andersenPiterbargIntegrationLimit ( Real  c_inf,
Real  epsilon,
Real  v0,
Real  t 
)
static

Definition at line 866 of file analytichestonengine.cpp.

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

◆ calculate() [1/2]

Real calculate ( Real  c_inf,
const ext::function< Real(Real)> &  f,
const ext::function< Real()> &  maxBound = {} 
) const

Definition at line 818 of file analytichestonengine.cpp.

+ Here is the caller graph for this function:

◆ calculate() [2/2]

Real calculate ( Real  c_inf,
const ext::function< Real(Real)> &  f,
Real  maxBound 
) const

Definition at line 857 of file analytichestonengine.cpp.

+ Here is the call graph for this function:

◆ numberOfEvaluations()

Size numberOfEvaluations ( ) const

Definition at line 801 of file analytichestonengine.cpp.

+ Here is the caller graph for this function:

◆ isAdaptiveIntegration()

bool isAdaptiveIntegration ( ) const

Definition at line 811 of file analytichestonengine.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ intAlgo_

const Algorithm intAlgo_
private

Definition at line 242 of file analytichestonengine.hpp.

◆ integrator_

const ext::shared_ptr<Integrator> integrator_
private

Definition at line 243 of file analytichestonengine.hpp.

◆ gaussianQuadrature_

const ext::shared_ptr<GaussianQuadrature> gaussianQuadrature_
private

Definition at line 244 of file analytichestonengine.hpp.