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

GSR stochastic process. More...

#include <gsrprocess.hpp>

+ Inheritance diagram for GsrProcess:
+ Collaboration diagram for GsrProcess:

Public Member Functions

 GsrProcess (const Array &times, const Array &vols, const Array &reversions, Real T=60.0, const Date &referenceDate=Null< Date >(), DayCounter dc=DayCounter())
 
StochasticProcess1D interface
Real x0 () const override
 returns the initial value of the state variable More...
 
Real drift (Time t, Real x) const override
 returns the drift part of the equation, i.e. \( \mu(t, x_t) \) More...
 
Real diffusion (Time t, Real) const override
 returns the diffusion part of the equation, i.e. \( \sigma(t, x_t) \) More...
 
Real expectation (Time t0, Real x0, Time dt) const override
 
Real stdDeviation (Time t0, Real x0, Time dt) const override
 
Real variance (Time t0, Real, Time dt) const override
 
Real time (const Date &d) const override
 
- Public Member Functions inherited from ForwardMeasureProcess1D
virtual void setForwardMeasureTime (Time)
 
Time getForwardMeasureTime () const
 
- Public Member Functions inherited from StochasticProcess1D
virtual Real evolve (Time t0, Real x0, Time dt, Real dw) const
 
virtual Real apply (Real x0, Real dx) const
 
- Public Member Functions inherited from StochasticProcess
 ~StochasticProcess () override=default
 
virtual Size factors () const
 returns the number of independent factors of the process More...
 
void update () override
 
- 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 ()
 

ForwardMeasureProcess1D interface

const detail::GsrProcessCore core_
 
Date referenceDate_
 
DayCounter dc_
 
void setForwardMeasureTime (Time t) override
 
Real sigma (Time t) const
 additional inspectors More...
 
Real reversion (Time t) const
 
Real y (Time t) const
 
Real G (Time t, Time T, Real x) const
 
void flushCache () const
 reset cache More...
 
void checkT (Time t) const
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from ForwardMeasureProcess1D
 ForwardMeasureProcess1D ()=default
 
 ForwardMeasureProcess1D (Time T)
 
 ForwardMeasureProcess1D (const ext::shared_ptr< discretization > &)
 
- Protected Member Functions inherited from StochasticProcess1D
 StochasticProcess1D ()=default
 
 StochasticProcess1D (ext::shared_ptr< discretization >)
 
- Protected Member Functions inherited from StochasticProcess
 StochasticProcess ()=default
 
 StochasticProcess (ext::shared_ptr< discretization >)
 
- Protected Attributes inherited from ForwardMeasureProcess1D
Time T_
 
- Protected Attributes inherited from StochasticProcess1D
ext::shared_ptr< discretizationdiscretization_
 
- Protected Attributes inherited from StochasticProcess
ext::shared_ptr< discretizationdiscretization_
 

Detailed Description

GSR stochastic process.

Definition at line 40 of file gsrprocess.hpp.

Constructor & Destructor Documentation

◆ GsrProcess()

GsrProcess ( const Array times,
const Array vols,
const Array reversions,
Real  T = 60.0,
const Date referenceDate = Null<Date>(),
DayCounter  dc = DayCounter() 
)

Definition at line 26 of file gsrprocess.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ x0()

Real x0 ( ) const
overridevirtual

returns the initial value of the state variable

Implements StochasticProcess1D.

Definition at line 51 of file gsrprocess.cpp.

+ Here is the caller graph for this function:

◆ drift()

Real drift ( Time  t,
Real  x 
) const
overridevirtual

returns the drift part of the equation, i.e. \( \mu(t, x_t) \)

Implements StochasticProcess1D.

Definition at line 53 of file gsrprocess.cpp.

+ Here is the call graph for this function:

◆ diffusion()

Real diffusion ( Time  t,
Real  x 
) const
overridevirtual

returns the diffusion part of the equation, i.e. \( \sigma(t, x_t) \)

Implements StochasticProcess1D.

Definition at line 59 of file gsrprocess.cpp.

+ Here is the call graph for this function:

◆ expectation()

Real expectation ( Time  t0,
Real  x0,
Time  dt 
) const
overridevirtual

returns the expectation \( E(x_{t_0 + \Delta t} | x_{t_0} = x_0) \) of the process after a time interval \( \Delta t \) according to the given discretization. This method can be overridden in derived classes which want to hard-code a particular discretization.

Reimplemented from StochasticProcess1D.

Definition at line 64 of file gsrprocess.cpp.

+ Here is the call graph for this function:

◆ stdDeviation()

Real stdDeviation ( Time  t0,
Real  x0,
Time  dt 
) const
overridevirtual

returns the standard deviation \( S(x_{t_0 + \Delta t} | x_{t_0} = x_0) \) of the process after a time interval \( \Delta t \) according to the given discretization. This method can be overridden in derived classes which want to hard-code a particular discretization.

Reimplemented from StochasticProcess1D.

Definition at line 73 of file gsrprocess.cpp.

+ Here is the call graph for this function:

◆ variance()

Real variance ( Time  t0,
Real  x0,
Time  dt 
) const
overridevirtual

returns the variance \( V(x_{t_0 + \Delta t} | x_{t_0} = x_0) \) of the process after a time interval \( \Delta t \) according to the given discretization. This method can be overridden in derived classes which want to hard-code a particular discretization.

Reimplemented from StochasticProcess1D.

Definition at line 77 of file gsrprocess.cpp.

+ Here is the call graph for this function:

◆ time()

Real time ( const Date ) const
overridevirtual

returns the time value corresponding to the given date in the reference system of the stochastic process.

Note
As a number of processes might not need this functionality, a default implementation is given which raises an exception.

Reimplemented from StochasticProcess.

Definition at line 44 of file gsrprocess.cpp.

+ Here is the call graph for this function:

◆ setForwardMeasureTime()

void setForwardMeasureTime ( Time  t)
overridevirtual

Reimplemented from ForwardMeasureProcess1D.

Definition at line 78 of file gsrprocess.hpp.

+ Here is the call graph for this function:

◆ sigma()

Real sigma ( Time  t) const

additional inspectors

Definition at line 82 of file gsrprocess.cpp.

+ Here is the call graph for this function:

◆ reversion()

Real reversion ( Time  t) const

Definition at line 84 of file gsrprocess.cpp.

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

◆ y()

Real y ( Time  t) const

Definition at line 86 of file gsrprocess.cpp.

+ Here is the call graph for this function:

◆ G()

Real G ( Time  t,
Time  T,
Real  x 
) const

Definition at line 91 of file gsrprocess.cpp.

+ Here is the call graph for this function:

◆ flushCache()

void flushCache ( ) const

reset cache

Definition at line 83 of file gsrprocess.hpp.

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

◆ checkT()

void checkT ( Time  t) const
private

Definition at line 37 of file gsrprocess.cpp.

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

Member Data Documentation

◆ core_

const detail::GsrProcessCore core_
private

Definition at line 71 of file gsrprocess.hpp.

◆ referenceDate_

Date referenceDate_
private

Definition at line 72 of file gsrprocess.hpp.

◆ dc_

DayCounter dc_
private

Definition at line 73 of file gsrprocess.hpp.