SSJ
3.3.1
Stochastic Simulation in Java
|
This class represents a geometric variance gamma process \(S(t)\) (see [171] (page 86)). More...
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 |
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} \]
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 | ( | 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}\).
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.