Class is implements Heston process. More...

#include <hestonProcess.hpp>

Inheritance diagram for julian::HestonProcess:
julian::StochasticProcess

Public Member Functions

 HestonProcess (double drift, double mean_rev, double curr_var, double lt_var, double vov, double corr)
 constructor More...
 
virtual Path getPath (double, const TimeGrid &, SmartPointer< UniformRNG > &rng) const
 Generates path. More...
 
virtual Path getPath (double, const TimeGrid &, const std::vector< double > &rnds) const
 Generates path. More...
 
virtual HestonProcessclone () const
 Virtual copy constructor. More...
 
- Public Member Functions inherited from julian::StochasticProcess
 StochasticProcess ()
 Constructor. More...
 
virtual ~StochasticProcess ()
 Destructor. More...
 

Private Attributes

double drift_
 Drift of the X process. More...
 
double mean_rev_
 Mean reversion speed of Y process. More...
 
double curr_var_
 Initial value of Y process of Y process. More...
 
double lt_var_
 Long term value of Y process. More...
 
double vov_
 Volatility of Y process. More...
 
double corr_
 Correlation between X process and Y process. More...
 

Detailed Description

Class is implements Heston process.

Heston process is a stochastic process governed by following SDE:

\[dX_{t} = \mu X_{t} dt + \sqrt{Y_{t}} X_{t} dW^{X}_{t}\]

\[dY_{t} = \alpha (\theta - Y_{t}) dt + \sqrt{Y_{t}} \sigma dW^{Y}_{t}\]

\[\langle dW^{X}_{t}, dW^{Y}_{t}\rangle = \rho \]

where:

  • $ \mu $ is drift
  • $ \alpha $ is mean reversion speed
  • $ \theta $ is long-term volatility
  • $ \sigma $ is volatility of volatility
  • $ \rho $ is correlation
  • $ dW^{X},dW^{Y} $ are Wiener Processes

As we see the process $X$ is Geometric Brownian Motion with stochastic volatility governed by CIR process. More information see [37]

Constructor & Destructor Documentation

julian::HestonProcess::HestonProcess ( double  drift,
double  mean_rev,
double  curr_var,
double  lt_var,
double  vov,
double  corr 
)
inline

constructor

Parameters
driftDrift of the X process
mean_revMean reversion speed of Y process
curr_varInitial value of Y process of Y process
lt_varLong term value of Y process
vovVolatility of Y process
corrCorrelation between X process and Y process

Member Function Documentation

HestonProcess * julian::HestonProcess::clone ( ) const
virtual

Virtual copy constructor.

Implements julian::StochasticProcess.

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

Generates path.

Parameters
x0initial_value Value 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

Implements julian::StochasticProcess.

Path julian::HestonProcess::getPath ( double  x0,
const TimeGrid tg,
const std::vector< double > &  rnds 
) const
virtual

Generates path.

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

Implements julian::StochasticProcess.

Member Data Documentation

double julian::HestonProcess::corr_
private

Correlation between X process and Y process.

double julian::HestonProcess::curr_var_
private

Initial value of Y process of Y process.

double julian::HestonProcess::drift_
private

Drift of the X process.

double julian::HestonProcess::lt_var_
private

Long term value of Y process.

double julian::HestonProcess::mean_rev_
private

Mean reversion speed of Y process.

double julian::HestonProcess::vov_
private

Volatility of Y process.


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