Class BasisSplineFXForward

java.lang.Object
org.drip.state.fx.FXCurve
org.drip.state.curve.BasisSplineFXForward
All Implemented Interfaces:
Curve, LatentState

public class BasisSplineFXForward
extends FXCurve
BasisSplineFXForward manages the Basis Latent State, using the Basis as the State Response Representation. It exports the following functionality:
  • BasisSplineFXForward Constructor
  • Retrieve the FX Spot

Module Product Core Module
Library Fixed Income Analytics
Project Latent State Inference and Creation Utilities
Package Basis Spline Based Latent States
Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • BasisSplineFXForward

      public BasisSplineFXForward​(CurrencyPair currencyPair, Span span) throws java.lang.Exception
      BasisSplineFXForward constructor
      Parameters:
      currencyPair - The Currency Pair
      span - The Span over which the Basis Representation is valid
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • fx

      public double fx​(int date) throws java.lang.Exception
      Description copied from class: FXCurve
      Calculate the FX Forward to the given Date
      Specified by:
      fx in class FXCurve
      Parameters:
      date - Date
      Returns:
      The FX Forward
      Throws:
      java.lang.Exception - Thrown if the FX Forward cannot be calculated
    • fxSpot

      public double fxSpot()
      Retrieve the FX Spot
      Returns:
      The FX Spot
    • zeroBasis

      public double[] zeroBasis​(int[] nodeDateArray, ValuationParams valuationParams, MergedDiscountForwardCurve numeratorDiscountCurve, MergedDiscountForwardCurve denominatorDiscountCurve, boolean basisOnDenominator)
      Description copied from class: FXCurve
      Calculate the set of Zero basis given the input discount curves
      Specified by:
      zeroBasis in class FXCurve
      Parameters:
      nodeDateArray - Array of Date Nodes
      valuationParams - Valuation Parameters
      numeratorDiscountCurve - Discount Curve Numerator
      denominatorDiscountCurve - Discount Curve Denominator
      basisOnDenominator - True if the basis is calculated on the denominator discount curve
      Returns:
      Array of the computed basis
    • bootstrapBasis

      public double[] bootstrapBasis​(int[] nodeDateArray, ValuationParams valuationParams, MergedDiscountForwardCurve numeratorDiscountCurve, MergedDiscountForwardCurve denominatorDiscountCurve, boolean basisOnDenominator)
      Description copied from class: FXCurve
      Bootstrap the basis to the discount curve inputs
      Specified by:
      bootstrapBasis in class FXCurve
      Parameters:
      nodeDateArray - Array of Date Nodes
      valuationParams - Valuation Parameters
      numeratorDiscountCurve - Discount Curve Numerator
      denominatorDiscountCurve - Discount Curve Denominator
      basisOnDenominator - True if the basis is calculated on the denominator discount curve
      Returns:
      Array of the computed basis
    • impliedNodeRates

      public double[] impliedNodeRates​(int[] nodeDateArray, ValuationParams valuationParams, MergedDiscountForwardCurve numeratorDiscountCurve, MergedDiscountForwardCurve denominatorDiscountCurve, boolean basisOnDenominator)
      Description copied from class: FXCurve
      Calculate the rates implied by the discount curve inputs
      Specified by:
      impliedNodeRates in class FXCurve
      Parameters:
      nodeDateArray - Array of Date Nodes
      valuationParams - Valuation Parameters
      numeratorDiscountCurve - Discount Curve Numerator
      denominatorDiscountCurve - Discount Curve Denominator
      basisOnDenominator - True if the basis is calculated on the denominator discount curve
      Returns:
      Array of the computed implied rates
    • bootstrapBasisDC

      public MergedDiscountForwardCurve bootstrapBasisDC​(int[] nodeDateArray, ValuationParams valuationParams, MergedDiscountForwardCurve numeratorDiscountCurve, MergedDiscountForwardCurve denominatorDiscountCurve, boolean basisOnDenominator)
      Description copied from class: FXCurve
      Bootstrap the discount curve from the discount curve inputs
      Specified by:
      bootstrapBasisDC in class FXCurve
      Parameters:
      nodeDateArray - Array of Date Nodes
      valuationParams - Valuation Parameters
      numeratorDiscountCurve - Discount Curve Numerator
      denominatorDiscountCurve - Discount Curve Denominator
      basisOnDenominator - True if the basis is calculated on the denominator discount curve
      Returns:
      Array of the computed basis
    • rate

      public double rate​(int[] nodeDateArray, ValuationParams valuationParams, MergedDiscountForwardCurve numeratorDiscountCurve, MergedDiscountForwardCurve denominatorDiscountCurve, int date, boolean basisOnDenominator) throws java.lang.Exception
      Description copied from class: FXCurve
      Calculate the rate implied by the discount curve inputs to a specified date
      Specified by:
      rate in class FXCurve
      Parameters:
      nodeDateArray - Array of Date Nodes
      valuationParams - ValuationParams
      numeratorDiscountCurve - Discount Curve Numerator
      denominatorDiscountCurve - Discount Curve Denominator
      date - Date to which the implied rate is sought
      basisOnDenominator - True if the implied rate is calculated on the denominator discount curve
      Returns:
      Implied rate
      Throws:
      java.lang.Exception - Thrown if the implied rate cannot be calculated
    • jackDForwardDManifestMeasure

      public WengertJacobian jackDForwardDManifestMeasure​(java.lang.String manifestMeasure, int date)
      Description copied from class: FXCurve
      Retrieve the Manifest Measure Jacobian of the Forward Rate to the given date
      Specified by:
      jackDForwardDManifestMeasure in class FXCurve
      Parameters:
      manifestMeasure - Manifest Measure
      date - Date
      Returns:
      The Manifest Measure Jacobian of the Forward Rate to the given date