Class is implements Cox–Ingersoll–Ross (CIR) process. More...

#include <cirProcess.hpp>

Public Member Functions

 CirProcess ()
 Default constructor. More...
 
 CirProcess (double mrs, double lt, double vol)
 Constructor. More...
 
Path getPath (double, const TimeGrid &, SmartPointer< UniformRNG > &rng)
 generates path More...
 
Path getPath (double, const TimeGrid &, const std::vector< double > &) const
 generates path More...
 
CirProcessclone ()
 Virtual copy constructor. More...
 

Private Attributes

double mrs_
 mean reversion speed More...
 
double lt_
 long-term mean More...
 
double vol_
 volatility More...
 

Detailed Description

Class is implements Cox–Ingersoll–Ross (CIR) process.

Cox-Ingersoll-Ross (CIR) is a stochastic process governed by following SDE:

\[dX_{t} = \alpha (\theta - X_{t}) dt + \sigma \sqrt{X_{t}} dW_{t}\]

where:

  • $ \alpha $ is mean reversion speed
  • $ \theta $ is long-term mean
  • $ \sigma $ is volatility
  • $ dW $ is Wiener Process

Constructor & Destructor Documentation

julian::CirProcess::CirProcess ( )
inline

Default constructor.

julian::CirProcess::CirProcess ( double  mrs,
double  lt,
double  vol 
)
inline

Constructor.

Member Function Documentation

CirProcess * julian::CirProcess::clone ( )

Virtual copy constructor.

Path julian::CirProcess::getPath ( double  x0,
const TimeGrid tg,
SmartPointer< UniformRNG > &  rng 
)

generates path

Parameters
x0Value of the process for t = 0;
tgpoints in time for which the value of process is generated
rngrandom number generator that will be used to generate stochastic process
Returns
path representing time series
Path julian::CirProcess::getPath ( double  x0,
const TimeGrid tg,
const std::vector< double > &  rnds 
) const

generates path

Milstein discretization is used (see [21])

\[v_{t+dt} = v_{t} + \alpha (\theta + v_{t}) + \sigma \sqrt{v_{t}dt}dZ + \frac{1}{4} \sigma^{2} dt (dZ^2-1) \]

Parameters
x0Value of the process for t = 0;
tgpoints in time for which the value of process is generated
rndsrandom number that will be used to generate the path
Returns
path representing time series

Member Data Documentation

double julian::CirProcess::lt_
private

long-term mean

double julian::CirProcess::mrs_
private

mean reversion speed

double julian::CirProcess::vol_
private

volatility


The documentation for this class was generated from the following files:
  • C:/Unix/home/OEM/jULIAN/src/mathematics/stochasticProcesses/cirProcess.hpp
  • C:/Unix/home/OEM/jULIAN/src/mathematics/stochasticProcesses/cirProcess.cpp