Interface BrownianMotion

All Superinterfaces:
IndependentIncrements
All Known Implementing Classes:
BrownianBridge, BrownianMotionFromMersenneRandomNumbers, BrownianMotionFromRandomNumberGenerator, BrownianMotionLazyInit, BrownianMotionView, BrownianMotionWithControlVariate, CorrelatedBrownianMotion

public interface BrownianMotion extends IndependentIncrements
Interface description of a time-discrete n-dimensional Brownian motion W = (W1,...,Wn) where Wi is a Brownian motion. Here the dimension n is called factors since this Brownian motion is used to generate multi-dimensional multi-factor Ito processes and there one might use a different number of factors to generate Ito processes of different dimension.
Version:
1.3
Author:
Christian Fries
  • Method Details

    • getBrownianIncrement

      RandomVariable getBrownianIncrement(int timeIndex, int factor)
      Return the Brownian increment for a given timeIndex. The method returns the random variable Δ Wj(ti) := Wj(ti+1)-W(ti) for the given time index i and a given factor (index) j
      Parameters:
      timeIndex - The time index (corresponding to the this class's time discretization).
      factor - The index of the factor (independent scalar Brownian increment).
      Returns:
      The factor (component) of the Brownian increments (a random variable).
    • getBrownianIncrement

      default RandomVariable getBrownianIncrement(double time, int factor)
      Return the Brownian increment for a given timeIndex. The method returns the random variable Δ Wj(ti) := Wj(ti+1)-W(ti) for the given time index i and a given factor (index) j, where the time index is derived via getTimeDiscretization().getTimeIndex(time)
      Parameters:
      time - The time (has to map to a time in this class's time discretization).
      factor - The index of the factor (independent scalar Brownian increment).
      Returns:
      The factor (component) of the Brownian increments (a random variable).
    • getIncrement

      default RandomVariable getIncrement(int timeIndex, int factor)
      Description copied from interface: IndependentIncrements
      Return the increment for a given timeIndex and given factor. The method returns the random variable Δ Xj(ti) := Xj(ti+1)-X(ti) for the given time index i and a given factor (index) j
      Specified by:
      getIncrement in interface IndependentIncrements
      Parameters:
      timeIndex - The time index (corresponding to the this class's time discretization)
      factor - The index of the factor (independent scalar increment)
      Returns:
      The factor (component) of the increments (a random variable)
    • getTimeDiscretization

      TimeDiscretization getTimeDiscretization()
      Returns the time discretization used for this set of time-discrete Brownian increments.
      Specified by:
      getTimeDiscretization in interface IndependentIncrements
      Returns:
      The time discretization used for this set of time-discrete Brownian increments.
    • getNumberOfFactors

      int getNumberOfFactors()
      Returns the number of factors.
      Specified by:
      getNumberOfFactors in interface IndependentIncrements
      Returns:
      The number of factors.
    • getNumberOfPaths

      int getNumberOfPaths()
      Returns the number of paths.
      Specified by:
      getNumberOfPaths in interface IndependentIncrements
      Returns:
      The number of paths.
    • getRandomVariableForConstant

      RandomVariable getRandomVariableForConstant(double value)
      Returns a random variable which is initialized to a constant, but has exactly the same number of paths or discretization points as the ones used by this BrownianMotion.
      Specified by:
      getRandomVariableForConstant in interface IndependentIncrements
      Parameters:
      value - The constant value to be used for initialized the random variable.
      Returns:
      A new random variable.
    • getCloneWithModifiedSeed

      BrownianMotion getCloneWithModifiedSeed(int seed)
      Return a new object implementing BrownianMotion having the same specifications as this object but a different seed for the random number generator. This method is useful if you like to make Monte-Carlo samplings by changing the seed.
      Specified by:
      getCloneWithModifiedSeed in interface IndependentIncrements
      Parameters:
      seed - New value for the seed.
      Returns:
      New object implementing BrownianMotion.
    • getCloneWithModifiedTimeDiscretization

      BrownianMotion getCloneWithModifiedTimeDiscretization(TimeDiscretization newTimeDiscretization)
      Return a new object implementing BrownianMotion having the same specifications as this object but a different time discretization.
      Specified by:
      getCloneWithModifiedTimeDiscretization in interface IndependentIncrements
      Parameters:
      newTimeDiscretization - New time discretization
      Returns:
      New object implementing BrownianMotion.