FINXIS.

OptionPayout

Type CDM 7.2.0

The option payout specification terms. The associated globalKey denotes the ability to associate a hash value to the respective OptionPayout instantiation for the purpose of model cross-referencing, in support of functionality such as the event effect and the lineage.

Extends PayoutBase
Extended by —
Attributes 13 (9 own)
Namespace cdm.product.template

Attributes

9 declared on OptionPayout, 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
buyerSeller BuyerSeller 1..1 — —
feature OptionFeature 0..1 The option feature, such as quanto, Asian, barrier, knock. —
observationTerms ObservationTerms 0..1 Class containing terms that are associated with observing a price/benchmark/index across either single or multple observations. To be used for option contracts that reference a benchmark price. —
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. —
delivery AssetDeliveryInformation 0..1 Contains the information relative to the delivery of the asset. —
underlier Underlier 1..1 The financial product underlying the option, which can be of any type including an Asset, Basket, Index or a NonTransferableProduct. —
optionType OptionTypeEnum 0..1 The type of option transaction. From a usage standpoint, put/call is the default option type, while payer/receiver indicator is used for options on index credit default swaps, consistently with the industry practice. Straddle is used for the case of straddle strategy, that combine a call and a put with the same strike. —
exerciseTerms ExerciseTerms 1..1 The terms for exercising the option, which include the option style (e.g. American style option), the exercise procedure (e.g. manual exercise) and the settlement terms (e.g. physical vs. cash). —
strike OptionStrike 0..1 Specifies the strike of the option —

Conditions

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

AsianOptionChoice_averagingStrikeFeature Condition
Choice rule between AveragingFeature and AveragingStrikeFeature.
if strike -> averagingStrikeFeature exists
then feature -> averagingFeature is absent
AsianOptionChoice_averagingFeature Condition
Choice rule between AveragingFeature and AveragingStrikeFeature.
if feature -> averagingFeature exists
then strike -> averagingStrikeFeature is absent
ClearedPhysicalSettlementExists Condition
if settlementTerms -> physicalSettlementTerms exists
        and underlier as Product ->> economicTerms -> payout
            as InterestRatePayout
            exists
        and underlier as Product ->> economicTerms -> payout
            as InterestRatePayout
            count = 2
then settlementTerms -> physicalSettlementTerms -> clearedPhysicalSettlement 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
OptionStylePresent Condition
This condition ensures that an optionPayout contains the style of option within its exercise terms.
exerciseTerms -> style exists
OptionTypePresent Condition
This condition ensures that an option type is set when the underlier is not a non-transferable product.
if underlier as NonTransferableProduct is absent
then optionType exists
SettlementCentreRequired Condition
SettlementCentre required where underlier is a security.
if underlier as Security exists
then (settlementTerms -> securitySettlementCentre exists
        and settlementTerms -> cashSettlementCentre exists)

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
StandardizedScheduleOptionNotionalAmount takes Extracts the notional amount of a CO or EQ option.

In the product library

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

ProductAsset classFamily
CDS Index Option Credit Swaptions
CDS iTraxx Index Option Credit Swaptions
CDS Swaption 1 Credit Swaptions
CDS Swaption 2 Credit Swaptions
CDX Index Option Predetermined Clearing Credit Swaptions
FX NDO Foreign Exchange Spot & forwards
FX Vanilla Option Foreign Exchange Options
IRS Debt Option Interest Rate Options & forwards
IRS Swaption Interest Rate Options & forwards

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