This class is a multivariate version of StochasticProcess where the process evolves in the \(c\)-dimensional real space. More...
Public Member Functions | |
| abstract double[] | generatePath () |
| Generates, returns, and saves the sample path. | |
| 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. | |
| void | setObservationTimes (double[] t, int d) |
| Sets the observation times of the process to a copy of t, with. | |
| void | getObservation (int j, double[] obs) |
| Returns \(\mathbf{X}(t_j)\) in the \(c\)-dimensional vector obs. | |
| double | getObservation (int j, int i) |
| Returns \(X_i(t_j)\) from the current sample path. | |
| abstract void | nextObservationVector (double[] obs) |
| Generates and returns in obs the next observation. | |
| void | getCurrentObservation (double[] obs) |
| Returns the value of the last generated observation. | |
| double[] | getX0 (double[] x0) |
| Returns in x0 the initial value \(\mathbf{X}(t_0)\) for this process. | |
| int | getDimension () |
| Returns the dimension of \(\mathbf{X}\). | |
| Public Member Functions inherited from umontreal.ssj.stochprocess.StochasticProcess | |
| void | setObservationTimes (double delta, int d) |
| Sets equidistant observation times at \(t_j = j\delta\), for. | |
| double[] | getObservationTimes () |
| Returns a reference to the array that contains the observation times. | |
| int | getNumObservationTimes () |
| Returns the number \(d\) of observation times, excluding the time \(t_0\). | |
| 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)\}\). | |
| double | getObservation (int j) |
| Returns \(X(t_j)\) from the current sample path. | |
| void | resetStartProcess () |
| Resets the observation counter to its initial value \(j=0\), so that the current observation \(X(t_j)\) becomes \(X(t_0)\). | |
| 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. | |
| double | nextObservation () |
| Generates and returns the next observation \(X(t_j)\) of the stochastic process. | |
| int | getCurrentObservationIndex () |
| Returns the value of the index \(j\) corresponding to the time. | |
| 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. | |
This class is a multivariate version of StochasticProcess where the process evolves in the \(c\)-dimensional real space.
It is an abstract (base) class for a multivariate stochastic process \(\{\mathbf{X}(t) = (X_1(t),…,X_c(t)), t \geq0 \}\), sampled (or observed) at a finite number of time points, \(0 = t_0 < t_1 < \cdots< t_d\). The observation times can be specified by setObservationTimes. The method generatePath generates \(\mathbf{X}(t_1),…,\mathbf{X}(t_d)\) and memorizes them in a (one-dimensional) vector, which can be recovered by getPath. The element \(cj+i-1\) of this vector contains \(X_i(t_j)\), for \(j=0,…,d\) and
\(i=1,…,c\). Alternatively, in some cases, the observations \(\mathbf{X}(t_j)\) can be generated sequentially, one at a time, by invoking resetStartProcess first, and then nextObservationVector repeatedly.
Definition at line 46 of file MultivariateStochasticProcess.java.
|
abstract |
Generates, returns, and saves the sample path.
\(\{\mathbf{X}(t_0), \mathbf{X}(t_1), …, \mathbf{X}(t_d)\}\), which can then be accessed via getPath, getSubpath, or getObservation. The generation method depends on the process type. If path[] denotes the returned array, then path[cj + i-1] contains \(X_i(t_j)\) for \(j=0,…,d\) and \(i=1,…,c\).
Reimplemented from umontreal.ssj.stochprocess.StochasticProcess.
Reimplemented in umontreal.ssj.stochprocess.MultivariateBrownianMotion, umontreal.ssj.stochprocess.MultivariateBrownianMotionBridge, umontreal.ssj.stochprocess.MultivariateBrownianMotionPCA, umontreal.ssj.stochprocess.MultivariateBrownianMotionPCABigSigma, and umontreal.ssj.stochprocess.MultivariateGeometricBrownianMotion.
| void umontreal.ssj.stochprocess.MultivariateStochasticProcess.getCurrentObservation | ( | double[] | obs | ) |
Returns the value of the last generated observation.
\(\mathbf{X}(t_j)\).
Definition at line 135 of file MultivariateStochasticProcess.java.
| int umontreal.ssj.stochprocess.MultivariateStochasticProcess.getDimension | ( | ) |
Returns the dimension of \(\mathbf{X}\).
Definition at line 165 of file MultivariateStochasticProcess.java.
| void umontreal.ssj.stochprocess.MultivariateStochasticProcess.getObservation | ( | int | j, |
| double[] | obs ) |
Returns \(\mathbf{X}(t_j)\) in the \(c\)-dimensional vector obs.
Definition at line 111 of file MultivariateStochasticProcess.java.
| double umontreal.ssj.stochprocess.MultivariateStochasticProcess.getObservation | ( | int | j, |
| int | i ) |
Returns \(X_i(t_j)\) from the current sample path.
Definition at line 119 of file MultivariateStochasticProcess.java.
| void umontreal.ssj.stochprocess.MultivariateStochasticProcess.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.
\(j\) are in the array pathIndices. The size of pathIndices should be at least as much as that of subpath.
Reimplemented from umontreal.ssj.stochprocess.StochasticProcess.
Definition at line 70 of file MultivariateStochasticProcess.java.
| double[] umontreal.ssj.stochprocess.MultivariateStochasticProcess.getX0 | ( | double[] | x0 | ) |
Returns in x0 the initial value \(\mathbf{X}(t_0)\) for this process.
Definition at line 143 of file MultivariateStochasticProcess.java.
|
abstract |
Generates and returns in obs the next observation.
\(\mathbf{X}(t_j)\).
Reimplemented in umontreal.ssj.stochprocess.MultivariateBrownianMotion, umontreal.ssj.stochprocess.MultivariateBrownianMotionBridge, and umontreal.ssj.stochprocess.MultivariateGeometricBrownianMotion.
| void umontreal.ssj.stochprocess.MultivariateStochasticProcess.setObservationTimes | ( | double[] | t, |
| int | d ) |
Sets the observation times of the process to a copy of t, with.
\(t_0 = \mathtt{t[0]}\) and \(t_d = \mathtt{t[d]}\). The size of t must be \(d+1\).
Reimplemented from umontreal.ssj.stochprocess.StochasticProcess.
Reimplemented in umontreal.ssj.stochprocess.MultivariateGeometricBrownianMotion.
Definition at line 84 of file MultivariateStochasticProcess.java.