Class Bullet

java.lang.Object
org.drip.analytics.cashflow.Bullet

public class Bullet
extends java.lang.Object
Bullet is designed to hold the Point Realizations of the Latent States relevant to Terminal Valuation of a Bullet Cash Flow. Current it contains the Period Dates, Period Latent State Identifiers, and the "Extensive" Fields.

Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • Bullet

      public Bullet​(int iTerminalDate, int iPayDate, int iFXFixingDate, double dblBaseNotional, Array2D a2DNotionalSchedule, java.lang.String strPayCurrency, java.lang.String strCouponCurrency, EntityCDSLabel creditLabel) throws java.lang.Exception
      Construct a Bullet Instance from the specified Parameters
      Parameters:
      iTerminalDate - Period End Date
      iPayDate - Period Pay Date
      iFXFixingDate - FX Fixing Date for non-MTM Cash-flow
      dblBaseNotional - Coupon Period Base Notional
      a2DNotionalSchedule - Coupon Period Notional Schedule
      strPayCurrency - Pay Currency
      strCouponCurrency - Coupon Currency
      creditLabel - Credit Label
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • terminalDate

      public int terminalDate()
      Retrieve the Terminal Date
      Returns:
      Terminal Date
    • payDate

      public int payDate()
      Retrieve the Period Pay Date
      Returns:
      Period Pay Date
    • fxFixingDate

      public int fxFixingDate()
      Retrieve the Period FX Fixing Date
      Returns:
      Period FX Fixing Date
    • fx

      public double fx​(CurveSurfaceQuoteContainer csqc) throws java.lang.Exception
      Coupon Period FX
      Parameters:
      csqc - Market Parameters
      Returns:
      Period FX
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • isFXMTM

      public boolean isFXMTM()
      Is the Cash Flow FX MTM?
      Returns:
      true - FX MTM is on (i.e., FX is not driven by FX Fixing)
    • payCurrency

      public java.lang.String payCurrency()
      Retrieve the Pay Currency
      Returns:
      The Pay Currency
    • couponCurrency

      public java.lang.String couponCurrency()
      Retrieve the Coupon Currency
      Returns:
      The Coupon Currency
    • baseNotional

      public double baseNotional()
      Get the Base Notional
      Returns:
      Base Notional
    • notionalSchedule

      public Array2D notionalSchedule()
      Get the Notional Schedule
      Returns:
      Notional Schedule
    • notional

      public double notional​(int iDate) throws java.lang.Exception
      Notional corresponding to the specified Date
      Parameters:
      iDate - The Specified Date
      Returns:
      The Corresponding to the specified Date
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • notional

      public double notional​(int iDate1, int iDate2) throws java.lang.Exception
      Notional Aggregated over the specified Dates
      Parameters:
      iDate1 - The Date #1
      iDate2 - The Date #2
      Returns:
      The Notional Aggregated over the specified Dates
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • collateralLabel

      public CollateralLabel collateralLabel()
      Return the Collateral Label
      Returns:
      The Collateral Label
    • creditLabel

      public EntityCDSLabel creditLabel()
      Return the Credit Label
      Returns:
      The Credit Label
    • fundingLabel

      public FundingLabel fundingLabel()
      Return the Funding Label
      Returns:
      The Funding Label
    • fxLabel

      public FXLabel fxLabel()
      Return the FX Label
      Returns:
      The FX Label
    • metrics

      public BulletMetrics metrics​(int iValueDate, CurveSurfaceQuoteContainer csqc)
      Compute the Metrics at the specified Valuation Date
      Parameters:
      iValueDate - Valuation Date
      csqc - The Market Curve Surface/Quote Set
      Returns:
      The Metrics at the specified Valuation Date
    • fundingPRWC

      public PredictorResponseWeightConstraint fundingPRWC​(int iValueDate, CurveSurfaceQuoteContainer csqc, ProductQuoteSet pqs)
      Generate the Funding Predictor/Response Constraint
      Parameters:
      iValueDate - Valuation Date
      csqc - Market Curve Surface/Quote Set
      pqs - Calibration Product Quote Set
      Returns:
      The Funding Predictor/Response Constraint