- java.lang.Object
-
- net.finmath.montecarlo.JumpProcessIncrements
-
- All Implemented Interfaces:
Serializable
,IndependentIncrements
public class JumpProcessIncrements extends Object implements IndependentIncrements, Serializable
Implementation of a time-discrete n-dimensional jump process J = (J1,...,Jn) where Ji is a Poisson jump process and Ji, Jj are independent for i not equal j. Here the dimension n is called factors since the increments are used to generate multi-dimensional multi-factor processes and there one might use a different number of factors to generate processes of different dimension. The quadruppel (time discretization, jumpIntensities, number of paths, seed) defines the state of an object of this class. The class is immutable and thread safe. It uses lazy initialization.- Version:
- 1.6
- Author:
- Christian Fries
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description JumpProcessIncrements(TimeDiscretization timeDiscretization, double[] jumpIntensities, int numberOfPaths, int seed)
Construct a jump process.JumpProcessIncrements(TimeDiscretization timeDiscretization, double[] jumpIntensities, int numberOfPaths, int seed, RandomVariableFactory abstractRandomVariableFactory)
Construct a jump process.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JumpProcessIncrements
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.JumpProcessIncrements
getCloneWithModifiedTimeDiscretization(TimeDiscretization newTimeDiscretization)
Return a new object implementing BrownianMotion having the same specifications as this object but a different time discretization.RandomVariable
getIncrement(int timeIndex, int factor)
Return the increment for a given timeIndex and given factor.int
getNumberOfFactors()
Returns the number of factors.int
getNumberOfPaths()
Returns the number of paths.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.int
getSeed()
TimeDiscretization
getTimeDiscretization()
Returns the time discretization used for this set of time-discrete Brownian increments.String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.finmath.montecarlo.IndependentIncrements
getIncrement
-
-
-
-
Constructor Detail
-
JumpProcessIncrements
public JumpProcessIncrements(TimeDiscretization timeDiscretization, double[] jumpIntensities, int numberOfPaths, int seed, RandomVariableFactory abstractRandomVariableFactory)
Construct a jump process. The constructor allows to set the factory to be used for the construction of random variables. This allows to generate increments represented by different implementations of the RandomVariable (e.g. the RandomVariableFromFloatArray internally using float representations).- Parameters:
timeDiscretization
- The time discretization used for the increments.jumpIntensities
- The jump intensities, one for each factor.numberOfPaths
- Number of paths to simulate.seed
- The seed of the random number generator.abstractRandomVariableFactory
- Factory to be used to create random variable.
-
JumpProcessIncrements
public JumpProcessIncrements(TimeDiscretization timeDiscretization, double[] jumpIntensities, int numberOfPaths, int seed)
Construct a jump process.- Parameters:
timeDiscretization
- The time discretization used for the Brownian increments.jumpIntensities
- The vector of jump intensities, one intensity for each factor.numberOfPaths
- Number of paths to simulate.seed
- The seed of the random number generator.
-
-
Method Detail
-
getCloneWithModifiedSeed
public JumpProcessIncrements getCloneWithModifiedSeed(int seed)
Description copied from interface:IndependentIncrements
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 interfaceIndependentIncrements
- Parameters:
seed
- New value for the seed.- Returns:
- New object implementing BrownianMotion.
-
getCloneWithModifiedTimeDiscretization
public JumpProcessIncrements getCloneWithModifiedTimeDiscretization(TimeDiscretization newTimeDiscretization)
Description copied from interface:IndependentIncrements
Return a new object implementing BrownianMotion having the same specifications as this object but a different time discretization.- Specified by:
getCloneWithModifiedTimeDiscretization
in interfaceIndependentIncrements
- Parameters:
newTimeDiscretization
- New time discretization- Returns:
- New object implementing BrownianMotion.
-
getIncrement
public 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 interfaceIndependentIncrements
- 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
public TimeDiscretization getTimeDiscretization()
Description copied from interface:IndependentIncrements
Returns the time discretization used for this set of time-discrete Brownian increments.- Specified by:
getTimeDiscretization
in interfaceIndependentIncrements
- Returns:
- The time discretization used for this set of time-discrete Brownian increments.
-
getNumberOfFactors
public int getNumberOfFactors()
Description copied from interface:IndependentIncrements
Returns the number of factors.- Specified by:
getNumberOfFactors
in interfaceIndependentIncrements
- Returns:
- The number of factors.
-
getNumberOfPaths
public int getNumberOfPaths()
Description copied from interface:IndependentIncrements
Returns the number of paths.- Specified by:
getNumberOfPaths
in interfaceIndependentIncrements
- Returns:
- The number of paths.
-
getRandomVariableForConstant
public RandomVariable getRandomVariableForConstant(double value)
Description copied from interface:IndependentIncrements
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 interfaceIndependentIncrements
- 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.
-
-