SSJ
3.3.1
Stochastic Simulation in Java
|
Same as VarianceGammaProcessDiff, but the two inner GammaProcess ’es are of PCA type. More...
Public Member Functions | |
VarianceGammaProcessDiffPCA (double s0, double theta, double sigma, double nu, RandomStream stream) | |
Constructs a new VarianceGammaProcessDiffPCA with parameters \(\theta= \mathtt{theta}\), \(\sigma= \mathtt{sigma}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\). More... | |
VarianceGammaProcessDiffPCA (double s0, double theta, double sigma, double nu, GammaProcessPCA gpos, GammaProcessPCA gneg) | |
Constructs a new VarianceGammaProcessDiffPCA with parameters \(\theta= \mathtt{theta}\), \(\sigma= \mathtt{sigma}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\). More... | |
double | nextObservation () |
This method is not implemented is this class since the path cannot be generated sequentially. | |
double [] | generatePath () |
double [] | generatePath (double[] uniform01) |
Public Member Functions inherited from VarianceGammaProcessDiff | |
VarianceGammaProcessDiff (double s0, double theta, double sigma, double nu, RandomStream stream) | |
Constructs a new VarianceGammaProcessDiff with parameters \(\theta= \mathtt{theta}\), \(\sigma= \mathtt{sigma}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\). More... | |
VarianceGammaProcessDiff (double s0, double theta, double sigma, double nu, GammaProcess gpos, GammaProcess gneg) | |
The parameters of the GammaProcess objects for \(\Gamma^+\) and \(\Gamma^-\) are set to those of ( dblGammaParams ) and their initial values \(\Gamma^+(t_0)\) and \(\Gamma^-(t_0)\) are set to \(t_0\). More... | |
double | nextObservation () |
double [] | generatePath () |
Generates, returns and saves the path. More... | |
double [] | generatePath (double[] uniform01) |
Similar to the usual generatePath() , but here the uniform random numbers used for the simulation must be provided to the method. More... | |
void | resetStartProcess () |
Sets the observation times on the VarianceGammaProcessDiff as usual, but also applies the resetStartProcess method to the two GammaProcess objects used to generate this process. | |
GammaProcess | getGpos () |
Returns a reference to the GammaProcess object gpos used to generate the \(\Gamma^+\) component of the process. | |
GammaProcess | getGneg () |
Returns a reference to the GammaProcess object gneg used to generate the \(\Gamma^-\) component of the process. | |
void | setObservationTimes (double t[], int d) |
Sets the observation times on the VarianceGammaProcesDiff as usual, but also sets the observation times of the underlying GammaProcess ’es. | |
RandomStream | getStream () |
Returns the RandomStream of the \(\Gamma^+\) process. | |
void | setStream (RandomStream stream) |
Sets the umontreal.ssj.rng.RandomStream of the two GammaProcess ’es to stream . | |
Public Member Functions inherited from VarianceGammaProcess | |
VarianceGammaProcess (double s0, double theta, double sigma, double nu, RandomStream stream) | |
Constructs a new VarianceGammaProcess with parameters \(\theta= \mathtt{theta}\), \(\sigma= \mathtt{sigma}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\). More... | |
VarianceGammaProcess (double s0, BrownianMotion BM, GammaProcess Gamma) | |
Constructs a new VarianceGammaProcess . More... | |
double | nextObservation () |
Generates the observation for the next time. More... | |
double [] | generatePath () |
Generates and returns the path. More... | |
double [] | generatePath (double[] uniform01) |
Similar to the usual generatePath() , but here the uniform random numbers used for the simulation must be provided to the method. More... | |
void | resetStartProcess () |
Resets the observation index and counter to 0 and applies the resetStartProcess method to the BrownianMotion and the GammaProcess objects used to generate this process. | |
void | setParams (double s0, double theta, double sigma, double nu) |
Sets the parameters \(S(t_0) =\) s0 , \(\theta=\) theta , \(\sigma=\) sigma and \(\nu=\) nu of the process. More... | |
double | getTheta () |
Returns the value of the parameter \(\theta\). | |
double | getSigma () |
Returns the value of the parameter \(\sigma\). | |
double | getNu () |
Returns the value of the parameter \(\nu\). | |
void | setObservationTimes (double t[], int d) |
Sets the observation times on the VarianceGammaProcess as usual, but also sets the observation times of the underlying GammaProcess. More... | |
void | setStream (RandomStream stream) |
Resets the umontreal.ssj.rng.RandomStream ’s. More... | |
RandomStream | getStream () |
Returns the random stream of the BrownianMotion process, which should be the same as for the GammaProcess. | |
BrownianMotion | getBrownianMotion () |
Returns a reference to the inner BrownianMotion. | |
GammaProcess | getGammaProcess () |
Returns a reference to the inner GammaProcess. | |
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 VarianceGammaProcessDiff | |
void | init () |
Protected Member Functions inherited from VarianceGammaProcess | |
void | init () |
Protected Member Functions inherited from StochasticProcess | |
void | init () |
Package Attributes | |
int [] | indexEigenUp |
int [] | indexEigenDw |
Package Attributes inherited from VarianceGammaProcessDiff | |
double | mun |
double | nup |
double | nun |
Package Attributes inherited from VarianceGammaProcess | |
double | sigma |
double | nu |
Additional Inherited Members | |
Protected Attributes inherited from VarianceGammaProcessDiff | |
GammaProcess | gpos |
GammaProcess | gneg |
double | mup |
Protected Attributes inherited from VarianceGammaProcess | |
GammaProcess | randomTime |
BrownianMotion | BM |
double | theta |
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 |
Same as VarianceGammaProcessDiff, but the two inner GammaProcess ’es are of PCA type.
Also, generatePath(double[] uniforms01)
distributes the uniform random variates to the GammaProcessPCA ’s according to their eigenvalues, i.e. the GammaProcessPCA with the higher eigenvalue gets the next uniform random number. If one should decide to create a VarianceGammaProcessDiffPCA by giving two GammaProcessPCA ’s to an objet of the class VarianceGammaProcessDiff, the uniform random numbers would not be given this way to the GammaProcessPCA ’s; this might give less variance reduction when used with QMC.
VarianceGammaProcessDiffPCA | ( | double | s0, |
double | theta, | ||
double | sigma, | ||
double | nu, | ||
RandomStream | stream | ||
) |
Constructs a new VarianceGammaProcessDiffPCA with parameters \(\theta= \mathtt{theta}\), \(\sigma= \mathtt{sigma}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\).
There is only one umontreal.ssj.rng.RandomStream here which is used for the two inner GammaProcessPCA ’s. The other parameters are set as in VarianceGammaProcessDiff.
VarianceGammaProcessDiffPCA | ( | double | s0, |
double | theta, | ||
double | sigma, | ||
double | nu, | ||
GammaProcessPCA | gpos, | ||
GammaProcessPCA | gneg | ||
) |
Constructs a new VarianceGammaProcessDiffPCA with parameters \(\theta= \mathtt{theta}\), \(\sigma= \mathtt{sigma}\), \(\nu= \mathtt{nu}\) and initial value \(S(t_0) = \mathtt{s0}\).
As in VarianceGammaProcessDiff, the umontreal.ssj.rng.RandomStream of gneg
is replaced by the one of gpos
to avoid any confusion.