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. More... | |
| class | BrownianMotionPCA |
| A Brownian motion process \(\{X(t) : t \geq0 \}\) sampled using the principal component decomposition (PCA) [67], [91],. 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. 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 [167] (page 82) \(\{
S(t) = G(t; \mu, \nu) : t \geq0 \}\) with mean parameter. More... | |
| class | GammaProcessBridge |
| This class represents a gamma process \(\{ S(t) = G(t; \mu, \nu) : t \geq0
\}\) with mean parameter \(\mu\) and variance parameter. 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. 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)\): More... | |
| class | GeometricNormalInverseGaussianProcess |
| The geometric normal inverse gaussian (GNIG) process is the exponentiation of a NormalInverseGaussianProcess : More... | |
| class | GeometricVarianceGammaProcess |
| This class represents a geometric variance gamma process \(S(t)\) (see. 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) [175] than the simple inversion of the distribution function used by. More... | |
| class | InverseGaussianProcessPCA |
| Approximates a principal component analysis (PCA) decomposition of the InverseGaussianProcess. More... | |
| class | MultivariateBrownianMotion |
| This class represents a multivariate Brownian motion process. 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 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. More... | |
| class | OrnsteinUhlenbeckWithIntegratedProcess |
| This class is custom-made for the CallableBond example. 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. More... | |
| class | VarianceGammaProcessDiffPCABridge |
| Same as VarianceGammaProcessDiff, but the two inner. More... | |
| class | VarianceGammaProcessDiffPCASymmetricalBridge |
| Same as VarianceGammaProcessDiff, but the two inner. 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.