Package org.isda.cdm
Class InterestRatePayout
- java.lang.Object
-
- com.rosetta.model.lib.RosettaModelObject
-
- org.isda.cdm.PayoutBase
-
- org.isda.cdm.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InterestRatePayout.InterestRatePayoutBuilder
-
Nested classes/interfaces inherited from class org.isda.cdm.PayoutBase
PayoutBase.PayoutBaseBuilder
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static InterestRatePayout.InterestRatePayoutBuilder
builder()
boolean
equals(java.lang.Object o)
BondReference
getBondReference()
Reference to a bond underlier to represent an asset swap or Condition Precedent Bond.CalculationPeriodDates
getCalculationPeriodDates()
The parameters used to generate the calculation period dates schedule, including the specification of any initial or final stub calculation periods.CashflowRepresentation
getCashflowRepresentation()
The cashflow representation of the swap stream.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.CrossCurrencyTerms
getCrossCurrencyTerms()
The specification of the principle exchange and settlement provision terms.FieldWithMetaDayCountFractionEnum
getDayCountFraction()
The day count fraction.DiscountingMethod
getDiscountingMethod()
The parameters specifying any discounting conventions that may apply.java.lang.String
getFixedAmount()
Fixed Amount Calculationjava.lang.String
getFloatingAmount()
Floating Amount CalculationMetaFields
getMeta()
PayerReceiver
getPayerReceiver()
The payer/seller paradigm applies to swap products, whether interest rate swaps or the fee leg of credit default swaps.AdjustableDate
getPaymentDate()
The payment date, where only one date is specified, as for the FRA product.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.java.lang.Boolean
getPaymentDelay()
Applicable to CDS on MBS to specify whether payment delays are applicable to the fixed Amount.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.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.ResetDates
getResetDates()
The reset dates schedule, i.e.StubPeriod
getStubPeriod()
The stub calculation period amount parameters.int
hashCode()
com.rosetta.model.lib.meta.RosettaMetaData<? extends InterestRatePayout>
metaData()
void
process(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor)
InterestRatePayout.InterestRatePayoutBuilder
toBuilder()
java.lang.String
toString()
-
Methods inherited from class org.isda.cdm.PayoutBase
getPayoutQuantity
-
-
-
-
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 interfacecom.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.
-
metaData
public com.rosetta.model.lib.meta.RosettaMetaData<? extends InterestRatePayout> metaData()
- Overrides:
metaData
in classPayoutBase
-
toBuilder
public InterestRatePayout.InterestRatePayoutBuilder toBuilder()
- Specified by:
toBuilder
in classPayoutBase
-
builder
public static InterestRatePayout.InterestRatePayoutBuilder builder()
-
process
public void process(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor)
- Overrides:
process
in classPayoutBase
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classPayoutBase
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classPayoutBase
-
toString
public java.lang.String toString()
- Overrides:
toString
in classPayoutBase
-
-