FINXIS.

PerformancePayout

Type CDM 7.2.0

Contains the necessary specifications for all performance payouts, encompassing equity return, dividend, variance, volatility and correlation products.

Extends PayoutBase
Extended by —
Attributes 14 (10 own)
Namespace cdm.product.template

Attributes

10 declared on PerformancePayout, 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
observationTerms ObservationTerms 0..1 Defines how and when a performance type option or performance type swap is to be observed. —
valuationDates ValuationDates 1..1 Defines how and when a performance type option or performance type swap is to be valued, including both interim and final valuation. —
paymentDates PaymentDates 1..1 Defines 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 valuation dates). —
underlier Underlier 0..1 Identifies the underlying product that is referenced for pricing of the applicable leg in a swap. Referenced in the '2018 ISDA CDM Equity Confirmation for Security Equity Swap' as Security. —
fxFeature FxFeature 0..* Defines quanto or composite FX features that are included in the swap leg. —
returnTerms ReturnTerms 0..1 Specifies the type of return of a performance payout. —
portfolioReturnTerms PortfolioReturnTerms 0..* Specifies an individual type of return of a Performance Payout, when such individual return is part of an aggregation of multiple similar returns, at Performance Payout level —
initialValuationPrice PriceSchedule 0..* Specifies the net initial valuation price(s) of the underlier at Performance Payout level. This price can be expressed either as an actual amount/currency, as a determination method, or by reference to another value specified in the swap document. —
interimValuationPrice PriceSchedule 0..* Specifies the net initial valuation price(s) of the underlier at Performance Payout level. This price can be expressed either as an actual amount/currency, as a determination method, or by reference to another value specified in the swap document. —
finalValuationPrice PriceSchedule 0..* Specifies the net final valuation price(s) of the underlier at Performance Payout level. This price can be expressed either as an actual amount/currency, as a determination method, or by reference to another value specified in the swap document. —

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 on a performance payout can only be an observable.
underlier as Observable exists
PortfolioOrStraightReturn Condition
required choice returnTerms, portfolioReturnTerms
PortfolioReturnIsMultipleReturns Condition
No single portfolioReturnTerms instance shall exist because it would be a duplicate of straight returnTerms.
if portfolioReturnTerms exists
then portfolioReturnTerms count > 1
UnderlierOfPortfolioIsBasket Condition
A portfolio made of multiple individual legs in portfolio, is a strategy that consider the Basket in transparency, thus having a Basket as an underlier of the PerformancePayout that is aggregation level and multiple individual legs in portfolio, each with an underlier to correspond to each Basket consituent. This is particular usage of portfolio attribute, hence the condition, being aknowledged that other usages would not require Basket to exist at this level, for instance a dispersion strategy where 'N+1' multiple portfolio return legs would exist, '1' with underlier->Basket, other 'N' ones with single underliers, where the Basket is at same level as the other legs (therefore no aggregation shall exist via Basket at PerformancePayout level.
if portfolioReturnTerms -> priceReturnTerms exists
then underlier as Basket exists
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
NoSharePriceDividendAdjustmentIndex Condition
If the underlier is an index, sharePriceAdjustment and sharePriceDividendAdjustment cannot exist.
if underlier as Index exists
then returnTerms -> varianceReturnTerms -> sharePriceDividendAdjustment is absent
        and returnTerms -> volatilityReturnTerms -> sharePriceDividendAdjustment is absent
NoSharePriceDividendAdjustmentForeignExchange Condition
If the underlier is an foreign exchange, sharePriceAdjustment and sharePriceDividendAdjustment cannot exist.
if underlier as ForeignExchangeRateIndex exists
then returnTerms -> varianceReturnTerms -> sharePriceDividendAdjustment is absent
        and returnTerms -> volatilityReturnTerms -> sharePriceDividendAdjustment is absent
CorrelationUnderlierOnlyBasket Condition
Correlation Return Terms can only have a basket as underlier, since it needs to compute the correlation between two or more products.
if returnTerms -> correlationReturnTerms exists
then underlier as Basket exists
EquitySpecificAttributes Condition
Equity specific attributes cannot be present in non-equity products.
if Qualify_UnderlierObservable_Equity(underlier as Observable) = False
then returnTerms -> varianceReturnTerms -> dividendApplicability is absent
        and returnTerms -> varianceReturnTerms -> equityUnderlierProvisions is absent
        and returnTerms -> varianceReturnTerms -> sharePriceDividendAdjustment is absent
        and returnTerms -> volatilityReturnTerms -> dividendApplicability is absent
        and returnTerms -> volatilityReturnTerms -> equityUnderlierProvisions is absent
        and returnTerms -> volatilityReturnTerms -> sharePriceDividendAdjustment is absent
        and returnTerms -> correlationReturnTerms -> dividendApplicability is absent
        and returnTerms -> correlationReturnTerms -> equityUnderlierProvisions is absent
        and returnTerms -> correlationReturnTerms -> sharePriceDividendAdjustment 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
NewSingleNameEquityPerformancePayout returns Function specification to create the equity payout part of an Equity Swap according to the 2018 ISDA CDM Equity Confirmation template.
ResolvePerformanceObservationIdentifiers takes Defines which attributes on the PerformancePayout should be used to locate and resolve the underlier's price, for example for the reset process.
ResolvePerformanceReset takes Defines how to resolve the reset value for a performance payout.
StandardizedScheduleFXVarianceNotionalAmount takes Extracts the notional amount of an FX variance swap.
StandardizedScheduleVarianceSwapNotionalAmount takes Extracts the notional amount of an EQ variance swap.
ResolvePerformancePeriodStartPrice takes Resolves the price from the end of the previous period. If first period, then take the initial price.

In the product library

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

ProductAsset classFamily
Equity Swap CFD Equity Swaps
Equity Swap Composite Basket Long Form Equity Swaps
Equity Swap Composite Basket Long Form Separate Spreads Equity Swaps
Equity Swap Compounding Swap Equity Swaps
Equity Swap European Interdealer Fair Value Share Swap Short Form Equity Swaps
Equity Swap Forward Starting Post European Interdealer Share Swap Short Form Equity Forwards
Equity Swap Index Quanto Long Form Equity Swaps
Equity Swap Long Form With Stub Equity Swaps
Equity Swap On European Index Underlyer Short Form Equity Swaps
Equity Swap On European Single Stock Underlyer Short Form Equity Swaps
Equity Swap Pan Asia Interdealer Share Swap Short Form Equity Swaps
Equity Swap Short Form Interestleg Driving Schedule Dates Equity Swaps
Equity Swap Single Index Long Form Equity Swaps
Equity Swap Single Underlyer Execution Long Form Equity Swaps
Equity Swap Single Underlyer Execution Long Form Ois Equity Swaps

and 9 more across the library.

Open PerformancePayout 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