- java.lang.Object
-
- net.finmath.montecarlo.MertonJumpProcess
-
- All Implemented Interfaces:
Serializable
,IndependentIncrements
public class MertonJumpProcess extends Object implements IndependentIncrements, Serializable
Implementation of the compound Poisson process for the Merton jump diffusion model.- Author:
- Christian Fries, Alessandro Gnoatto
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description MertonJumpProcess(double jumpIntensity, double jumpSizeMean, double jumpSizeStDev, TimeDiscretization timeDiscretization, int numberOfPaths, int seed)
Constructs a Merton Jump Process for Monte Carlo simulation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IndependentIncrements
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.IndependentIncrements
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.double
getJumpIntensity()
double
getJumpSizeMean()
double
getJumpSizeStDev()
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.TimeDiscretization
getTimeDiscretization()
Returns the time discretization used for this set of time-discrete Brownian increments.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.finmath.montecarlo.IndependentIncrements
getIncrement
-
-
-
-
Constructor Detail
-
MertonJumpProcess
public MertonJumpProcess(double jumpIntensity, double jumpSizeMean, double jumpSizeStDev, TimeDiscretization timeDiscretization, int numberOfPaths, int seed)
Constructs a Merton Jump Process for Monte Carlo simulation.- Parameters:
jumpIntensity
- The jump intensity.jumpSizeMean
- The mean of the jump size distribution.jumpSizeStDev
- The std dev of the jump size distribution.timeDiscretization
- The time discretization of the process.numberOfPaths
- The number of path.seed
- The seed for the random number generator.
-
-
Method Detail
-
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.
-
getCloneWithModifiedSeed
public IndependentIncrements 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 IndependentIncrements 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.
-
getJumpIntensity
public double getJumpIntensity()
- Returns:
- the jumpIntensity
-
getJumpSizeMean
public double getJumpSizeMean()
- Returns:
- the jumpSizeMean
-
getJumpSizeStDev
public double getJumpSizeStDev()
- Returns:
- the jumpSizeStDev
-
-