QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
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< HestonProcess > process () 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 Array & problemValues () 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 &)
 
Observer & operator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, bool > registerWith (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 ()=default
 
 Observable (const Observable &)
 
Observable & operator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observable & operator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 

Protected Member Functions

void generateArguments () override
 
virtual void generateArguments ()
 

Protected Attributes

ext::shared_ptr< HestonProcess > process_
 
- Protected Attributes inherited from CalibratedModel
std::vector< Parameter > arguments_
 
ext::shared_ptr< Constraint > constraint_
 
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 26 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 45 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.