SSJ
3.3.1
Stochastic Simulation in Java
|
Stochastic Processes. More...
Classes | |
class | BrownianMotion |
This class represents a Brownian motion process \(\{X(t) : t \geq0 \}\), sampled at times \(0 = t_0 < t_1 < \cdots< t_d\). More... | |
class | BrownianMotionBridge |
Represents a Brownian motion process \(\{X(t) : t \geq0 \}\) sampled using the bridge sampling technique (see for example [69] ). More... | |
class | BrownianMotionPCA |
A Brownian motion process \(\{X(t) : t \geq0 \}\) sampled using the principal component decomposition (PCA) [69], [95], [153] . More... | |
class | BrownianMotionPCAEqualSteps |
Same as BrownianMotionPCA, but uses a trick to speed up the calculation when the time steps are equidistant. More... | |
class | CIRProcess |
This class represents a CIR (Cox, Ingersoll, Ross) process [36] \(\{X(t) : t \geq0 \}\), sampled at times \(0 = t_0 < t_1 < \cdots< t_d\). More... | |
class | CIRProcessEuler |
This class represents a CIR process as in CIRProcess, but the process is generated using the simple Euler scheme. More... | |
class | GammaProcess |
This class represents a gamma process [171] (page 82) \(\{ S(t) = G(t; \mu, \nu) : t \geq0 \}\) with mean parameter \(\mu\) and variance parameter \(\nu\). More... | |
class | GammaProcessBridge |
This class represents a gamma process \(\{ S(t) = G(t; \mu, \nu) : t \geq0 \}\) with mean parameter \(\mu\) and variance parameter \(\nu\), sampled using the gamma bridge method (see for example [208], [11] ). More... | |
class | GammaProcessPCA |
Represents a gamma process sampled using the principal component analysis (PCA). More... | |
class | GammaProcessPCABridge |
Same as GammaProcessPCA, but the generated uniforms correspond to a bridge transformation of the BrownianMotionPCA instead of a sequential transformation. More... | |
class | GammaProcessPCASymmetricalBridge |
Same as GammaProcessPCABridge, but uses the fast inversion method for the symmetrical beta distribution, proposed by L’Ecuyer and Simard [134] , to accelerate the generation of the beta random variables. More... | |
class | GammaProcessSymmetricalBridge |
This class differs from GammaProcessBridge only in that it requires the number of interval of the path to be a power of 2 and of equal size. More... | |
class | GeometricBrownianMotion |
Represents a geometric Brownian motion (GBM) process \(\{S(t), t\ge0\}\), which evolves according to the stochastic differential equation. More... | |
class | GeometricLevyProcess |
Abstract class used as a parent class for the exponentiation of a Lévy process \(X(t)\): \[ S(t) = S(0) \exp\left(X(t) + (r - \omega_{RN}) t\right). \] The interest rate is denoted \(r\) and is referred to as | |
class | GeometricNormalInverseGaussianProcess |
The geometric normal inverse gaussian (GNIG) process is the exponentiation of a NormalInverseGaussianProcess : \[ S(t) = S_0 \exp\left[ (r-\omega_{RN})t + \mbox{NIG}(t;\alpha,\beta,\mu,\delta) \right], \] where \(r\) is the interest rate. More... | |
class | GeometricVarianceGammaProcess |
This class represents a geometric variance gamma process \(S(t)\) (see [171] (page 86)). More... | |
class | InverseGaussianProcess |
The inverse Gaussian process is a non-decreasing process where the increments are additive and are given by the inverse gaussian distribution, umontreal.ssj.probdist.InverseGaussianDist. More... | |
class | InverseGaussianProcessBridge |
Samples the path by bridge sampling: first finding the process value at the final time and then the middle time, etc. More... | |
class | InverseGaussianProcessMSH |
Uses a faster generating method (MSH) [180] than the simple inversion of the distribution function used by InverseGaussianProcess. More... | |
class | InverseGaussianProcessPCA |
Approximates a principal component analysis (PCA) decomposition of the InverseGaussianProcess . More... | |
class | MultivariateBrownianMotion |
This class represents a multivariate Brownian motion process \(\{\mathbf{X}(t) = (X_1(t),…, X_c(t)), t \geq0 \}\), sampled at times \(0 = t_0 < t_1 < \cdots< t_d\). More... | |
class | MultivariateBrownianMotionBridge |
A multivariate Brownian motion process \(\{\mathbf{X}(t) : t \geq0 \}\) sampled via bridge sampling. More... | |
class | MultivariateBrownianMotionPCA |
A multivariate Brownian motion process \(\{\mathbf{X}(t) : t \geq0 \}\) sampled entirely using the principal component decomposition (PCA), as explained in [69] , page 92. More... | |
class | MultivariateBrownianMotionPCABigSigma |
A multivariate Brownian motion process \(\{\mathbf{X}(t) : t \geq0 \}\) sampled entirely using the principal component decomposition (PCA). More... | |
class | MultivariateGeometricBrownianMotion |
This class is a multivariate version of GeometricBrownianMotion. More... | |
class | MultivariateStochasticProcess |
This class is a multivariate version of StochasticProcess where the process evolves in the \(c\)-dimensional real space. More... | |
class | NormalInverseGaussianProcess |
This class represents a normal inverse gaussian process (NIG). More... | |
class | OrnsteinUhlenbeckProcess |
This class represents an Ornstein-Uhlenbeck process \(\{X(t) : t \geq0 \}\), sampled at times \(0 = t_0 < t_1 < \cdots< t_d\). More... | |
class | OrnsteinUhlenbeckProcessEuler |
This class represents an Ornstein-Uhlenbeck process as in OrnsteinUhlenbeckProcess, but the process is generated using the simple Euler scheme. More... | |
class | StochasticProcess |
Abstract base class for a stochastic process \(\{X(t) : t \geq 0 \}\) sampled (or observed) at a finite number of time points, \(0 = t_0 < t_1 < \cdots< t_d\). More... | |
class | VarianceGammaProcess |
This class represents a variance gamma (VG) process \(\{S(t) = X(t; \theta, \sigma, \nu) : t \geq0\}\). More... | |
class | VarianceGammaProcessAlternate |
This is a VarianceGammaProcess for which the successive random numbers are used in a different order to generate the sample path. More... | |
class | VarianceGammaProcessDiff |
This class represents a variance gamma (VG) process \(\{S(t) = X(t; \theta, \sigma, \nu) : t \geq0\}\). More... | |
class | VarianceGammaProcessDiffPCA |
Same as VarianceGammaProcessDiff, but the two inner GammaProcess ’es are of PCA type. More... | |
class | VarianceGammaProcessDiffPCABridge |
Same as VarianceGammaProcessDiff, but the two inner GammaProcess ’es are of the type PCABridge. More... | |
class | VarianceGammaProcessDiffPCASymmetricalBridge |
Same as VarianceGammaProcessDiff, but the two inner GammaProcess ’es are of the PCASymmetricalBridge type. More... | |
Stochastic Processes.
This package provides classes to define stochastic processes \(\{X(t), t\ge0\}\) in the real space, and to simulate their sample paths at a finite number of observation times \(t_0 \le t_1 \le\cdots\le t_d\), i.e., skeletons of their sample paths. The generated path skeleton is a vector \((X(t_0),X(t_1),\dots,X(t_d)) \in \mathbb{R}\).
The observation times \(t_0, \dots, t_d\) can be specified (and can be changed) after defining the process, via the method setObservationTimes
. In some cases, the observation times can also be specified one by one when generating the value at the next observation time. This may be convenient or even necessary if the observation times are random, for example. The random stream used to generate the sample path can also be set or changed, using setStream
, and it can also be passed each time to the method that generates the paths.
The available processes include the Brownian motion (or Gaussian process), Gamma Process, Inverse Gaussian, versions with a random clock (or subordinate process) such as the variance-gamma and normal inverse Gaussian processes,
exponential (or geometric) versions of all of these, and more.
Many of those processes can be simulated in different ways, such as standard sequential generation of the increments (which are independent in the caes of L\'evy processes), or using a bridge sampling strategy as in BrownianMotionBridge
, or by using a principal component decomposition as in BrownianMotionPCA
. The choice of simulation strategy can have a significant impact on the variance when combined with randomized quasi-Monte Carlo (RQMC).
There are also multivariate versions in which the state is a \(c\)-dimensional vector, \(\mathbb{X}(t) \in \mathbb{R}\). At each time step, a new state vector is generated.
StochasticProcess
and umontreal.ssj.markovchainrqmc.MarkovChainDouble.