Class GovvieCurve

java.lang.Object
org.drip.state.discount.DiscountCurve
org.drip.state.govvie.GovvieCurve
All Implemented Interfaces:
Curve, DiscountFactorEstimator, YieldEstimator, LatentState
Direct Known Subclasses:
BasisSplineGovvieYield, ExplicitBootGovvieCurve

public abstract class GovvieCurve
extends DiscountCurve
implements YieldEstimator
GovvieCurve is the Stub for the Govvie Curve for the specified Govvie/Treasury. It implements the following Functionality.
  • Retrieve the Yield Frequency
  • Retrieve the Yield Day Count
  • Retrieve the Manifest Measure Jacobian of the Forward Rate to the given date
  • Retrieve the Manifest Measure Jacobian of the Forward Rate to the date implied by the given Tenor

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

    • epoch

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

      public java.lang.String currency()
      Description copied from interface: Curve
      Get the Currency
      Specified by:
      currency in interface Curve
      Returns:
      Currency
    • 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
    • yld

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

      public double yld​(java.lang.String tenor) throws java.lang.Exception
      Description copied from interface: YieldEstimator
      Calculate the Yield to the Tenor implied by the given Date
      Specified by:
      yld in interface YieldEstimator
      Parameters:
      tenor - The Tenor
      Returns:
      The Yield
      Throws:
      java.lang.Exception - Thrown if the Yield cannot be calculated
    • forwardYield

      public double forwardYield​(int date1, int date2) throws java.lang.Exception
      Description copied from interface: YieldEstimator
      Estimate the Forward Yield between the specified Dates
      Specified by:
      forwardYield in interface YieldEstimator
      Parameters:
      date1 - First Date
      date2 - Second Date
      Returns:
      The Forward Yield
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • df

      public double df​(int date) throws java.lang.Exception
      Description copied from interface: DiscountFactorEstimator
      Calculate the Discount Factor to the given Date
      Specified by:
      df in interface DiscountFactorEstimator
      Parameters:
      date - Date
      Returns:
      Discount Factor
      Throws:
      java.lang.Exception - Thrown if the Discount Factor cannot be calculated
    • df

      public double df​(JulianDate date) throws java.lang.Exception
      Description copied from interface: DiscountFactorEstimator
      Calculate the discount factor to the given date
      Specified by:
      df in interface DiscountFactorEstimator
      Parameters:
      date - Date
      Returns:
      Discount factor
      Throws:
      java.lang.Exception - Thrown if the discount factor cannot be calculated
    • df

      public double df​(java.lang.String tenor) throws java.lang.Exception
      Description copied from interface: DiscountFactorEstimator
      Calculate the Discount Factor to the given Tenor
      Specified by:
      df in interface DiscountFactorEstimator
      Parameters:
      tenor - Tenor
      Returns:
      Discount factor
      Throws:
      java.lang.Exception - Thrown if the Discount Factor cannot be calculated
    • effectiveDF

      public double effectiveDF​(int date1, int date2) throws java.lang.Exception
      Description copied from interface: DiscountFactorEstimator
      Compute the time-weighted discount factor between 2 dates
      Specified by:
      effectiveDF in interface DiscountFactorEstimator
      Parameters:
      date1 - First Date
      date2 - Second Date
      Returns:
      Discount Factor
      Throws:
      java.lang.Exception - Thrown if the discount factor cannot be calculated
    • effectiveDF

      public double effectiveDF​(JulianDate date1, JulianDate date2) throws java.lang.Exception
      Description copied from interface: DiscountFactorEstimator
      Compute the time-weighted discount factor between 2 dates
      Specified by:
      effectiveDF in interface DiscountFactorEstimator
      Parameters:
      date1 - First Date
      date2 - Second Date
      Returns:
      Discount Factor
      Throws:
      java.lang.Exception - Thrown if the discount factor cannot be calculated
    • effectiveDF

      public double effectiveDF​(java.lang.String tenor1, java.lang.String tenor2) throws java.lang.Exception
      Description copied from interface: DiscountFactorEstimator
      Compute the time-weighted discount factor between 2 tenors
      Specified by:
      effectiveDF in interface DiscountFactorEstimator
      Parameters:
      tenor1 - First Date
      tenor2 - Second Date
      Returns:
      Discount Factor
      Throws:
      java.lang.Exception - Thrown if the discount factor cannot be calculated
    • yieldDF

      public double yieldDF​(int iDate, double dblDCF) throws java.lang.Exception
      Description copied from interface: YieldEstimator
      Calculate the Discount Factor to the given Date Using the specified Day Count Fraction
      Specified by:
      yieldDF in interface YieldEstimator
      Parameters:
      iDate - Date
      dblDCF - The Day Count Fraction
      Returns:
      Discount Factor
      Throws:
      java.lang.Exception - Thrown if the Discount Factor 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 instrument)
      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:
      instrument - 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
    • freq

      public int freq()
      Retrieve the Yield Frequency
      Returns:
      The Yield Frequency
    • dayCount

      public java.lang.String dayCount()
      Retrieve the Yield Day Count
      Returns:
      The Yield Day Count
    • 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