Interface LIBORModel

All Superinterfaces:
IndependentModelParameterProvider, ProcessModel, TermStructureModel
All Known Subinterfaces:
LIBORMarketModel
All Known Implementing Classes:
HullWhiteModel, HullWhiteModelWithConstantCoeff, HullWhiteModelWithDirectSimulation, HullWhiteModelWithShiftExtension, LIBORMarketModelFromCovarianceModel, LIBORMarketModelStandard

public interface LIBORModel extends TermStructureModel, IndependentModelParameterProvider
Version:
1.0
Author:
Christian Fries
  • Method Details

    • getLIBOR

      RandomVariable getLIBOR(MonteCarloProcess process, int timeIndex, int liborIndex) throws CalculationException
      Return the forward rate at a given timeIndex and for a given liborIndex.
      Parameters:
      process - The discretization process generating this model. The process provides call backs for TimeDiscretization and allows calls to getProcessValue for timeIndices less or equal the given one.
      timeIndex - The time index (associated with Process.getTimeDiscretization().
      liborIndex - The forward rate index (associated with getLiborPeriodDiscretization().
      Returns:
      The forward rate.
      Throws:
      CalculationException - Thrown if calculation failed.
    • getLiborPeriodDiscretization

      TimeDiscretization getLiborPeriodDiscretization()
      The tenor time discretization of the forward rate curve.
      Returns:
      The tenor time discretization of the forward rate curve.
    • getNumberOfLibors

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

      double getLiborPeriod(int timeIndex)
      The period start corresponding to a given forward rate discretization index.
      Parameters:
      timeIndex - The index corresponding to a given time (interpretation is start of period)
      Returns:
      The period start corresponding to a given forward rate discretization index.
    • 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 period start.
      Returns:
      The index corresponding to a given time (interpretation is start of period)
    • getCloneWithModifiedData

      LIBORModel getCloneWithModifiedData(Map<String,Object> dataModified) throws CalculationException
      Create a new object implementing LIBORModel, using the new data.
      Specified by:
      getCloneWithModifiedData in interface ProcessModel
      Specified by:
      getCloneWithModifiedData in interface TermStructureModel
      Parameters:
      dataModified - A map with values to be used in constructions (keys are identical to parameter names of the constructors).
      Returns:
      A new object implementing LIBORModel, using the new data.
      Throws:
      CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.