Class ForwardCurve

java.lang.Object
org.drip.state.forward.ForwardCurve
All Implemented Interfaces:
Curve, ForwardRateEstimator, LatentState
Direct Known Subclasses:
BasisSplineForwardRate, FlatForwardForwardCurve

public abstract class ForwardCurve
extends java.lang.Object
implements ForwardRateEstimator, Curve
ForwardCurve is the stub for the forward curve functionality. It extends the Curve object by exposing the following functions:

  • The name/epoch of the forward rate instance
  • The index/currency/tenor associated with the forward rate instance
  • Forward Rate to a specific date/tenor
  • Generate scenario tweaked Latent State from the base forward curve corresponding to mode adjusted (flat/parallel/custom) manifest measure/quantification metric
  • Retrieve array of latent state manifest measure, instrument quantification metric, and the array of calibration components
  • Set/retrieve curve construction input instrument sets
  • Retrieve the Manifest Measure Jacobian of the Forward Rate to the date

Module Product Core Module
Library Fixed Income Analytics
Project Latent State Inference and Creation Utilities
Package Forward Latent State Curve Estimator
Author:
Lakshmi Krishnamurthy
  • Method Details

    • label

      public LatentStateLabel label()
      Description copied from interface: Curve
      Get the Curve Latent State Identifier Label
      Specified by:
      label in interface Curve
      Returns:
      The Curve Latent State Identifier Label
    • currency

      public java.lang.String currency()
      Description copied from interface: Curve
      Get the Currency
      Specified by:
      currency in interface Curve
      Returns:
      Currency
    • epoch

      public JulianDate epoch()
      Description copied from interface: Curve
      Get the Epoch Date
      Specified by:
      epoch in interface Curve
      Returns:
      The Epoch Date
    • tenor

      public java.lang.String tenor()
      Description copied from interface: ForwardRateEstimator
      Retrieve the Forward Rate Tenor
      Specified by:
      tenor in interface ForwardRateEstimator
      Returns:
      The Forward Rate Tenor
    • index

      public ForwardLabel index()
      Description copied from interface: ForwardRateEstimator
      Retrieve the Forward Rate Index
      Specified by:
      index in interface ForwardRateEstimator
      Returns:
      The Forward Rate Index
    • forward

      public double forward​(JulianDate date) throws java.lang.Exception
      Description copied from interface: ForwardRateEstimator
      Calculate the Forward Rate to the given date
      Specified by:
      forward in interface ForwardRateEstimator
      Parameters:
      date - Date
      Returns:
      The Forward Rate
      Throws:
      java.lang.Exception - Thrown if the Forward Rate cannot be calculated
    • forward

      public double forward​(java.lang.String tenor) throws java.lang.Exception
      Description copied from interface: ForwardRateEstimator
      Calculate the Forward Rate to the tenor implied by the given date
      Specified by:
      forward in interface ForwardRateEstimator
      Parameters:
      tenor - The Tenor
      Returns:
      The Forward Rate
      Throws:
      java.lang.Exception - Thrown if the Forward Rate cannot be calculated
    • setCCIS

      public boolean setCCIS​(CurveConstructionInputSet curveConstructionInputSet)
      Description copied from interface: Curve
      Set the Curve Construction Input Set Parameters
      Specified by:
      setCCIS in interface Curve
      Parameters:
      curveConstructionInputSet - The Curve Construction Input Set Parameters
      Returns:
      TRUE - Inputs successfully Set
    • calibComp

      public CalibratableComponent[] calibComp()
      Description copied from interface: Curve
      Retrieve the Calibration Components
      Specified by:
      calibComp in interface Curve
      Returns:
      Array of Calibration Components
    • manifestMeasure

      public CaseInsensitiveTreeMap<java.lang.Double> manifestMeasure​(java.lang.String instrumentCode)
      Description copied from interface: Curve
      Retrieve the Manifest Measure Map of the given Instrument used to construct the Curve
      Specified by:
      manifestMeasure in interface Curve
      Parameters:
      instrumentCode - The Calibration Instrument's Code whose Manifest Measure Map is sought
      Returns:
      The Manifest Measure Map of the given Instrument used to construct the Curve
    • parallelShiftManifestMeasure

      public LatentState parallelShiftManifestMeasure​(java.lang.String manifestMeasure, double shift)
      Description copied from interface: LatentState
      Create a LatentState Instance from the Manifest Measure Parallel Shift
      Specified by:
      parallelShiftManifestMeasure in interface LatentState
      Parameters:
      manifestMeasure - The Specified Manifest Measure
      shift - Parallel shift of the Manifest Measure
      Returns:
      New LatentState Instance corresponding to the Parallel Shifted Manifest Measure
    • shiftManifestMeasure

      public LatentState shiftManifestMeasure​(int spanIndex, java.lang.String manifestMeasure, double shift)
      Description copied from interface: LatentState
      Create a LatentState Instance from the Shift of the Specified Manifest Measure
      Specified by:
      shiftManifestMeasure in interface LatentState
      Parameters:
      spanIndex - Index into the Span that identifies the Instrument
      manifestMeasure - The Specified Manifest Measure
      shift - Shift of the Manifest Measure
      Returns:
      New LatentState Instance corresponding to the Shift of the Specified Manifest Measure
    • customTweakManifestMeasure

      public LatentState customTweakManifestMeasure​(java.lang.String manifestMeasure, ManifestMeasureTweak manifestMeasureTweak)
      Description copied from interface: LatentState
      Create a LatentState Instance from the Manifest Measure Tweak Parameters
      Specified by:
      customTweakManifestMeasure in interface LatentState
      Parameters:
      manifestMeasure - The Specified Manifest Measure
      manifestMeasureTweak - Manifest Measure Tweak Parameters
      Returns:
      New LatentState Instance corresponding to the Tweaked Manifest Measure
    • parallelShiftQuantificationMetric

      public LatentState parallelShiftQuantificationMetric​(double shift)
      Description copied from interface: LatentState
      Create a LatentState Instance from the Quantification Metric Parallel Shift
      Specified by:
      parallelShiftQuantificationMetric in interface LatentState
      Parameters:
      shift - Parallel shift of the Quantification Metric
      Returns:
      New LatentState Instance corresponding to the Parallel Shifted Quantification Metric
    • customTweakQuantificationMetric

      public LatentState customTweakQuantificationMetric​(ManifestMeasureTweak manifestMeasureTweak)
      Description copied from interface: LatentState
      Create a LatentState Instance from the Quantification Metric Tweak Parameters
      Specified by:
      customTweakQuantificationMetric in interface LatentState
      Parameters:
      manifestMeasureTweak - Quantification Metric Tweak Parameters
      Returns:
      New LatentState Instance corresponding to the Tweaked Quantification Metric
    • jackDForwardDManifestMeasure

      public abstract WengertJacobian jackDForwardDManifestMeasure​(java.lang.String manifestMeasure, int date)
      Retrieve the Manifest Measure Jacobian of the Forward Rate to the given date
      Parameters:
      manifestMeasure - Manifest Measure
      date - Date
      Returns:
      The Manifest Measure Jacobian of the Forward Rate to the given date
    • jackDForwardDManifestMeasure

      public WengertJacobian jackDForwardDManifestMeasure​(java.lang.String manifestMeasure, JulianDate date)
      Retrieve the Manifest Measure Jacobian of the Forward Rate to the given date
      Parameters:
      manifestMeasure - Manifest Measure
      date - Date
      Returns:
      The Manifest Measure Jacobian of the Forward Rate to the given date
    • jackDForwardDManifestMeasure

      public WengertJacobian jackDForwardDManifestMeasure​(java.lang.String manifestMeasure, java.lang.String tenor)
      Retrieve the Manifest Measure Jacobian of the Forward Rate to the date implied by the given Tenor
      Parameters:
      manifestMeasure - Manifest Measure
      tenor - Tenor
      Returns:
      The Manifest Measure Jacobian of the Forward Rate to the date implied by the given Tenor