Module net.finmath.lib
Interface AssetModelMonteCarloSimulationModel
- All Superinterfaces:
Model
,MonteCarloSimulationModel
- All Known Subinterfaces:
HybridAssetLIBORModelMonteCarloSimulation
- All Known Implementing Classes:
HybridAssetLIBORModelMonteCarloSimulationFromModels
,MonteCarloAssetModel
,MonteCarloBlackScholesModel
,MonteCarloBlackScholesModel2
,MonteCarloMertonModel
,MonteCarloMultiAssetBlackScholesModel
,MonteCarloVarianceGammaModel
Basic interface which has to be implemented by Monte Carlo models for asset processes.
This interface serves as an abstraction layer between models and simulations (providing
the implementation of this interface) and products (using an object implementing this interface
in its valuation code, without further knowledge of the specific model and simulation technique.
- Version:
- 1.0
- Author:
- Christian Fries
-
Method Summary
Modifier and TypeMethodDescriptiongetAssetValue(double time, int assetIndex)
Returns the random variable representing the asset's value at a given time for a given asset.getAssetValue(int timeIndex, int assetIndex)
Returns the random variable representing the asset's value at a given time for a given asset.getCloneWithModifiedData(Map<String,Object> dataModified)
Create a clone of this simulation modifying some of its properties (if any).getCloneWithModifiedSeed(int seed)
Create a clone of the object implementingAssetModelMonteCarloSimulationModel
using a different Monte-Carlo seed.int
Returns the number of asset price processes.getNumeraire(double time)
Returns the numeraire associated with the valuation measure used by this model.getNumeraire(int timeIndex)
Returns the numeraire associated with the valuation measure used by this model.Methods inherited from interface net.finmath.montecarlo.MonteCarloSimulationModel
getMonteCarloWeights, getMonteCarloWeights, getNumberOfPaths, getRandomVariableForConstant, getReferenceDate, getTime, getTimeDiscretization, getTimeIndex
-
Method Details
-
getNumberOfAssets
int getNumberOfAssets()Returns the number of asset price processes.- Returns:
- The number of asset price processes
-
getAssetValue
Returns the random variable representing the asset's value at a given time for a given asset.- Parameters:
timeIndex
- Index of simulation timeassetIndex
- Index of the asset (0 for a single asset model)- Returns:
- The asset process as seen on simulation time
- Throws:
CalculationException
- Thrown if the valuation fails, specific cause may be available via thecause()
method.
-
getAssetValue
Returns the random variable representing the asset's value at a given time for a given asset.- Parameters:
time
- Simulation timeassetIndex
- Index of the asset (0 for a single asset model)- Returns:
- The asset process as seen on simulation time
- Throws:
CalculationException
- Thrown if the valuation fails, specific cause may be available via thecause()
method.
-
getNumeraire
Returns the numeraire associated with the valuation measure used by this model.- Parameters:
timeIndex
- The time index (associated with this models time discretization).- Returns:
- The numeraire associated with the valuation measure used by this model.
- Throws:
CalculationException
- Thrown if calculation of numeraire fails.
-
getNumeraire
Returns the numeraire associated with the valuation measure used by this model.- Parameters:
time
- The time for which the numeraire is requested.- Returns:
- The numeraire associated with the valuation measure used by this model.
- Throws:
CalculationException
- Thrown if calculation of numeraire fails.
-
getCloneWithModifiedData
AssetModelMonteCarloSimulationModel getCloneWithModifiedData(Map<String,Object> dataModified) throws CalculationExceptionCreate a clone of this simulation modifying some of its properties (if any).- Specified by:
getCloneWithModifiedData
in interfaceMonteCarloSimulationModel
- Parameters:
dataModified
- The data which should be changed in the new model- Returns:
- Returns a clone of this model, with some data modified (then it is no longer a clone :-)
- Throws:
CalculationException
- Thrown if the valuation fails, specific cause may be available via thecause()
method.
-
getCloneWithModifiedSeed
Create a clone of the object implementingAssetModelMonteCarloSimulationModel
using a different Monte-Carlo seed.- Parameters:
seed
- The seed of the underlying random number generator.- Returns:
- Returns a clone of this model except for a modified Monte-Carlo seed.
- Throws:
CalculationException
- Thrown if cloning failed.
-