Interface TermStructureModel

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

public interface TermStructureModel extends ProcessModel
Version:
1.0
Author:
Christian Fries
  • Method Details

    • getForwardRate

      RandomVariable getForwardRate(MonteCarloProcess process, double time, double periodStart, double periodEnd) throws CalculationException
      Returns the time \( t \) forward rate on the models forward curve. Note: It is guaranteed that the random variable returned by this method is \( \mathcal{F}_{t} ) \)-measurable.
      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.
      time - The evaluation time.
      periodStart - The period start of the forward rate.
      periodEnd - The period end of the forward rate.
      Returns:
      The forward rate.
      Throws:
      CalculationException - Thrown if model fails to calculate the random variable.
    • getForwardDiscountBond

      default RandomVariable getForwardDiscountBond(MonteCarloProcess process, double time, double maturity) throws CalculationException
      Returns the time \( t \) forward bond derived from the numeraire, i.e., \( P(T;t) = E( \frac{N(t)}{N(T)} \vert \mathcal{F}_{t} ) \). Note: It is guaranteed that the random variabble returned by this method is \( \mathcal{F}_{t} ) \)-measurable.
      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.
      time - The evaluation time.
      maturity - The maturity.
      Returns:
      The forward bond P(T;t).
      Throws:
      CalculationException - Thrown if model fails to calculate the random variable.
    • getAnalyticModel

      AnalyticModel getAnalyticModel()
      Return the associated analytic model, a collection of market date object like discount curve, forward curve and volatility surfaces.
      Returns:
      The associated analytic model.
    • getDiscountCurve

      DiscountCurve getDiscountCurve()
      Return the discount curve associated the forwards.
      Returns:
      the discount curve associated the forwards.
    • getForwardRateCurve

      ForwardCurve getForwardRateCurve()
      Return the initial forward rate curve.
      Returns:
      the forward rate curve
    • getCloneWithModifiedData

      TermStructureModel getCloneWithModifiedData(Map<String,Object> dataModified) throws CalculationException
      Create a new object implementing TermStructureModel, using the new data.
      Specified by:
      getCloneWithModifiedData in interface ProcessModel
      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 TermStructureModel, using the new data.
      Throws:
      CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.
    • getLIBOR

      default RandomVariable getLIBOR(MonteCarloProcess process, double time, double periodStart, double periodEnd) throws CalculationException
      Returns the time \( t \) forward rate on the models forward curve. Note: It is guaranteed that the random variable returned by this method is \( \mathcal{F}_{t} ) \)-measurable.
      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.
      time - The evaluation time.
      periodStart - The period start of the forward rate.
      periodEnd - The period end of the forward rate.
      Returns:
      The forward rate.
      Throws:
      CalculationException - Thrown if model fails to calculate the random variable.