FINXIS.

SettlementPayout

Type CDM 7.2.0

Represents a forward settling payout. The underlier attribute captures the underlying payout, which is settled according to the settlementTerms attribute (which is part of PayoutBase). Both FX Spot and FX Forward should use this component.

Extends PayoutBase
Extended by —
Attributes 8 (4 own)
Namespace cdm.product.template

Attributes

4 declared on SettlementPayout, 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
underlier Underlier 1..1 The underlying financial product that will be physically or cash settled, which can be of any type, eg an asset such as cash or a security, or the cash settlement of an index rate. —
deliveryTerm string 0..1 Also called contract month or delivery month. However, it's not always a month. It is usually expressed using a code, e.g. Z23 would be the Dec 2023 contract, (Z = December). For crude oil, the corresponding contract might be called CLZ23. —
delivery AssetDeliveryInformation 0..1 Contains the information relative to the delivery of the asset. —
schedule CalculationSchedule 0..1 Allows the full representation of a payout by defining a set of schedule periods. It supports standard schedule customization by expressing all the dates, quantities, and pricing data in a non-parametric way. —

Conditions

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

Underlier Condition
The underlier for a settlement payout cannot be a NonTransferableProduct.
underlier as NonTransferableProduct is absent
Basket Condition
If the underlier is a basket, it must contain only transferable assets.
if underlier as Basket exists
then (underlier as Basket -> basketConstituent
        extract observable as Asset exists
        ) all = True
Index Condition
If the underlier is an Index, then it can only be cash settled.
if underlier as Index exists
then settlementTerms -> cashSettlementTerms exists
SettlementTerms Condition
Settlement Terms should be defined except for cash.
if underlier as Cash exists then settlementTerms exists
SettlementCentreRequired Condition
SettlementCentre required where underlier is a security.
if underlier as Security exists
then (settlementTerms -> securitySettlementCentre exists
        and settlementTerms -> cashSettlementCentre exists)
DeliveryCapacity Condition
Checks that only one of the representations of delivery capacity is present simultaneously.
if delivery -> deliveryCapacity exists
then schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent
        and delivery -> periods -> profile -> block -> deliveryCapacity is absent
        and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent
else if schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity exists
then delivery -> deliveryCapacity is absent
        and delivery -> periods -> profile -> block -> deliveryCapacity is absent
        and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent
else if delivery -> periods -> profile -> block -> deliveryCapacity exists
then schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent
        and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent
else if schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity exists
then delivery -> deliveryCapacity is absent
        and schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent
        and delivery -> periods -> profile -> block -> deliveryCapacity is absent
PriceTimeIntervalQuantity Condition
Checks that only one of the representations of price time interval quantity is present simultaneously.
if schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity exists
then delivery -> periods -> profile -> block -> priceTimeIntervalQuantity is absent
        and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity is absent
else if delivery -> periods -> profile -> block -> priceTimeIntervalQuantity exists
then schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity is absent
        and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity is absent
else if schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity exists
then schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity is absent
        and delivery -> periods -> profile -> block -> priceTimeIntervalQuantity 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
FXFarLeg returns Extracts the far leg of an FX swap (deliverable or not) based on two criteria: the forward payout with the latest value date or the forward payout with the latest settlement date.
InterpolateForwardRate takes —
StandardizedScheduleFXSwapNotional takes Extracts the notional amount and currency of an FX swap.
StandardizedScheduleEquityForwardNotionalAmount takes Extracts the notional amount of an EQ forward.
Create_AssetFlowFromSettlementPayout takes Generates two opposite cashflows that correspond to a settlement payout. One leg is the asset leg, that settles the asset according to the quantity, direction and date defined in the settlement payout. The other is the price leg, that settles the price as a currency amount going in the opposite direction. The function's applicability is limited on purpose to a single asset with a single price and quantity specified.

In the product library

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

ProductAsset classFamily
FX NDF Foreign Exchange Spot & forwards
FX Spot Forward Foreign Exchange Spot & forwards
FX Swap Foreign Exchange Spot & forwards
IRS Forward Debt Interest Rate Swaps
Listed Equity Equity Listed

Open SettlementPayout 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-template-type.rosetta cdm.product.template