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

#include <fdmhestonsolver.hpp>

+ Inheritance diagram for FdmHestonSolver:
+ Collaboration diagram for FdmHestonSolver:

Public Member Functions

 FdmHestonSolver (Handle< HestonProcess > process, FdmSolverDesc solverDesc, const FdmSchemeDesc &schemeDesc=FdmSchemeDesc::Hundsdorfer(), Handle< FdmQuantoHelper > quantoHelper=Handle< FdmQuantoHelper >(), ext::shared_ptr< LocalVolTermStructure > leverageFct=ext::shared_ptr< LocalVolTermStructure >(), Real mixingFactor=1.0)
 
Real valueAt (Real s, Real v) const
 
Real thetaAt (Real s, Real v) const
 
Real deltaAt (Real s, Real v) const
 
Real gammaAt (Real s, Real v) const
 
Real meanVarianceDeltaAt (Real s, Real v) const
 
Real meanVarianceGammaAt (Real s, Real v) const
 
- Public Member Functions inherited from LazyObject
 LazyObject ()
 
 ~LazyObject () override=default
 
void update () override
 
bool isCalculated () const
 
void forwardFirstNotificationOnly ()
 
void alwaysForwardNotifications ()
 
void recalculate ()
 
void freeze ()
 
void unfreeze ()
 
- 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 ()
 

Protected Member Functions

void performCalculations () const override
 
- Protected Member Functions inherited from LazyObject
virtual void calculate () const
 

Private Attributes

const Handle< HestonProcessprocess_
 
const FdmSolverDesc solverDesc_
 
const FdmSchemeDesc schemeDesc_
 
const Handle< FdmQuantoHelperquantoHelper_
 
const ext::shared_ptr< LocalVolTermStructureleverageFct_
 
const Real mixingFactor_
 
ext::shared_ptr< Fdm2DimSolversolver_
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Attributes inherited from LazyObject
bool calculated_ = false
 
bool frozen_ = false
 
bool alwaysForward_
 

Detailed Description

Definition at line 42 of file fdmhestonsolver.hpp.

Constructor & Destructor Documentation

◆ FdmHestonSolver()

FdmHestonSolver ( Handle< HestonProcess process,
FdmSolverDesc  solverDesc,
const FdmSchemeDesc schemeDesc = FdmSchemeDesc::Hundsdorfer(),
Handle< FdmQuantoHelper quantoHelper = Handle<FdmQuantoHelper>(),
ext::shared_ptr< LocalVolTermStructure leverageFct = ext::shared_ptr<LocalVolTermStructure>(),
Real  mixingFactor = 1.0 
)

Definition at line 31 of file fdmhestonsolver.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ valueAt()

Real valueAt ( Real  s,
Real  v 
) const

Definition at line 56 of file fdmhestonsolver.cpp.

+ Here is the call graph for this function:

◆ thetaAt()

Real thetaAt ( Real  s,
Real  v 
) const

Definition at line 89 of file fdmhestonsolver.cpp.

+ Here is the call graph for this function:

◆ deltaAt()

Real deltaAt ( Real  s,
Real  v 
) const

Definition at line 61 of file fdmhestonsolver.cpp.

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

◆ gammaAt()

Real gammaAt ( Real  s,
Real  v 
) const

Definition at line 66 of file fdmhestonsolver.cpp.

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

◆ meanVarianceDeltaAt()

Real meanVarianceDeltaAt ( Real  s,
Real  v 
) const

Definition at line 72 of file fdmhestonsolver.cpp.

+ Here is the call graph for this function:

◆ meanVarianceGammaAt()

Real meanVarianceGammaAt ( Real  s,
Real  v 
) const

Definition at line 79 of file fdmhestonsolver.cpp.

+ Here is the call graph for this function:

◆ performCalculations()

void performCalculations ( ) const
overrideprotectedvirtual

This method must implement any calculations which must be (re)done in order to calculate the desired results.

Implements LazyObject.

Definition at line 45 of file fdmhestonsolver.cpp.

Member Data Documentation

◆ process_

const Handle<HestonProcess> process_
private

Definition at line 70 of file fdmhestonsolver.hpp.

◆ solverDesc_

const FdmSolverDesc solverDesc_
private

Definition at line 71 of file fdmhestonsolver.hpp.

◆ schemeDesc_

const FdmSchemeDesc schemeDesc_
private

Definition at line 72 of file fdmhestonsolver.hpp.

◆ quantoHelper_

const Handle<FdmQuantoHelper> quantoHelper_
private

Definition at line 73 of file fdmhestonsolver.hpp.

◆ leverageFct_

const ext::shared_ptr<LocalVolTermStructure> leverageFct_
private

Definition at line 74 of file fdmhestonsolver.hpp.

◆ mixingFactor_

const Real mixingFactor_
private

Definition at line 75 of file fdmhestonsolver.hpp.

◆ solver_

ext::shared_ptr<Fdm2DimSolver> solver_
mutableprivate

Definition at line 77 of file fdmhestonsolver.hpp.