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 [67] ). More...  
class  BrownianMotionPCA 
A Brownian motion process \(\{X(t) : t \geq0 \}\) sampled using the principal component decomposition (PCA) [67], [93], [147] . 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 [162] (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 [197], [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 [129] , 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 [162] (page 86)). More...  
class  InverseGaussianProcess 
The inverse Gaussian process is a nondecreasing 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) [171] 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 [67] , 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 OrnsteinUhlenbeck process \(\{X(t) : t \geq0 \}\), sampled at times \(0 = t_0 < t_1 < \cdots< t_d\). More...  
class  OrnsteinUhlenbeckProcessEuler 
This class represents an OrnsteinUhlenbeck 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),…,X(t_d)) \in \mathbb{R}\).
The observation times \(t_0, …, 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 variancegamma 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 quasiMonte 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.