SSJ  3.3.1
Stochastic Simulation in Java
Public Member Functions | Protected Member Functions | Protected Attributes | Package Attributes | List of all members
GeometricVarianceGammaProcess Class Reference

This class represents a geometric variance gamma process \(S(t)\) (see [171]  (page 86)). More...

Inheritance diagram for GeometricVarianceGammaProcess:
[legend]
Collaboration diagram for GeometricVarianceGammaProcess:
[legend]

Public Member Functions

 GeometricVarianceGammaProcess (double s0, double theta, double sigma, double nu, double mu, RandomStream stream)
 Constructs a new GeometricVarianceGammaProcess with parameters \(\theta= \mathtt{theta}\), \(\sigma= \mathtt{sigma}\), \(\nu= \mathtt{nu}\), \(\mu= \mathtt{mu}\) and initial value \(S(t_0) = \mathtt{s0}\). More...
 
 GeometricVarianceGammaProcess (double s0, double mu, VarianceGammaProcess vargamma)
 Constructs a new GeometricVarianceGammaProcess. More...
 
double nextObservation ()
 
double [] generatePath ()
 
double [] generatePath (double[] uniform01)
 
double getCurrentUpperBound ()
 
void resetStartProcess ()
 Resets the GeometricaVarianceGammaProcess, but also applies the resetStartProcess method to the VarianceGammaProcess object used to generate this process.
 
void setParams (double s0, double theta, double sigma, double nu, double mu)
 Sets the parameters \(S(t_0) = \mathtt{s0}\), \(\theta= \mathtt{theta}\), \(\sigma= \mathtt{sigma}\), \(\nu= \mathtt{nu}\) and \(\mu= \mathtt{mu}\) of the process. More...
 
double getTheta ()
 Returns the value of the parameter \(\theta\).
 
double getMu ()
 Returns the value of the parameter \(\mu\).
 
double getNu ()
 Returns the value of the parameter \(\nu\).
 
double getSigma ()
 Returns the value of the parameter \(\sigma\).
 
double getOmega ()
 Returns the value of the quantity \(\omega\) defined in ( omegaEqn ).
 
VarianceGammaProcess getVarianceGammaProcess ()
 Returns a reference to the variance gamma process \(X\) defined in the constructor.
 
void setStream (RandomStream stream)
 
RandomStream getStream ()
 
- Public Member Functions inherited from StochasticProcess
void setObservationTimes (double[] T, int d)
 Sets the observation times of the process to a copy of T, with. More...
 
void setObservationTimes (double delta, int d)
 Sets equidistant observation times at \(t_j = j\delta\), for. More...
 
double [] getObservationTimes ()
 Returns a reference to the array that contains the observation times. More...
 
int getNumObservationTimes ()
 Returns the number \(d\) of observation times, excluding the time \(t_0\).
 
abstract double [] generatePath ()
 Generates, returns, and saves the sample path \(\{X(t_0), X(t_1), \dots, X(t_d)\}\). More...
 
double [] generatePath (RandomStream stream)
 Same as generatePath(), but first resets the stream to stream.
 
double [] getPath ()
 Returns a reference to the last generated sample path \(\{X(t_0), ... , X(t_d)\}\). More...
 
void getSubpath (double[] subpath, int[] pathIndices)
 Returns in subpath the values of the process at a subset of the observation times, specified as the times \(t_j\) whose indices. More...
 
double getObservation (int j)
 Returns \(X(t_j)\) from the current sample path. More...
 
void resetStartProcess ()
 Resets the observation counter to its initial value \(j=0\), so that the current observation \(X(t_j)\) becomes \(X(t_0)\). More...
 
boolean hasNextObservation ()
 Returns true if \(j<d\), where \(j\) is the number of observations of the current sample path generated since the last call to resetStartProcess. More...
 
double nextObservation ()
 Generates and returns the next observation \(X(t_j)\) of the stochastic process. More...
 
int getCurrentObservationIndex ()
 Returns the value of the index \(j\) corresponding to the time. More...
 
double getCurrentObservation ()
 Returns the value of the last generated observation \(X(t_j)\).
 
double getX0 ()
 Returns the initial value \(X(t_0)\) for this process.
 
void setX0 (double s0)
 Sets the initial value \(X(t_0)\) for this process to s0, and reinitializes.
 
abstract void setStream (RandomStream stream)
 Resets the random stream of the underlying generator to stream.
 
abstract RandomStream getStream ()
 Returns the random stream of the underlying generator.
 
int [] getArrayMappingCounterToIndex ()
 Returns a reference to an array that maps an integer \(k\) to \(i_k\), the index of the observation \(S(t_{i_k})\) corresponding to the \(k\)-th observation to be generated for a sample path of this process. More...
 

Protected Member Functions

void init ()
 
- Protected Member Functions inherited from StochasticProcess
void init ()
 

Protected Attributes

VarianceGammaProcess vargamma
 
double theta
 
double [] mudt
 
- Protected Attributes inherited from StochasticProcess
boolean observationTimesSet = false
 
double x0 = 0.0
 
int d = -1
 
int observationIndex = 0
 
int observationCounter = 0
 
double [] t
 
double [] path
 
int [] observationIndexFromCounter
 

Package Attributes

double nu
 
double mu
 
double sigma
 
double omega
 
double muPlusOmega
 

Detailed Description

This class represents a geometric variance gamma process \(S(t)\) (see [171]  (page 86)).

This stochastic process is defined by the equation

\[ S(t) = S(0) \mbox{ exp}(\mu t + X(t; \sigma, \nu, \theta) + \omega t), \tag{GeoVGeqn} \]

where \(X\) is a variance gamma process and

\[ \omega= (1/\nu) \mbox{ ln}( 1 - \theta\nu- \sigma^2 \nu/2). \tag{omegaEqn} \]

Constructor & Destructor Documentation

◆ GeometricVarianceGammaProcess() [1/2]

GeometricVarianceGammaProcess ( double  s0,
double  theta,
double  sigma,
double  nu,
double  mu,
RandomStream  stream 
)

Constructs a new GeometricVarianceGammaProcess with parameters \(\theta= \mathtt{theta}\), \(\sigma= \mathtt{sigma}\), \(\nu= \mathtt{nu}\), \(\mu= \mathtt{mu}\) and initial value \(S(t_0) = \mathtt{s0}\).

The stream is used to generate the VarianceGammaProcess object used to implement \(X\) in ( GeoVGeqn ).

◆ GeometricVarianceGammaProcess() [2/2]

GeometricVarianceGammaProcess ( double  s0,
double  mu,
VarianceGammaProcess  vargamma 
)

Constructs a new GeometricVarianceGammaProcess.

The parameters \(\theta, \sigma, \nu\) are set to the parameters of the VarianceGammaProcess vargamma. The parameter \(\mu\) is set to mu and the initial values \(S(t_0) = \mathtt{s0}\).

Member Function Documentation

◆ setParams()

void setParams ( double  s0,
double  theta,
double  sigma,
double  nu,
double  mu 
)

Sets the parameters \(S(t_0) = \mathtt{s0}\), \(\theta= \mathtt{theta}\), \(\sigma= \mathtt{sigma}\), \(\nu= \mathtt{nu}\) and \(\mu= \mathtt{mu}\) of the process.

Warning: This method will recompute some quantities stored internally, which may be slow if called repeatedly.


The documentation for this class was generated from the following file: