Class MultivariateRandomProcess

  • All Implemented Interfaces:
    RandomVectorGenerator, Seedable
    Direct Known Subclasses:
    MultivariateRandomWalk

    public abstract class MultivariateRandomProcess
    extends Object
    implements RandomVectorGenerator
    This interface represents a multivariate random process a.k.a. stochastic process.

    Given a probability space (Ω, F, P), a random process (or stochastic process) with state space X is a collection of X-valued random variables indexed by a set T ("time"). That is, a stochastic process F is a collection {Ft: t ∈ T} where each Ft is an X-valued random variable.

    According to the Lévy-Khintchine representation, for a stochastic process, we have the Lévy triplet:

    • the absolutely continuous part such that the increment dB is proportional to the square root of time increment dt;
    See Also:
    Lévy-Itō decomposition
    • Constructor Detail

      • MultivariateRandomProcess

        public MultivariateRandomProcess​(int nB,
                                         TimeGrid timeGrid)
        Construct a multivariate random process.
        Parameters:
        nB - the dimension of the Brownian motion (or the number of driving 1D Brownian motions)
        timeGrid - the time points
    • Method Detail

      • seed

        public void seed​(long... seeds)
        Description copied from interface: Seedable
        Seed the random number/vector/scenario generator to produce repeatable experiments.
        Specified by:
        seed in interface Seedable
        Parameters:
        seeds - the seeds
      • nB

        public int nB()
        Get the dimension of the Brownian motion (or the number of driving 1D Brownian motions).
        Returns:
        the dimension of the Brownian motion
      • time

        public double time()
        Get the current time.
        Returns:
        the current time; NaN if nextTime() is not already called
      • nextTime

        protected double nextTime()
        Get the next time point in the time grid. This advances the internal clock.
        Returns:
        the next time point in the time grid
      • Zt

        protected Vector Zt()
        Get a d-dimensional Gaussian innovation.
        Returns:
        a d-dimensional Gaussian innovation
      • dB

        protected Vector dB​(double dt)
        Get a Brownian motion increment.
        Parameters:
        dt - the time increment
        Returns:
        a Brownian motion increment