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
public interface AssetModelMonteCarloSimulationModel extends MonteCarloSimulationModel
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description RandomVariable
getAssetValue(double time, int assetIndex)
Returns the random variable representing the asset's value at a given time for a given asset.RandomVariable
getAssetValue(int timeIndex, int assetIndex)
Returns the random variable representing the asset's value at a given time for a given asset.AssetModelMonteCarloSimulationModel
getCloneWithModifiedData(Map<String,Object> dataModified)
Create a clone of this simulation modifying some of its properties (if any).AssetModelMonteCarloSimulationModel
getCloneWithModifiedSeed(int seed)
Create a clone of the object implementingAssetModelMonteCarloSimulationModel
using a different Monte-Carlo seed.int
getNumberOfAssets()
Returns the number of asset price processes.RandomVariable
getNumeraire(double time)
Returns the numeraire associated with the valuation measure used by this model.RandomVariable
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 Detail
-
getNumberOfAssets
int getNumberOfAssets()
Returns the number of asset price processes.- Returns:
- The number of asset price processes
-
getAssetValue
RandomVariable getAssetValue(int timeIndex, int assetIndex) throws CalculationException
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
RandomVariable getAssetValue(double time, int assetIndex) throws CalculationException
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
RandomVariable getNumeraire(int timeIndex) throws CalculationException
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
RandomVariable getNumeraire(double time) throws CalculationException
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 CalculationException
Create 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
AssetModelMonteCarloSimulationModel getCloneWithModifiedSeed(int seed) throws CalculationException
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.
-
-