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
Constructors Constructor Description MonteCarloProcessFromProcessModel(TimeDiscretization timeDiscretization, ProcessModel model)
Create a discretization scheme / a time discrete process. -
Method Summary
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 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.
-