Class BondReplicator

java.lang.Object
org.drip.service.scenario.BondReplicator

public class BondReplicator
extends java.lang.Object
BondReplicator generates a Target Set of Sensitivity and Relative Value Runs.



Author:
Lakshmi Krishnamurthy
  • Field Summary

    Fields
    Modifier and Type Field Description
    static double CORPORATE_LOAN_RECOVERY_RATE
    Loan Corporate Recovery Rate
    static double CORPORATE_SENIOR_RECOVERY_RATE
    Senior Corporate Recovery Rate
    static double CORPORATE_SUBORDINATE_RECOVERY_RATE
    Subordinate Corporate Recovery Rate
  • Constructor Summary

    Constructors
    Constructor Description
    BondReplicator​(double dblCurrentPrice, double dblIssuePrice, double dblIssueAmount, JulianDate dtValue, java.lang.String[] astrDepositTenor, double[] adblDepositQuote, double[] adblFuturesQuote, java.lang.String[] astrFixFloatTenor, double[] adblFixFloatQuote, double dblCustomYieldBump, double dblCustomCreditBasisBump, double dblZSpreadBump, double dblTenorBump, double dblSpreadDurationMultiplier, java.lang.String strGovvieCode, java.lang.String[] astrGovvieTenor, double[] adblGovvieQuote, boolean bMarketPriceCreditMetrics, java.lang.String[] astrCreditTenor, double[] adblCreditQuote, double dblFX, double dblResetRate, int iSettleLag, double dblRecoveryRate, BondComponent bond)
    BondReplicator Constructor
  • Method Summary

    Modifier and Type Method Description
    BondComponent bond()
    Retrieve the Bond Component Instance
    static BondReplicator CorporateLoan​(double dblCurrentPrice, double dblIssuePrice, double dblIssueAmount, JulianDate dtSpot, java.lang.String[] astrDepositTenor, double[] adblDepositQuote, double[] adblFuturesQuote, java.lang.String[] astrFixFloatTenor, double[] adblFixFloatQuote, double dblSpreadBump, double dblSpreadDurationMultiplier, java.lang.String strGovvieCode, java.lang.String[] astrGovvieTenor, double[] adblGovvieQuote, java.lang.String[] astrCreditTenor, double[] adblCreditQuote, double dblFX, double dblResetRate, int iSettleLag, BondComponent bond)
    Generate a Standard Corporate Loan BondReplicator Instance
    static BondReplicator CorporateSenior​(double dblCurrentPrice, double dblIssuePrice, double dblIssueAmount, JulianDate dtSpot, java.lang.String[] astrDepositTenor, double[] adblDepositQuote, double[] adblFuturesQuote, java.lang.String[] astrFixFloatTenor, double[] adblFixFloatQuote, double dblSpreadBump, double dblSpreadDurationMultiplier, java.lang.String strGovvieCode, java.lang.String[] astrGovvieTenor, double[] adblGovvieQuote, java.lang.String[] astrCreditTenor, double[] adblCreditQuote, double dblFX, double dblResetRate, int iSettleLag, BondComponent bond)
    Generate a Standard Senior Corporate BondReplicator Instance
    static BondReplicator CorporateSubordinate​(double dblCurrentPrice, double dblIssuePrice, double dblIssueAmount, JulianDate dtSpot, java.lang.String[] astrDepositTenor, double[] adblDepositQuote, double[] adblFuturesQuote, java.lang.String[] astrFixFloatTenor, double[] adblFixFloatQuote, double dblSpreadBump, double dblSpreadDurationMultiplier, java.lang.String strGovvieCode, java.lang.String[] astrGovvieTenor, double[] adblGovvieQuote, java.lang.String[] astrCreditTenor, double[] adblCreditQuote, double dblFX, double dblResetRate, int iSettleLag, BondComponent bond)
    Generate a Standard Subordinate Corporate BondReplicator Instance
    CurveSurfaceQuoteContainer credit01UpCSQC()
    Retrieve the CSQC built out of the Credit Curve Flat Bumped 1 bp
    CurveSurfaceQuoteContainer creditBaseCSQC()
    Retrieve the CSQC built out of the Base Credit Curve
    boolean creditMetricsFromMarketPrice()
    Retrieve the Flag that indicates the Generation the Credit Metrics from the Market Price
    double[] creditQuote()
    Retrieve the Array of CDS Quotes
    java.lang.String[] creditTenor()
    Retrieve the Array of CDS Instrument Maturity Tenors
    java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> creditTenorCSQC()
    Retrieve the Map of the Tenor Bumped Instances of the Credit Curve CSQC
    double currentPrice()
    Retrieve the Bond Current Market Price
    double customCreditBasisBump()
    Retrieve the Custom Credit Basis Bump
    double customYieldBump()
    Retrieve the Custom Yield Bump
    double[] depositQuote()
    Retrieve the Array of Deposit Instrument Quotes
    java.lang.String[] depositTenor()
    Retrieve the Array of Deposit Instrument Maturity Tenors
    EOSMetricsReplicator eosMetricsReplicator()
    Retrieve the EOS Metrics Replicator
    double[] fixFloatQuote()
    Retrieve the Array of Fix-Float IRS Instrument Quotes
    java.lang.String[] fixFloatTenor()
    Retrieve the Array of Fix-Float IRS Instrument Maturity Tenors
    java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> forwardFundingTenorCSQCDown()
    Retrieve the Map of the Tenor Bumped Down Instances of the Forward Funding Curve CSQC
    java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> forwardFundingTenorCSQCUp()
    Retrieve the Map of the Tenor Bumped Up Instances of the Forward Funding Curve CSQC
    CurveSurfaceQuoteContainer funding01UpCSQC()
    Retrieve the CSQC built out of the Funding Curve Flat Bumped 1 bp
    CurveSurfaceQuoteContainer fundingBaseCSQC()
    Retrieve the CSQC built out of the Base Funding Curve
    CurveSurfaceQuoteContainer fundingEuroDollarCSQC()
    Retrieve the CSQC built out of the Base Euro Dollar Curve
    java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> fundingTenorCSQCDown()
    Retrieve the Map of the Tenor Bumped Down Instances of the Funding Curve CSQC
    java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> fundingTenorCSQCUp()
    Retrieve the Map of the Tenor Bumped Up Instances of the Funding Curve CSQC
    double[] futuresQuote()
    Retrieve the Array of Futures Instrument Quotes
    double fx()
    Retrieve the FX Rate
    BondReplicationRun generateRun()
    Generate an Instance of a Replication Run
    java.lang.String govvieCode()
    Retrieve the Govvie Code
    double[] govvieQuote()
    Retrieve the Array of Govvie Yield Quotes
    java.lang.String[] govvieTenor()
    Retrieve the Array of Govvie Instrument Maturity Tenors
    java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> govvieTenorCSQCDown()
    Retrieve the Map of the Tenor Bumped Down Instances of the Govvie Curve CSQC
    java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> govvieTenorCSQCUp()
    Retrieve the Map of the Tenor Bumped Up Instances of the Govvie Curve CSQC
    double issueAmount()
    Retrieve the Bond Issue Amount
    double issuePrice()
    Retrieve the Bond Issue Price
    double recoveryRate()
    Retrieve the Recovery Rate
    int resetDate()
    Retrieve the Reset Date
    double resetRate()
    Retrieve the Reset Rate
    JulianDate settleDate()
    Retrieve the Settle Date
    double settleLag()
    Retrieve the Settle Lag
    double spreadDurationMultiplier()
    Retrieve the Spread Duration Multiplier
    double tenorBump()
    Retrieve the Tenor Quote Bump
    ValuationParams valuationParameters()
    Retrieve the Valuation Parameters
    JulianDate valueDate()
    Retrieve the Value Date
    double zSpreadBump()
    Retrieve the Z Spread Bump

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • CORPORATE_SUBORDINATE_RECOVERY_RATE

      public static final double CORPORATE_SUBORDINATE_RECOVERY_RATE
      Subordinate Corporate Recovery Rate
      See Also:
      Constant Field Values
    • CORPORATE_SENIOR_RECOVERY_RATE

      public static final double CORPORATE_SENIOR_RECOVERY_RATE
      Senior Corporate Recovery Rate
      See Also:
      Constant Field Values
    • CORPORATE_LOAN_RECOVERY_RATE

      public static final double CORPORATE_LOAN_RECOVERY_RATE
      Loan Corporate Recovery Rate
      See Also:
      Constant Field Values
  • Constructor Details

    • BondReplicator

      public BondReplicator​(double dblCurrentPrice, double dblIssuePrice, double dblIssueAmount, JulianDate dtValue, java.lang.String[] astrDepositTenor, double[] adblDepositQuote, double[] adblFuturesQuote, java.lang.String[] astrFixFloatTenor, double[] adblFixFloatQuote, double dblCustomYieldBump, double dblCustomCreditBasisBump, double dblZSpreadBump, double dblTenorBump, double dblSpreadDurationMultiplier, java.lang.String strGovvieCode, java.lang.String[] astrGovvieTenor, double[] adblGovvieQuote, boolean bMarketPriceCreditMetrics, java.lang.String[] astrCreditTenor, double[] adblCreditQuote, double dblFX, double dblResetRate, int iSettleLag, double dblRecoveryRate, BondComponent bond) throws java.lang.Exception
      BondReplicator Constructor
      Parameters:
      dblCurrentPrice - Current Price
      dblIssuePrice - Issue Price
      dblIssueAmount - Issue Amount
      dtValue - Value Date
      astrDepositTenor - Array of Deposit Tenors
      adblDepositQuote - Array of Deposit Quotes
      adblFuturesQuote - Array of Futures Quotes
      astrFixFloatTenor - Array of Fix-Float Tenors
      adblFixFloatQuote - Array of Fix-Float Quotes
      dblCustomYieldBump - Custom Yield Bump
      dblCustomCreditBasisBump - Custom Credit Basis Bump
      dblZSpreadBump - Z Spread Bump
      dblTenorBump - Tenor Bump
      dblSpreadDurationMultiplier - Spread Duration Multiplier
      strGovvieCode - Govvie Code
      astrGovvieTenor - Array of Govvie Tenor
      adblGovvieQuote - Array of Govvie Quotes
      bMarketPriceCreditMetrics - Generate the Credit Metrics from the Market Price
      astrCreditTenor - Array of Credit Tenors
      adblCreditQuote - Array of Credit Quotes
      dblFX - FX Rate Applicable
      dblResetRate - Reset Rate Applicable
      iSettleLag - Settlement Lag
      dblRecoveryRate - Recovery Rate
      bond - Bond Component Instance
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • CorporateSubordinate

      public static final BondReplicator CorporateSubordinate​(double dblCurrentPrice, double dblIssuePrice, double dblIssueAmount, JulianDate dtSpot, java.lang.String[] astrDepositTenor, double[] adblDepositQuote, double[] adblFuturesQuote, java.lang.String[] astrFixFloatTenor, double[] adblFixFloatQuote, double dblSpreadBump, double dblSpreadDurationMultiplier, java.lang.String strGovvieCode, java.lang.String[] astrGovvieTenor, double[] adblGovvieQuote, java.lang.String[] astrCreditTenor, double[] adblCreditQuote, double dblFX, double dblResetRate, int iSettleLag, BondComponent bond)
      Generate a Standard Subordinate Corporate BondReplicator Instance
      Parameters:
      dblCurrentPrice - Current Price
      dblIssuePrice - Issue Price
      dblIssueAmount - Issue Amount
      dtSpot - Spot Date
      astrDepositTenor - Array of Deposit Tenors
      adblDepositQuote - Array of Deposit Quotes
      adblFuturesQuote - Array of Futures Quotes
      astrFixFloatTenor - Array of Fix-Float Tenors
      adblFixFloatQuote - Array of Fix-Float Quotes
      dblSpreadBump - Yield/Spread Bump
      dblSpreadDurationMultiplier - Spread Duration Multiplier
      strGovvieCode - Govvie Code
      astrGovvieTenor - Array of Govvie Tenor
      adblGovvieQuote - Array of Govvie Quotes
      astrCreditTenor - Array of Credit Tenors
      adblCreditQuote - Array of Credit Quotes
      dblFX - FX Rate Applicable
      dblResetRate - Reset Rate Applicable
      iSettleLag - Settlement Lag
      bond - Bond Component Instance
      Returns:
      The Standard Subordinate BondReplicator Instance
    • CorporateSenior

      public static final BondReplicator CorporateSenior​(double dblCurrentPrice, double dblIssuePrice, double dblIssueAmount, JulianDate dtSpot, java.lang.String[] astrDepositTenor, double[] adblDepositQuote, double[] adblFuturesQuote, java.lang.String[] astrFixFloatTenor, double[] adblFixFloatQuote, double dblSpreadBump, double dblSpreadDurationMultiplier, java.lang.String strGovvieCode, java.lang.String[] astrGovvieTenor, double[] adblGovvieQuote, java.lang.String[] astrCreditTenor, double[] adblCreditQuote, double dblFX, double dblResetRate, int iSettleLag, BondComponent bond)
      Generate a Standard Senior Corporate BondReplicator Instance
      Parameters:
      dblCurrentPrice - Current Price
      dblIssuePrice - Issue Price
      dblIssueAmount - Issue Amount
      dtSpot - Spot Date
      astrDepositTenor - Array of Deposit Tenors
      adblDepositQuote - Array of Deposit Quotes
      adblFuturesQuote - Array of Futures Quotes
      astrFixFloatTenor - Array of Fix-Float Tenors
      adblFixFloatQuote - Array of Fix-Float Quotes
      dblSpreadBump - Yield/Spread Bump
      dblSpreadDurationMultiplier - Spread Duration Multiplier
      strGovvieCode - Govvie Code
      astrGovvieTenor - Array of Govvie Tenor
      adblGovvieQuote - Array of Govvie Quotes
      astrCreditTenor - Array of Credit Tenors
      adblCreditQuote - Array of Credit Quotes
      dblFX - FX Rate Applicable
      dblResetRate - Reset Rate Applicable
      iSettleLag - Settlement Lag
      bond - Bond Component Instance
      Returns:
      The Standard Senior BondReplicator Instance
    • CorporateLoan

      public static final BondReplicator CorporateLoan​(double dblCurrentPrice, double dblIssuePrice, double dblIssueAmount, JulianDate dtSpot, java.lang.String[] astrDepositTenor, double[] adblDepositQuote, double[] adblFuturesQuote, java.lang.String[] astrFixFloatTenor, double[] adblFixFloatQuote, double dblSpreadBump, double dblSpreadDurationMultiplier, java.lang.String strGovvieCode, java.lang.String[] astrGovvieTenor, double[] adblGovvieQuote, java.lang.String[] astrCreditTenor, double[] adblCreditQuote, double dblFX, double dblResetRate, int iSettleLag, BondComponent bond)
      Generate a Standard Corporate Loan BondReplicator Instance
      Parameters:
      dblCurrentPrice - Current Price
      dblIssuePrice - Issue Price
      dblIssueAmount - Issue Amount
      dtSpot - Spot Date
      astrDepositTenor - Array of Deposit Tenors
      adblDepositQuote - Array of Deposit Quotes
      adblFuturesQuote - Array of Futures Quotes
      astrFixFloatTenor - Array of Fix-Float Tenors
      adblFixFloatQuote - Array of Fix-Float Quotes
      dblSpreadBump - Yield/Spread Bump
      dblSpreadDurationMultiplier - Spread Duration Multiplier
      strGovvieCode - Govvie Code
      astrGovvieTenor - Array of Govvie Tenor
      adblGovvieQuote - Array of Govvie Quotes
      astrCreditTenor - Array of Credit Tenors
      adblCreditQuote - Array of Credit Quotes
      dblFX - FX Rate Applicable
      dblResetRate - Reset Rate Applicable
      iSettleLag - Settlement Lag
      bond - Bond Component Instance
      Returns:
      The Standard Senior BondReplicator Instance
    • currentPrice

      public double currentPrice()
      Retrieve the Bond Current Market Price
      Returns:
      The Bond Current Market Price
    • issuePrice

      public double issuePrice()
      Retrieve the Bond Issue Price
      Returns:
      The Bond Issue Price
    • issueAmount

      public double issueAmount()
      Retrieve the Bond Issue Amount
      Returns:
      The Bond Issue Amount
    • valueDate

      public JulianDate valueDate()
      Retrieve the Value Date
      Returns:
      The Value Date
    • depositTenor

      public java.lang.String[] depositTenor()
      Retrieve the Array of Deposit Instrument Maturity Tenors
      Returns:
      The Array of Deposit Instrument Maturity Tenors
    • depositQuote

      public double[] depositQuote()
      Retrieve the Array of Deposit Instrument Quotes
      Returns:
      The Array of Deposit Instrument Quotes
    • futuresQuote

      public double[] futuresQuote()
      Retrieve the Array of Futures Instrument Quotes
      Returns:
      The Array of Futures Instrument Quotes
    • fixFloatTenor

      public java.lang.String[] fixFloatTenor()
      Retrieve the Array of Fix-Float IRS Instrument Maturity Tenors
      Returns:
      The Array of Fix-Float IRS Instrument Maturity Tenors
    • fixFloatQuote

      public double[] fixFloatQuote()
      Retrieve the Array of Fix-Float IRS Instrument Quotes
      Returns:
      The Array of Fix-Float IRS Instrument Quotes
    • recoveryRate

      public double recoveryRate()
      Retrieve the Recovery Rate
      Returns:
      The Recovery Rate
    • customYieldBump

      public double customYieldBump()
      Retrieve the Custom Yield Bump
      Returns:
      The Custom Yield Bump
    • customCreditBasisBump

      public double customCreditBasisBump()
      Retrieve the Custom Credit Basis Bump
      Returns:
      The Custom Credit Basis Bump
    • zSpreadBump

      public double zSpreadBump()
      Retrieve the Z Spread Bump
      Returns:
      The Z Spread Bump
    • tenorBump

      public double tenorBump()
      Retrieve the Tenor Quote Bump
      Returns:
      The Tenor Quote Bump
    • spreadDurationMultiplier

      public double spreadDurationMultiplier()
      Retrieve the Spread Duration Multiplier
      Returns:
      The Spread Duration Multiplier
    • govvieCode

      public java.lang.String govvieCode()
      Retrieve the Govvie Code
      Returns:
      The Govvie Code
    • govvieTenor

      public java.lang.String[] govvieTenor()
      Retrieve the Array of Govvie Instrument Maturity Tenors
      Returns:
      The Array of Govvie Instrument Maturity Tenors
    • govvieQuote

      public double[] govvieQuote()
      Retrieve the Array of Govvie Yield Quotes
      Returns:
      The Array of Govvie Yield Quotes
    • creditMetricsFromMarketPrice

      public boolean creditMetricsFromMarketPrice()
      Retrieve the Flag that indicates the Generation the Credit Metrics from the Market Price
      Returns:
      TRUE - Generate the Credit Metrics from the Market Price
    • creditTenor

      public java.lang.String[] creditTenor()
      Retrieve the Array of CDS Instrument Maturity Tenors
      Returns:
      The Array of CDS Instrument Maturity Tenors
    • creditQuote

      public double[] creditQuote()
      Retrieve the Array of CDS Quotes
      Returns:
      The Array of CDS Quotes
    • fx

      public double fx()
      Retrieve the FX Rate
      Returns:
      The FX Rate
    • settleLag

      public double settleLag()
      Retrieve the Settle Lag
      Returns:
      The Settle Lag
    • bond

      public BondComponent bond()
      Retrieve the Bond Component Instance
      Returns:
      The Bond Component Instance
    • settleDate

      public JulianDate settleDate()
      Retrieve the Settle Date
      Returns:
      The Settle Date
    • valuationParameters

      public ValuationParams valuationParameters()
      Retrieve the Valuation Parameters
      Returns:
      The Valuation Parameters
    • fundingTenorCSQCUp

      public java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> fundingTenorCSQCUp()
      Retrieve the Map of the Tenor Bumped Up Instances of the Funding Curve CSQC
      Returns:
      The Map of the Tenor Bumped Up Instances of the Funding Curve CSQC
    • fundingTenorCSQCDown

      public java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> fundingTenorCSQCDown()
      Retrieve the Map of the Tenor Bumped Down Instances of the Funding Curve CSQC
      Returns:
      The Map of the Tenor Bumped Down Instances of the Funding Curve CSQC
    • forwardFundingTenorCSQCUp

      public java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> forwardFundingTenorCSQCUp()
      Retrieve the Map of the Tenor Bumped Up Instances of the Forward Funding Curve CSQC
      Returns:
      The Map of the Tenor Bumped Up Instances of the Forward Funding Curve CSQC
    • forwardFundingTenorCSQCDown

      public java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> forwardFundingTenorCSQCDown()
      Retrieve the Map of the Tenor Bumped Down Instances of the Forward Funding Curve CSQC
      Returns:
      The Map of the Tenor Bumped Down Instances of the Forward Funding Curve CSQC
    • govvieTenorCSQCUp

      public java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> govvieTenorCSQCUp()
      Retrieve the Map of the Tenor Bumped Up Instances of the Govvie Curve CSQC
      Returns:
      The Map of the Tenor Bumped Up Instances of the Govvie Curve CSQC
    • govvieTenorCSQCDown

      public java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> govvieTenorCSQCDown()
      Retrieve the Map of the Tenor Bumped Down Instances of the Govvie Curve CSQC
      Returns:
      The Map of the Tenor Bumped Down Instances of the Govvie Curve CSQC
    • creditTenorCSQC

      public java.util.Map<java.lang.String,​CurveSurfaceQuoteContainer> creditTenorCSQC()
      Retrieve the Map of the Tenor Bumped Instances of the Credit Curve CSQC
      Returns:
      The Map of the Tenor Bumped Instances of the Credit Curve CSQC
    • fundingBaseCSQC

      public CurveSurfaceQuoteContainer fundingBaseCSQC()
      Retrieve the CSQC built out of the Base Funding Curve
      Returns:
      The CSQC built out of the Base Funding Curve
    • fundingEuroDollarCSQC

      public CurveSurfaceQuoteContainer fundingEuroDollarCSQC()
      Retrieve the CSQC built out of the Base Euro Dollar Curve
      Returns:
      The CSQC built out of the Base Euro Dollar Curve
    • creditBaseCSQC

      public CurveSurfaceQuoteContainer creditBaseCSQC()
      Retrieve the CSQC built out of the Base Credit Curve
      Returns:
      The CSQC built out of the Base Credit Curve
    • funding01UpCSQC

      public CurveSurfaceQuoteContainer funding01UpCSQC()
      Retrieve the CSQC built out of the Funding Curve Flat Bumped 1 bp
      Returns:
      The CSQC built out of the Funding Curve Flat Bumped 1 bp
    • credit01UpCSQC

      public CurveSurfaceQuoteContainer credit01UpCSQC()
      Retrieve the CSQC built out of the Credit Curve Flat Bumped 1 bp
      Returns:
      The CSQC built out of the Credit Curve Flat Bumped 1 bp
    • resetDate

      public int resetDate()
      Retrieve the Reset Date
      Returns:
      The Reset Date
    • resetRate

      public double resetRate()
      Retrieve the Reset Rate
      Returns:
      The Reset Rate
    • eosMetricsReplicator

      public EOSMetricsReplicator eosMetricsReplicator()
      Retrieve the EOS Metrics Replicator
      Returns:
      The EOS Metrics Replicator
    • generateRun

      public BondReplicationRun generateRun()
      Generate an Instance of a Replication Run
      Returns:
      Instance of a Replication Run