Package org.isda.cdm

Class InterestRatePayout

  • All Implemented Interfaces:
    com.rosetta.model.lib.GlobalKey

    @RosettaClass
    public class InterestRatePayout
    extends PayoutBase
    implements com.rosetta.model.lib.GlobalKey
    A class to specify all of the terms necessary to define and calculate a cash flow based on a fixed, a floating or an inflation index rate. The interest rate payout can be applied to interest rate swaps and FRA (which both have two associated interest rate payouts), credit default swaps (to represent the fee leg when subject to periodic payments) and equity swaps (to represent the funding leg). The associated rosettaKey denotes the ability to associate a hash value to the InterestRatePayout instantiations for the purpose of model cross-referencing, in support of functionality such as the event effect and the lineage.
    Version:
    2.5.4
    • Method Detail

      • getBondReference

        @RosettaSynonym(value="bondReference",source="FpML_5_10") @RosettaSynonym(value="bondReference",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="bondReference",source="DTCC_11_0") @RosettaSynonym(value="bondReference",source="DTCC_9_0") @RosettaSynonym(value="bondReference",source="CME_ClearedConfirm_1_17")
        public final BondReference getBondReference()
        Reference to a bond underlier to represent an asset swap or Condition Precedent Bond.
      • getCalculationPeriodDates

        public final CalculationPeriodDates getCalculationPeriodDates()
        The parameters used to generate the calculation period dates schedule, including the specification of any initial or final stub calculation periods.
      • getCashflowRepresentation

        @RosettaSynonym(value="cashflows",source="FpML_5_10") @RosettaSynonym(value="cashflows",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="cashflows",source="DTCC_11_0") @RosettaSynonym(value="cashflows",source="DTCC_9_0") @RosettaSynonym(value="cashflows",source="CME_ClearedConfirm_1_17")
        public final CashflowRepresentation getCashflowRepresentation()
        The cashflow representation of the swap stream.
      • getCompoundingMethod

        @RosettaSynonym(value="compoundingMethod",source="FpML_5_10",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="compoundingMethod",source="CME_SubmissionIRS_1_0",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="compoundingMethod",source="DTCC_11_0",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="compoundingMethod",source="DTCC_9_0",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="compoundingMethod",source="CME_ClearedConfirm_1_17",path="calculationPeriodAmount.calculation")
        public final CompoundingMethodEnum getCompoundingMethod()
        If one or more calculation period contributes to a single payment amount this element specifies whether compounding is applicable and, if so, what compounding method is to be used. This element must only be included when more than one calculation period contributes to a single payment amount.
      • getCrossCurrencyTerms

        public final CrossCurrencyTerms getCrossCurrencyTerms()
        The specification of the principle exchange and settlement provision terms.
      • getDayCountFraction

        @RosettaSynonym(value="dayCountFraction",source="FpML_5_10",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="dayCountFraction",source="CME_SubmissionIRS_1_0",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="dayCountFraction",source="DTCC_11_0",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="dayCountFraction",source="DTCC_9_0",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="dayCountFraction",source="CME_ClearedConfirm_1_17",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="dayCountFraction",source="FpML_5_10",path="periodicPayment.fixedAmountCalculation") @RosettaSynonym(value="dayCountFraction",source="CME_SubmissionIRS_1_0",path="periodicPayment.fixedAmountCalculation") @RosettaSynonym(value="dayCountFraction",source="DTCC_11_0",path="periodicPayment.fixedAmountCalculation") @RosettaSynonym(value="dayCountFraction",source="DTCC_9_0",path="periodicPayment.fixedAmountCalculation") @RosettaSynonym(value="dayCountFraction",source="CME_ClearedConfirm_1_17",path="periodicPayment.fixedAmountCalculation") @RosettaSynonym(value="dayCountFraction",source="FpML_5_10",path="periodicPayment.floatingAmountCalculation") @RosettaSynonym(value="dayCountFraction",source="CME_SubmissionIRS_1_0",path="periodicPayment.floatingAmountCalculation") @RosettaSynonym(value="dayCountFraction",source="DTCC_11_0",path="periodicPayment.floatingAmountCalculation") @RosettaSynonym(value="dayCountFraction",source="DTCC_9_0",path="periodicPayment.floatingAmountCalculation") @RosettaSynonym(value="dayCountFraction",source="CME_ClearedConfirm_1_17",path="periodicPayment.floatingAmountCalculation") @RosettaSynonym(value="dayCountFraction",source="FpML_5_10") @RosettaSynonym(value="dayCountFraction",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="dayCountFraction",source="DTCC_11_0") @RosettaSynonym(value="dayCountFraction",source="DTCC_9_0") @RosettaSynonym(value="dayCountFraction",source="CME_ClearedConfirm_1_17") @RosettaSynonym(value="dayCountFraction",source="FpML_5_10",path="interestCalculation") @RosettaSynonym(value="dayCountFraction",source="CME_SubmissionIRS_1_0",path="interestCalculation") @RosettaSynonym(value="dayCountFraction",source="DTCC_11_0",path="interestCalculation") @RosettaSynonym(value="dayCountFraction",source="DTCC_9_0",path="interestCalculation") @RosettaSynonym(value="dayCountFraction",source="CME_ClearedConfirm_1_17",path="interestCalculation")
        public final FieldWithMetaDayCountFractionEnum getDayCountFraction()
        The day count fraction. The cardinality has been relaxed when compared with the FpML interest rate swap for the purpose of accommodating standardized credit default swaps which DCF is not explicitly stated as part of the economic terms. The data rule InterestRatePayout_dayCountFraction requires that the DCF be stated for interest rate products.
      • getDiscountingMethod

        @RosettaSynonym(value="discounting",source="FpML_5_10",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="discounting",source="CME_SubmissionIRS_1_0",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="discounting",source="DTCC_11_0",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="discounting",source="DTCC_9_0",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="discounting",source="CME_ClearedConfirm_1_17",path="calculationPeriodAmount.calculation") @RosettaSynonym(value="",source="FpML_5_10") @RosettaSynonym(value="",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="",source="DTCC_11_0") @RosettaSynonym(value="",source="DTCC_9_0") @RosettaSynonym(value="",source="CME_ClearedConfirm_1_17")
        public final DiscountingMethod getDiscountingMethod()
        The parameters specifying any discounting conventions that may apply. This element must only be included if discounting applies.
      • getFixedAmount

        public final java.lang.String getFixedAmount()
        Fixed Amount Calculation
      • getFloatingAmount

        public final java.lang.String getFloatingAmount()
        Floating Amount Calculation
      • getMeta

        public final MetaFields getMeta()
        Specified by:
        getMeta in interface com.rosetta.model.lib.GlobalKey
      • getPayerReceiver

        public final PayerReceiver getPayerReceiver()
        The payer/seller paradigm applies to swap products, whether interest rate swaps or the fee leg of credit default swaps.
      • getPaymentDate

        @RosettaSynonym(value="paymentDate",source="FpML_5_10") @RosettaSynonym(value="paymentDate",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="paymentDate",source="DTCC_11_0") @RosettaSynonym(value="paymentDate",source="DTCC_9_0") @RosettaSynonym(value="paymentDate",source="CME_ClearedConfirm_1_17")
        public final AdjustableDate getPaymentDate()
        The payment date, where only one date is specified, as for the FRA product.
      • getPaymentDates

        @RosettaSynonym(value="paymentDates",source="FpML_5_10") @RosettaSynonym(value="paymentDates",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="paymentDates",source="DTCC_11_0") @RosettaSynonym(value="paymentDates",source="DTCC_9_0") @RosettaSynonym(value="paymentDates",source="CME_ClearedConfirm_1_17") @RosettaSynonym(value="periodicPayment",source="FpML_5_10") @RosettaSynonym(value="periodicPayment",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="periodicPayment",source="DTCC_11_0") @RosettaSynonym(value="periodicPayment",source="DTCC_9_0") @RosettaSynonym(value="periodicPayment",source="CME_ClearedConfirm_1_17") @RosettaSynonym(value="interestLegPaymentDates",source="FpML_5_10",path="interestLegCalculationPeriodDates")
        public final PaymentDates getPaymentDates()
        The payment date schedule, as defined by the parameters that are needed to specify it, either in a parametric way or by reference to another schedule of dates (e.g. the reset dates).
      • getPaymentDelay

        @RosettaSynonym(value="paymentDelay",source="FpML_5_10") @RosettaSynonym(value="paymentDelay",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="paymentDelay",source="DTCC_11_0") @RosettaSynonym(value="paymentDelay",source="DTCC_9_0") @RosettaSynonym(value="paymentDelay",source="CME_ClearedConfirm_1_17")
        public final java.lang.Boolean getPaymentDelay()
        Applicable to CDS on MBS to specify whether payment delays are applicable to the fixed Amount. RMBS typically have a payment delay of 5 days between the coupon date of the reference obligation and the payment date of the synthetic swap. CMBS do not, on the other hand, with both payment dates being on the 25th of each month.
      • getQuantity

        public final ContractualQuantity getQuantity()
        The specification of the notional amount that is associated with a contractual product and that is the base for the payout calculation, through the ContractualQuantity class which provides a generic approach that is applicable across all asset classes. The quantity attribute applies to products relating to securities or tangible assets (such as equities or commodities), while the notional amount applies to products pertaining to interest rate, FX or credit products.
      • getRateSpecification

        public final RateSpecification getRateSpecification()
        The specification of the rate value(s) applicable to the contract using either a floating rate calculation, a single fixed rate, a fixed rate schedule, or an inflation rate calculation.
      • getResetDates

        public final ResetDates getResetDates()
        The reset dates schedule, i.e. the dates on which the new observed index value is applied for each period and the interest rate hence begins to accrue.
      • getStubPeriod

        @RosettaSynonym(value="stubCalculationPeriodAmount",source="FpML_5_10") @RosettaSynonym(value="stubCalculationPeriodAmount",source="CME_SubmissionIRS_1_0") @RosettaSynonym(value="stubCalculationPeriodAmount",source="DTCC_11_0") @RosettaSynonym(value="stubCalculationPeriodAmount",source="DTCC_9_0") @RosettaSynonym(value="stubCalculationPeriodAmount",source="CME_ClearedConfirm_1_17")
        public final StubPeriod getStubPeriod()
        The stub calculation period amount parameters. This element must only be included if there is an initial or final stub calculation period. Even then, it must only be included if either the stub references a different floating rate tenor to the regular calculation periods, or if the stub is calculated as a linear interpolation of two different floating rate tenors, or if a specific stub rate or stub amount has been negotiated.
      • process

        public void process​(com.rosetta.model.lib.path.RosettaPath path,
                            com.rosetta.model.lib.process.Processor processor)
        Overrides:
        process in class PayoutBase
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class PayoutBase