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
ConstructorsConstructorDescriptionMonteCarloProcessFromProcessModel(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 MonteCarloProcessFromProcessModelclone()Create and return a clone of this process.abstract ObjectgetCloneWithModifiedSeed(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.intdoublegetTime(int timeIndex)intgetTimeIndex(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, waitMethods inherited from interface net.finmath.montecarlo.process.MonteCarloProcess
getCloneWithModifiedData, getCloneWithModifiedModel, getNumberOfFactors, getNumberOfPaths, getStochasticDriverMethods 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:
getNumberOfComponentsin 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:
getTimeDiscretizationin interfaceProcess- Returns:
- Returns the timeDiscretizationFromArray.
-
getTime
public double getTime(int timeIndex) -
getTimeIndex
public int getTimeIndex(double time)Description copied from interface:ProcessReturns the time index for a given simulation time.- Specified by:
getTimeIndexin interfaceProcess- Parameters:
time- The given simulation time.- Returns:
- Returns the time index for a given time
-
clone
Description copied from interface:MonteCarloProcessCreate 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.
-