Class MultilateralFlatForwardCurve

All Implemented Interfaces:
Curve, ExplicitBootCurve, CashFlowEstimator, DiscountFactorEstimator, LatentState

public class MultilateralFlatForwardCurve
extends FlatForwardDiscountCurve
implements CashFlowEstimator
MultilateralFlatForwardCurve implements the CSA Cash Rate Curve using a Flat Forward CSA Rate.
Module Product Core Module
Library Fixed Income Analytics
Project Latent State Inference and Creation Utilities
Package Credit Support Annex Latent State
Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • MultilateralFlatForwardCurve

      public MultilateralFlatForwardCurve​(JulianDate epochDate, java.lang.String currency, int[] dateArray, double[] forwardRateArray, boolean discreteCompounding, java.lang.String compoundingDayCountConvention, int compoundingFrequency) throws java.lang.Exception
      MultilateralFlatForwardCurve Constructor
      Parameters:
      epochDate - Epoch Date
      currency - Currency
      dateArray - Array of Dates
      forwardRateArray - Array of Forward Rates
      discreteCompounding - TRUE - Compounding is Discrete
      compoundingDayCountConvention - Day Count Convention to be used for Discrete Compounding
      compoundingFrequency - Frequency to be used for Discrete Compounding
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • rate

      public double rate​(int date) throws java.lang.Exception
      Description copied from interface: CashFlowEstimator
      Calculate the Cash Flow Rate Effective to the given Date
      Specified by:
      rate in interface CashFlowEstimator
      Parameters:
      date - Date
      Returns:
      The Cash Flow Rate
      Throws:
      java.lang.Exception - Thrown if the Cash Flow Rate cannot be calculated
    • rate

      public double rate​(JulianDate date) throws java.lang.Exception
      Description copied from interface: CashFlowEstimator
      Calculate the Cash Flow Rate Effective to the given date
      Specified by:
      rate in interface CashFlowEstimator
      Parameters:
      date - Date
      Returns:
      The Cash Flow Rate
      Throws:
      java.lang.Exception - Thrown if the Cash Flow Rate cannot be Calculated
    • rate

      public double rate​(java.lang.String tenor) throws java.lang.Exception
      Description copied from interface: CashFlowEstimator
      Calculate the Cash Flow Rate Effective to the given Tenor
      Specified by:
      rate in interface CashFlowEstimator
      Parameters:
      tenor - Tenor
      Returns:
      The Cash Flow Rate
      Throws:
      java.lang.Exception - Thrown if the Cash Flow Rate cannot be calculated
    • rate

      public double rate​(int date1, int date2) throws java.lang.Exception
      Description copied from interface: CashFlowEstimator
      Calculate the Cash Flow Rate Effective between the Dates
      Specified by:
      rate in interface CashFlowEstimator
      Parameters:
      date1 - Date #1
      date2 - Date #2
      Returns:
      The Cash Flow Rate
      Throws:
      java.lang.Exception - Thrown if the Cash Flow Rate cannot be calculated
    • rate

      public double rate​(JulianDate date1, JulianDate date2) throws java.lang.Exception
      Description copied from interface: CashFlowEstimator
      Calculate the Cash Flow Rate Effective between the Dates
      Specified by:
      rate in interface CashFlowEstimator
      Parameters:
      date1 - Date #1
      date2 - Date #2
      Returns:
      The Cash Flow Rate
      Throws:
      java.lang.Exception - Thrown if the Cash Flow Rate cannot be calculated
    • rate

      public double rate​(java.lang.String tenor1, java.lang.String tenor2) throws java.lang.Exception
      Description copied from interface: CashFlowEstimator
      Calculate the Cash Flow Rate Effective between the Tenors
      Specified by:
      rate in interface CashFlowEstimator
      Parameters:
      tenor1 - Tenor #1
      tenor2 - Tenor #2
      Returns:
      The Cash Flow Rate
      Throws:
      java.lang.Exception - Thrown if the Cash Flow Rate cannot be calculated