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

Heston model for the stochastic volatility of an asset. More...

#include <hestonmodel.hpp>

+ Inheritance diagram for HestonModel:
+ Collaboration diagram for HestonModel:

Classes

class  FellerConstraint
 

Public Member Functions

 HestonModel (const ext::shared_ptr< HestonProcess > &process)
 
Real theta () const
 
Real kappa () const
 
Real sigma () const
 
Real rho () const
 
Real v0 () const
 
ext::shared_ptr< HestonProcessprocess () const
 
- Public Member Functions inherited from CalibratedModel
 CalibratedModel (Size nArguments)
 
void update () override
 
virtual void calibrate (const std::vector< ext::shared_ptr< CalibrationHelper > > &, OptimizationMethod &method, const EndCriteria &endCriteria, const Constraint &constraint=Constraint(), const std::vector< Real > &weights=std::vector< Real >(), const std::vector< bool > &fixParameters=std::vector< bool >())
 Calibrate to a set of market instruments (usually caps/swaptions) More...
 
Real value (const Array &params, const std::vector< ext::shared_ptr< CalibrationHelper > > &)
 
const ext::shared_ptr< Constraint > & constraint () const
 
EndCriteria::Type endCriteria () const
 Returns end criteria result. More...
 
const ArrayproblemValues () const
 Returns the problem values. More...
 
Array params () const
 Returns array of arguments on which calibration is done. More...
 
virtual void setParams (const Array &params)
 
Integer functionEvaluation () const
 
- 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 ()
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 

Protected Member Functions

void generateArguments () override
 
virtual void generateArguments ()
 

Protected Attributes

ext::shared_ptr< HestonProcessprocess_
 
- Protected Attributes inherited from CalibratedModel
std::vector< Parameterarguments_
 
ext::shared_ptr< Constraintconstraint_
 
EndCriteria::Type shortRateEndCriteria_ = EndCriteria::None
 
Array problemValues_
 
Integer functionEvaluation_
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 

Detailed Description

Heston model for the stochastic volatility of an asset.

References:

Heston, Steven L., 1993. A Closed-Form Solution for Options with Stochastic Volatility with Applications to Bond and Currency Options. The review of Financial Studies, Volume 6, Issue 2, 327-343.

Tests:
calibration is tested against known good values.

Definition at line 42 of file hestonmodel.hpp.

Constructor & Destructor Documentation

◆ HestonModel()

HestonModel ( const ext::shared_ptr< HestonProcess > &  process)
explicit

Definition at line 25 of file hestonmodel.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ theta()

Real theta ( ) const

Definition at line 47 of file hestonmodel.hpp.

+ Here is the caller graph for this function:

◆ kappa()

Real kappa ( ) const

Definition at line 49 of file hestonmodel.hpp.

+ Here is the caller graph for this function:

◆ sigma()

Real sigma ( ) const

Definition at line 51 of file hestonmodel.hpp.

+ Here is the caller graph for this function:

◆ rho()

Real rho ( ) const

Definition at line 53 of file hestonmodel.hpp.

+ Here is the caller graph for this function:

◆ v0()

Real v0 ( ) const

Definition at line 55 of file hestonmodel.hpp.

+ Here is the caller graph for this function:

◆ process()

ext::shared_ptr< HestonProcess > process ( ) const

Definition at line 58 of file hestonmodel.hpp.

+ Here is the caller graph for this function:

◆ generateArguments()

void generateArguments ( )
overrideprotectedvirtual

Reimplemented from CalibratedModel.

Definition at line 44 of file hestonmodel.cpp.

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

Member Data Documentation

◆ process_

ext::shared_ptr<HestonProcess> process_
protected

Definition at line 63 of file hestonmodel.hpp.