Interface MonteCarloSimulationModel

All Superinterfaces:
Model
All Known Subinterfaces:
AssetModelMonteCarloSimulationModel, CrossCurrencyTermStructureMonteCarloSimulationModel, HybridAssetLIBORModelMonteCarloSimulation, HybridAssetMonteCarloSimulation, LIBORModelMonteCarloSimulationModel, TermStructureMonteCarloSimulationModel
All Known Implementing Classes:
CrossCurrencyLIBORMarketModelFromModels, HybridAssetLIBORModelMonteCarloSimulationFromModels, LIBORMonteCarloSimulationFromLIBORModel, LIBORMonteCarloSimulationFromTermStructureModel, MonteCarloAssetModel, MonteCarloBlackScholesModel, MonteCarloBlackScholesModel2, MonteCarloMertonModel, MonteCarloMultiAssetBlackScholesModel, MonteCarloVarianceGammaModel, TermStructureMonteCarloSimulationFromTermStructureModel

public interface MonteCarloSimulationModel extends Model
The interface implemented by a simulation of an SDE. Provides the dimension of the SDE and the the time discretization of the simulation.
Version:
1.0
Author:
Christian Fries
  • Method Details

    • getNumberOfPaths

      int getNumberOfPaths()
      Returns the numberOfPaths.
      Returns:
      Returns the numberOfPaths.
    • getReferenceDate

      default LocalDateTime getReferenceDate()
      Returns the model's date corresponding to the time discretization's \( t = 0 \).
      Returns:
      The model's date corresponding to the time discretization's \( t = 0 \).
    • getTimeDiscretization

      TimeDiscretization getTimeDiscretization()
      Returns the timeDiscretizationFromArray.
      Returns:
      Returns the timeDiscretizationFromArray.
    • getTime

      double getTime(int timeIndex)
      Returns the time for a given time index.
      Parameters:
      timeIndex - Time index
      Returns:
      Returns the time for a given time index.
    • getTimeIndex

      int getTimeIndex(double time)
      Returns the time index for a given time.
      Parameters:
      time - The time.
      Returns:
      Returns the time index for a given time.
    • getRandomVariableForConstant

      RandomVariable getRandomVariableForConstant(double value)
      Returns a random variable which is initialized to a constant, but has exactly the same number of paths or discretization points as the ones used by this MonteCarloSimulationModel.
      Parameters:
      value - The constant value to be used for initialized the random variable.
      Returns:
      A new random variable.
    • getMonteCarloWeights

      RandomVariable getMonteCarloWeights(int timeIndex) throws CalculationException
      This method returns the weights of a weighted Monte Carlo method (the probability density).
      Parameters:
      timeIndex - Time index at which the process should be observed
      Returns:
      A vector of positive weights which sums up to one
      Throws:
      CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.
    • getMonteCarloWeights

      RandomVariable getMonteCarloWeights(double time) throws CalculationException
      This method returns the weights of a weighted Monte Carlo method (the probability density).
      Parameters:
      time - Time at which the process should be observed
      Returns:
      A vector of positive weights which sums up to one
      Throws:
      CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.
    • getCloneWithModifiedData

      MonteCarloSimulationModel getCloneWithModifiedData(Map<String,Object> dataModified) throws CalculationException
      Create a clone of this simulation modifying some of its properties (if any). The properties that should be modified correspond to arguments of constructors. A constructor is then called with where all arguments that are not found in the key value map are being set to this objects values.
      Parameters:
      dataModified - The data which should be changed in the new model. This is a key value may, where the key corresponds to the name of a property in one of the objects constructors.
      Returns:
      Returns a clone of this object, 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.