Interface LIBORModelMonteCarloSimulationModel

All Superinterfaces:
IndependentModelParameterProvider, Model, MonteCarloSimulationModel, TermStructureMonteCarloSimulationModel
All Known Subinterfaces:
HybridAssetLIBORModelMonteCarloSimulation
All Known Implementing Classes:
HybridAssetLIBORModelMonteCarloSimulationFromModels, LIBORMonteCarloSimulationFromLIBORModel, LIBORMonteCarloSimulationFromTermStructureModel

public interface LIBORModelMonteCarloSimulationModel
extends TermStructureMonteCarloSimulationModel, IndependentModelParameterProvider
Basic interface which has to be implemented by Monte Carlo models for LIBOR processes.
Version:
1.0
Author:
Christian Fries
  • Method Details

    • getNumberOfFactors

      int getNumberOfFactors()
      Returns:
      Returns the numberOfFactors.
    • getLiborPeriodDiscretization

      TimeDiscretization getLiborPeriodDiscretization()
      Returns the libor period discretization as time discretization representing start and end dates of periods.
      Returns:
      Returns the libor period discretization
    • getNumberOfLibors

      int getNumberOfLibors()
      Returns:
      The number of LIBORs in the LIBOR discretization
    • getLiborPeriod

      double getLiborPeriod​(int timeIndex)
      Returns the period start of the specified forward rate period.
      Parameters:
      timeIndex - The index corresponding to a given time (interpretation is start of period)
      Returns:
      The period start of the specified forward rate period.
    • getLiborPeriodIndex

      int getLiborPeriodIndex​(double time)
      Same as java.util.Arrays.binarySearch(liborPeriodDiscretization,time). Will return a negative value if the time is not found, but then -index-1 corresponds to the index of the smallest time greater than the given one.
      Parameters:
      time - The tenor time (fixing of the forward rate) for which the index is requested.
      Returns:
      The index corresponding to a given time (interpretation is start of period)
    • getLIBOR

      RandomVariable getLIBOR​(int timeIndex, int liborIndex) throws CalculationException
      Return the forward rate for a given simulation time index and a given forward rate index.
      Parameters:
      timeIndex - Simulation time index.
      liborIndex - TenorFromArray time index (index corresponding to the fixing of the forward rate).
      Returns:
      The forward rate as a random variable.
      Throws:
      CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.
    • getLIBORs

      RandomVariable[] getLIBORs​(int timeIndex) throws CalculationException
      Return the forward rate curve for a given simulation time index.
      Parameters:
      timeIndex - Simulation time index.
      Returns:
      The forward rate curve for a given simulation time index.
      Throws:
      CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.
    • getBrownianMotion

      BrownianMotion getBrownianMotion()
      Returns the Brownian motion used to simulate the curve.
      Returns:
      The Brownian motion used to simulate the curve.
    • getModel

      TermStructureModel getModel()
      Returns the underlying model. The model specifies the measure, the initial value, the drift, the factor loadings (covariance model), etc.
      Specified by:
      getModel in interface TermStructureMonteCarloSimulationModel
      Returns:
      The underlying model
    • getCloneWithModifiedSeed

      @Deprecated Object getCloneWithModifiedSeed​(int seed)
      Deprecated.
      Return a clone of this model with a modified Brownian motion using a different seed.
      Parameters:
      seed - The seed
      Returns:
      Clone of this object, but having a different seed.