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 called
numberOfComponents
here.
The default for numberOfFactors
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
ConstructorDescriptionMonteCarloProcessFromProcessModel(TimeDiscretization timeDiscretization, ProcessModel model)
Create a discretization scheme / a time discrete process. -
Method Summary
Modifier and TypeMethodDescriptionapplyStateSpaceTransform(int timeIndex, int componentIndex, 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)
getDrift(int timeIndex, RandomVariable[] realizationAtTimeIndex, RandomVariable[] realizationPredictor)
getFactorLoading(int timeIndex, int componentIndex, RandomVariable[] realizationAtTimeIndex)
getModel()
Get the model used to generate the stochastic process.int
double
getTime(int timeIndex)
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 Details
-
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 Details
-
getCloneWithModifiedSeed
-
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
-
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
- 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
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.
-