FINXIS.

InterestRatePayout

Type CDM 7.2.0

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 globalKey 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.

Extends PayoutBase
Extended by —
Attributes 19 (15 own)
Namespace cdm.product.asset

Attributes

15 declared on InterestRatePayout, 4 inherited. Cardinality in amber is required.

NameTypeCard.Description From
payerReceiver PayerReceiver 1..1 Canonical representation of the payer and receiver parties applicable to each payout leg. PayoutBase
priceQuantity ResolvablePriceQuantity 0..1 Each payout leg must implement the quantity concept as a 'resolvable' type, which allows for different payout legs to be linked to each other (e.g. in the case of cross-curreny products). PayoutBase
principalPayment PrincipalPayments 0..1 The specification of the principal exchange. Optional as only applicable in the case of cross-currency or zero-coupon swaps with a final payment. PayoutBase
settlementTerms SettlementTerms 0..1 Each payout leg must specifies its settlement terms, including the delivery type (i.e. cash vs physical, and their respective terms), the transfer type (DvP etc.) and settlement date, if any. PayoutBase
rateSpecification RateSpecification 0..1 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. —
dayCountFraction DayCountFractionEnum 0..1 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. —
calculationPeriodDates CalculationPeriodDates 0..1 The parameters used to generate the calculation period dates schedule, including the specification of any initial or final stub calculation periods. —
paymentDates PaymentDates 0..1 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). —
paymentDate AdjustableDate 0..1 The payment date, where only one date is specified, as for the FRA product. —
paymentDelay boolean 0..1 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. —
resetDates ResetDates 0..1 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. —
discountingMethod DiscountingMethod 0..1 The parameters specifying any discounting conventions that may apply. This element must only be included if discounting applies. —
compoundingMethod CompoundingMethodEnum 0..1 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. —
cashflowRepresentation CashflowRepresentation 0..1 The cashflow representation of the swap stream. —
stubPeriod StubPeriod 0..1 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. —
bondReference BondReference 0..1 Reference to a bond underlier to represent an asset swap or Condition Precedent Bond. —
fixedAmount calculation 0..1 Fixed Amount Calculation —
floatingAmount calculation 0..1 Floating Amount Calculation —
spreadCalculationMethod SpreadCalculationMethodEnum 0..1 Method by which spread is calculated. For example on an asset swap: 'ParPar' or 'Proceeds' may be the method indicated. —

Conditions

Validation rules the model enforces on this type, in Rune. An instance that breaks one of these is invalid CDM, whatever produced it.

Quantity Condition
When there is an OptionPayout the quantity can be expressed as part of the payoutQuantity, or as part of the underlier in the case of a Swaption. For all other payouts that extend PayoutBase the payoutQuantity is a mandatory attribute.
priceQuantity exists
InterestRatePayoutChoice Condition
The paymentDates attributes is applicable to interest rate payouts with periodic payments, while the paymentDate reflects the FpML FRA implementation where one specific date is specified.
optional choice paymentDates, paymentDate
FutureValueNotional Condition
The BRL CDI future value notional only applies to a fixed Rate Schedule.
if rateSpecification as FixedRateSpecification is absent
then priceQuantity -> futureValueNotional is absent
TerminationDate Condition
FpML states that the value date associated with the future value notional should match the adjusted termination date.
if priceQuantity -> futureValueNotional exists
then priceQuantity -> futureValueNotional -> valueDate = calculationPeriodDates -> terminationDate -> adjustableDate -> adjustedDate
RateSpecification Condition
Zero Coupon Swaps with a Known Amount are expressed without the rate specification and the known amount expressed as a price.
if rateSpecification is absent
then priceQuantity -> priceSchedule exists
FpML_ird_6 Condition
FpML validation rule ird-6 - If paymentDates/firstPaymentDate exists, and if calculationPeriodDates/effectiveDate exists, then paymentDates/firstPaymentDate must be after calculationPeriodDates/effectiveDate/unadjustedDate.
if paymentDates -> firstPaymentDate exists
        and calculationPeriodDates -> effectiveDate exists
then paymentDates -> firstPaymentDate > calculationPeriodDates -> effectiveDate -> adjustableDate -> unadjustedDate
FpML_ird_23 Condition
FpML validation rule ird-23 - If the initialStub exists, the calculationPeriodDates element referenced by the @href attribute of stubCalculationPeriodAmount/calculationPeriodDatesReference contains firstRegularPeriodStartDate.
if stubPeriod -> initialStub exists
then calculationPeriodDates -> firstRegularPeriodStartDate exists
FpML_ird_24 Condition
FpML validation rule ird-24 - The finalStub exists if and only if the calculationPeriodDates element referenced by calculationPeriodDates/@href contains a lastRegularPeriodEndDate.
if stubPeriod -> finalStub exists
then calculationPeriodDates -> lastRegularPeriodEndDate exists
InitialStubFinalStub Condition
Data rule to represent the FpML nested XML construct as part of StubCalculationPeriodAmount.
if stubPeriod exists
then stubPeriod -> initialStub exists or stubPeriod -> finalStub exists
CashSettlementTerms Condition
Cash Settlements Terms must exist when the settlement currency is different to the notional currency of the trade.
if settlementTerms -> settlementCurrency exists
        and (settlementTerms -> settlementCurrency <> priceQuantity -> quantitySchedule -> unit -> currency
            or settlementTerms -> settlementCurrency <> priceQuantity -> quantityMultiplier -> fxLinkedNotionalSchedule -> varyingNotionalCurrency)
then (settlementTerms -> cashSettlementTerms -> valuationMethod exists and settlementTerms -> cashSettlementTerms -> valuationDate exists)
        or priceQuantity -> quantityMultiplier -> fxLinkedNotionalSchedule -> fxSpotRateSource exists
FpML_ird_7_1 Condition
FpML validation rule ird-7 1/2 - The existence of compoundingMethod is prohibited when the calculation period and payment frequencies are the same.
if paymentDates -> paymentFrequency -> period = calculationPeriodDates -> calculationPeriodFrequency -> period
        and paymentDates -> paymentFrequency -> periodMultiplier = calculationPeriodDates -> calculationPeriodFrequency -> periodMultiplier
then (compoundingMethod is absent or compoundingMethod = CompoundingMethodEnum -> None)
FpML_ird_7_2 Condition
FpML validation rule ird-7 2/2 - The existence of compoundingMethod is required when the calculation period and payment frequencies differ.
if (paymentDates -> paymentFrequency -> period exists
            and calculationPeriodDates -> calculationPeriodFrequency -> period exists
            and paymentDates -> paymentFrequency -> period <> calculationPeriodDates -> calculationPeriodFrequency -> period)
        or (paymentDates -> paymentFrequency -> periodMultiplier exists
            and calculationPeriodDates -> calculationPeriodFrequency -> periodMultiplier exists
            and paymentDates -> paymentFrequency -> periodMultiplier <> calculationPeriodDates -> calculationPeriodFrequency -> periodMultiplier)
then compoundingMethod exists
FpML_ird_9 Condition
FpML validation rule ird-9 - If calculationPeriodAmount/calculation/compoundingMethod exists, then resetDates must exist.
if compoundingMethod exists and compoundingMethod <> CompoundingMethodEnum -> None
then resetDates exists
FpML_ird_29 Condition
FpML validation rule ird-29 - If compoundingMethod exists, then fixedRateSchedule must not exist.
if compoundingMethod exists and compoundingMethod <> CompoundingMethodEnum -> None
then rateSpecification as FixedRateSpecification is absent
CalculationPeriodDatesFirstCompoundingPeriodEndDate Condition
FpML specifies that the firstCompoundingPeriodEndDate must only be specified when the compounding method is specified and not equal to a value of None.
if compoundingMethod is absent or compoundingMethod = CompoundingMethodEnum -> None
then calculationPeriodDates -> firstCompoundingPeriodEndDate is absent

Functions

Model functions that produce or consume this type. These are the CDM's own behaviour — the logic a correct implementation has to match.

FunctionRoleDescription
NewFloatingPayout returns Function specification to create the interest rate (floating) payout part of an Equity Swap according to the 2018 ISDA CDM Equity Confirmation template.
ExtractFixedLeg returns Extract interest rate payout containing fix rate specification.
ResolveInterestRateObservationIdentifiers takes Defines which attributes on the InterestRatePayout should be used to locate and resolve the underlier's price, for example for the reset process.
ResolveInterestRateReset takes Defines how to resolve the reset value for an InterestRatePayout.
InterestPayoutObligationsFulfilled takes Determines whether the obligations defined by the InterestRatePayout have been fulfilled by checking that the total value of cash required has been successfully transferred.
Create_CollectFloatingRateOptionInstruction takes This function generates the Instruction Composition step instruction necessary to collect the Floating Rate Option data by extracting the floating rate index name from the floating leg.
FixedAmountCalculation takes Calculates the fixed amount for a calculation period by looking up the notional and the fixed rate and multiplying by the year fraction.
GetFixedRate takes Look up the fixed rate for a calculation period.
FloatingAmountCalculation takes Calculate a floating amount for a calculation period by determining the raw floating rate, applying any rate treatments, looking up the calculation period notional, then performing the multiplication of the notional, rate, and year fraction. Floating amount calculations are described in the 2021 ISDA Definitions in Section 6 and 7.
ApplyFloatingRateSetting takes Calculate a floating amount for a calculation period by determining the raw floating rate, applying any rate treatments, looking up the calculation period notional, then performing the multiplication of the notional, rate, and year fraction. Floating amount calculations are described in the 2021 ISDA Definitions in Section 6 and 7.
CalculateFloatingCashFlow takes —
GetNotionalAmount takes Look up the notional amount in effect for a calculation period.
CalculateYearFraction takes Calculate the year fraction for a single calculation period, by invoking the base year fraction logic
DetermineFloatingRateReset takes Get the value of a floating rate by either observing it directly or performing a rate calculation. This function works differently depending on the rate category and style, as described in the 2021 ISDA Definitions, Section 6.6.

Showing 12 of each. All 1286 functions →

In the product library

Canonical products whose JSON instantiates InterestRatePayout. Useful when you want to see the type populated rather than described.

ProductAsset classFamily
CDS 2003 Long Euro Corp Fixed Regular Payment Schedule Credit Single-name
CDS 2003 Long US Corp Fixed Regular Payment Schedule Credit Single-name
CDS 2003 Short Asia Corp Fixed Regular Payment Schedule Credit Single-name
CDS 2003 Short Euro Corp Fixed Regular Payment Schedule Credit Single-name
CDS 2003 Short US Corp Fixed Regular Payment Schedule Credit Single-name
CDS Basket Credit Basket
CDS Basket Tranche Credit Tranche
CDS Custom Basket Credit Basket
CDS European Loan Credit Referenceobligation Credit Single-name
CDS iBoxx OIS Credit Index
CDS iBoxx Total Return Swap Credit Index
CDS Independent Amount Short US Corp Fixed Standard Payment Schedule. Credit Single-name
CDS Index Option Credit Swaptions
CDS iTraxx Index Option Credit Swaptions
CDS Loan Reference Obligation Credit Single-name

and 61 more across the library.

Open InterestRatePayout in the Model Browser

Walk the tree and the reference graph interactively, and switch releases to see how the type has changed. Free, no signup.

Model Browser All 200+ releases
Parsed from CDM 7.2.0 · product-asset-type.rosetta cdm.product.asset