net.finmath.montecarlo
Class BrownianMotion
- java.lang.Object
-
- net.finmath.montecarlo.BrownianMotion
-
- All Implemented Interfaces:
- java.io.Serializable, BrownianMotionInterface
public class BrownianMotion extends java.lang.Object implements BrownianMotionInterface, java.io.Serializable
Implementation of a time-discrete n-dimensional Brownian motion W = (W1,...,Wn) where Wi is a Brownian motion and Wi, Wj are independent for i not equal j. For a correlated Brownian motion with seeCorrelatedBrownianMotion. 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. The quadruppel (time discretization, number of factors, number of paths, seed) defines the state of an object of this class, i.e., BrownianMotion for which there parameters agree, generate the same random numbers. The class is immutable and thread safe. It uses lazy initialization.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description BrownianMotion(TimeDiscretizationInterface timeDiscretization, int numberOfFactors, int numberOfPaths, int seed)Construct a Brownian motion.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description booleanequals(java.lang.Object o)RandomVariableInterfacegetBrownianIncrement(int timeIndex, int factor)Return the Brownian increment for a given timeIndex.BrownianMotionInterfacegetCloneWithModifiedSeed(int seed)Return a new object implementing BrownianMotionInterface having the same specifications as this object but a different seed for the random number generator.BrownianMotionInterfacegetCloneWithModifiedTimeDiscretization(TimeDiscretizationInterface newTimeDiscretization)Return a new object implementing BrownianMotionInterface having the same specifications as this object but a different time discretization.intgetNumberOfFactors()Returns the number of factors.intgetNumberOfPaths()Returns the number of paths.RandomVariableInterfacegetRandomVariableForConstant(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 BrownianMotionInterface.intgetSeed()TimeDiscretizationInterfacegetTimeDiscretization()Returns the time discretization used for this set of time-discrete Brownian increments.inthashCode()java.lang.StringtoString()
-
-
-
Constructor Detail
-
BrownianMotion
public BrownianMotion(TimeDiscretizationInterface timeDiscretization, int numberOfFactors, int numberOfPaths, int seed)
Construct a Brownian motion.- Parameters:
timeDiscretization- The time discretization used for the Brownian increments.numberOfFactors- Number of factors.numberOfPaths- Number of paths to simulate.seed- The seed of the random number generator.
-
-
Method Detail
-
getCloneWithModifiedSeed
public BrownianMotionInterface getCloneWithModifiedSeed(int seed)
Description copied from interface:BrownianMotionInterfaceReturn a new object implementing BrownianMotionInterface 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:
getCloneWithModifiedSeedin interfaceBrownianMotionInterface- Parameters:
seed- New value for the seed.- Returns:
- New object implementing BrownianMotionInterface.
-
getCloneWithModifiedTimeDiscretization
public BrownianMotionInterface getCloneWithModifiedTimeDiscretization(TimeDiscretizationInterface newTimeDiscretization)
Description copied from interface:BrownianMotionInterfaceReturn a new object implementing BrownianMotionInterface having the same specifications as this object but a different time discretization.- Specified by:
getCloneWithModifiedTimeDiscretizationin interfaceBrownianMotionInterface- Parameters:
newTimeDiscretization- New time discretization- Returns:
- New object implementing BrownianMotionInterface.
-
getBrownianIncrement
public RandomVariableInterface getBrownianIncrement(int timeIndex, int factor)
Description copied from interface:BrownianMotionInterfaceReturn 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- Specified by:
getBrownianIncrementin interfaceBrownianMotionInterface- 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).
-
getTimeDiscretization
public TimeDiscretizationInterface getTimeDiscretization()
Description copied from interface:BrownianMotionInterfaceReturns the time discretization used for this set of time-discrete Brownian increments.- Specified by:
getTimeDiscretizationin interfaceBrownianMotionInterface- Returns:
- The time discretization used for this set of time-discrete Brownian increments.
-
getNumberOfFactors
public int getNumberOfFactors()
Description copied from interface:BrownianMotionInterfaceReturns the number of factors.- Specified by:
getNumberOfFactorsin interfaceBrownianMotionInterface- Returns:
- The number of factors.
-
getNumberOfPaths
public int getNumberOfPaths()
Description copied from interface:BrownianMotionInterfaceReturns the number of paths.- Specified by:
getNumberOfPathsin interfaceBrownianMotionInterface- Returns:
- The number of paths.
-
getRandomVariableForConstant
public RandomVariableInterface getRandomVariableForConstant(double value)
Description copied from interface:BrownianMotionInterfaceReturns 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 BrownianMotionInterface.- Specified by:
getRandomVariableForConstantin interfaceBrownianMotionInterface- Parameters:
value- The constant value to be used for initialized the random variable.- Returns:
- A new random variable.
-
getSeed
public int getSeed()
- Returns:
- Returns the seed.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-
DataMelt 3.0 © DataMelt by jWork.ORG