OptionPayout
Type CDM 7.2.0The 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.
Attributes
9 declared on OptionPayout, 4 inherited. Cardinality in amber is required.
| Name | Type | Card. | 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.
if strike -> averagingStrikeFeature exists
then feature -> averagingFeature is absent if feature -> averagingFeature exists
then strike -> averagingStrikeFeature is absent 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 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 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 exerciseTerms -> style exists if underlier as NonTransferableProduct is absent
then optionType exists 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.
| Function | Role | Description |
|---|---|---|
| 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.
| Product | Asset class | Family |
|---|---|---|
| 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.