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 Details

    • 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 time
      assetIndex - 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 the cause() 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 time
      assetIndex - 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 the cause() 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 interface MonteCarloSimulationModel
      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 the cause() method.
    • getCloneWithModifiedSeed

      AssetModelMonteCarloSimulationModel getCloneWithModifiedSeed(int seed) throws CalculationException
      Create a clone of the object implementing AssetModelMonteCarloSimulationModel 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.