Module net.finmath.lib
Package net.finmath.montecarlo.process
Class MonteCarloProcessFromProcessModel
- java.lang.Object
-
- net.finmath.montecarlo.process.MonteCarloProcessFromProcessModel
-
- All Implemented Interfaces:
Cloneable
,MonteCarloProcess
,Process
- Direct Known Subclasses:
EulerSchemeFromProcessModel
public abstract class MonteCarloProcessFromProcessModel extends Object implements MonteCarloProcess, Cloneable
This class is an abstract base class to implement a multi-dimensional multi-factor Ito process. The dimension is callednumberOfComponents
here. The default fornumberOfFactors
is 1. This base class manages the time discretization and delegation to the model.- Version:
- 1.5
- Author:
- Christian Fries
- See Also:
The interface definition contains more details.
-
-
Constructor Summary
Constructors Constructor Description MonteCarloProcessFromProcessModel(TimeDiscretization timeDiscretization, ProcessModel model)
Create a discretization scheme / a time discrete process.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description RandomVariable
applyStateSpaceTransform(int timeIndex, int componentIndex, RandomVariable randomVariable)
RandomVariable
applyStateSpaceTransformInverse(int timeIndex, int componentIndex, RandomVariable randomVariable)
abstract MonteCarloProcessFromProcessModel
clone()
Create and return a clone of this process.abstract Object
getCloneWithModifiedSeed(int seed)
RandomVariable[]
getDrift(int timeIndex, RandomVariable[] realizationAtTimeIndex, RandomVariable[] realizationPredictor)
RandomVariable[]
getFactorLoading(int timeIndex, int componentIndex, RandomVariable[] realizationAtTimeIndex)
RandomVariable[]
getInitialState()
ProcessModel
getModel()
Get the model used to generate the stochastic process.int
getNumberOfComponents()
double
getTime(int timeIndex)
TimeDiscretization
getTimeDiscretization()
int
getTimeIndex(double time)
Returns the time index for a given simulation time.-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.finmath.montecarlo.process.MonteCarloProcess
getCloneWithModifiedData, getCloneWithModifiedModel, getNumberOfFactors, getNumberOfPaths, getStochasticDriver
-
Methods inherited from interface net.finmath.montecarlo.process.Process
getMonteCarloWeights, getProcessValue, getProcessValue
-
-
-
-
Constructor Detail
-
MonteCarloProcessFromProcessModel
public MonteCarloProcessFromProcessModel(TimeDiscretization timeDiscretization, ProcessModel model)
Create a discretization scheme / a time discrete process.- Parameters:
timeDiscretization
- The time discretization used for the discretization scheme.model
- Set the model used to generate the stochastic process. The model has to implementProcessModel
.
-
-
Method Detail
-
getCloneWithModifiedSeed
public abstract Object getCloneWithModifiedSeed(int seed)
-
getModel
public ProcessModel getModel()
Get the model used to generate the stochastic process. The model has to implementProcessModel
.
-
getNumberOfComponents
public int getNumberOfComponents()
- Specified by:
getNumberOfComponents
in interfaceProcess
- Returns:
- Returns the numberOfComponents.
-
getInitialState
public RandomVariable[] getInitialState()
-
getDrift
public RandomVariable[] getDrift(int timeIndex, RandomVariable[] realizationAtTimeIndex, RandomVariable[] realizationPredictor)
-
getFactorLoading
public RandomVariable[] getFactorLoading(int timeIndex, int componentIndex, RandomVariable[] realizationAtTimeIndex)
-
applyStateSpaceTransform
public RandomVariable applyStateSpaceTransform(int timeIndex, int componentIndex, RandomVariable randomVariable)
-
applyStateSpaceTransformInverse
public RandomVariable applyStateSpaceTransformInverse(int timeIndex, int componentIndex, RandomVariable randomVariable)
-
getTimeDiscretization
public TimeDiscretization getTimeDiscretization()
- Specified by:
getTimeDiscretization
in interfaceProcess
- Returns:
- Returns the timeDiscretizationFromArray.
-
getTime
public double getTime(int timeIndex)
-
getTimeIndex
public int getTimeIndex(double time)
Description copied from interface:Process
Returns the time index for a given simulation time.- Specified by:
getTimeIndex
in interfaceProcess
- Parameters:
time
- The given simulation time.- Returns:
- Returns the time index for a given time
-
clone
public abstract MonteCarloProcessFromProcessModel clone()
Description copied from interface:MonteCarloProcess
Create and return a clone of this process. The clone is not tied to any model, but has the same process specification, that is, if the model is the same, it would generate the same paths.
-
-