Class: OptionPayout
_ 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._
URI: common_domain_model:OptionPayout
classDiagram
class OptionPayout
click OptionPayout href "../OptionPayout/"
PayoutBase <|-- OptionPayout
click PayoutBase href "../PayoutBase/"
OptionPayout : buyerSeller
OptionPayout --> "1" BuyerSeller : buyerSeller
click BuyerSeller href "../BuyerSeller/"
OptionPayout : delivery
OptionPayout --> "0..1" AssetDeliveryInformation : delivery
click AssetDeliveryInformation href "../AssetDeliveryInformation/"
OptionPayout : exerciseTerms
OptionPayout --> "1" ExerciseTerms : exerciseTerms
click ExerciseTerms href "../ExerciseTerms/"
OptionPayout : feature
OptionPayout --> "0..1" OptionFeature : feature
click OptionFeature href "../OptionFeature/"
OptionPayout : observationTerms
OptionPayout --> "0..1" ObservationTerms : observationTerms
click ObservationTerms href "../ObservationTerms/"
OptionPayout : optionType
OptionPayout --> "0..1" OptionTypeEnum : optionType
click OptionTypeEnum href "../OptionTypeEnum/"
OptionPayout : payerReceiver
OptionPayout --> "1" PayerReceiver : payerReceiver
click PayerReceiver href "../PayerReceiver/"
OptionPayout : priceQuantity
OptionPayout --> "0..1" ResolvablePriceQuantity : priceQuantity
click ResolvablePriceQuantity href "../ResolvablePriceQuantity/"
OptionPayout : principalPayment
OptionPayout --> "0..1" PrincipalPayments : principalPayment
click PrincipalPayments href "../PrincipalPayments/"
OptionPayout : schedule
OptionPayout --> "0..1" CalculationSchedule : schedule
click CalculationSchedule href "../CalculationSchedule/"
OptionPayout : settlementTerms
OptionPayout --> "0..1" SettlementTerms : settlementTerms
click SettlementTerms href "../SettlementTerms/"
OptionPayout : strike
OptionPayout --> "0..1" OptionStrike : strike
click OptionStrike href "../OptionStrike/"
OptionPayout : underlier
OptionPayout --> "1" Underlier : underlier
click Underlier href "../Underlier/"
Inheritance
- PayoutBase
- OptionPayout
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| buyerSeller | 1 BuyerSeller |
direct | |
| feature | 0..1 OptionFeature |
The option feature, such as quanto, Asian, barrier, knock | direct |
| observationTerms | 0..1 ObservationTerms |
Class containing terms that are associated with observing a price/benchmark/i... | direct |
| schedule | 0..1 CalculationSchedule |
Allows the full representation of a payout by defining a set of schedule peri... | direct |
| delivery | 0..1 AssetDeliveryInformation |
Contains the information relative to the delivery of the asset | direct |
| underlier | 1 Underlier or Observable or Product |
The financial product underlying the option, which can be of any type includi... | direct |
| optionType | 0..1 OptionTypeEnum |
The type of option transaction | direct |
| exerciseTerms | 1 ExerciseTerms |
The terms for exercising the option, which include the option style (e | direct |
| strike | 0..1 OptionStrike |
Specifies the strike of the option | direct |
| payerReceiver | 1 PayerReceiver |
Canonical representation of the payer and receiver parties applicable to each... | PayoutBase |
| priceQuantity | 0..1 ResolvablePriceQuantity |
Each payout leg must implement the quantity concept as a 'resolvable' type, w... | PayoutBase |
| principalPayment | 0..1 PrincipalPayments |
The specification of the principal exchange | PayoutBase |
| settlementTerms | 0..1 SettlementTerms |
Each payout leg must specifies its settlement terms, including the delivery t... | PayoutBase |
Usages
| used by | used in | type | used |
|---|---|---|---|
| ExerciseInstruction | exerciseOption | range | OptionPayout |
| ResetInstruction | payout | any_of[range] | OptionPayout |
| CalculateTransferInstruction | payout | any_of[range] | OptionPayout |
| ScheduledTransfer | payoutReference | any_of[range] | OptionPayout |
| EconomicTerms | payout | any_of[range] | OptionPayout |
In Subsets
Comments
- Rosetta condition: AsianOptionChoice_averagingStrikeFeature — if strike -> averagingStrikeFeature exists then feature -> averagingFeature is absent
- Rosetta condition: AsianOptionChoice_averagingFeature — if feature -> averagingFeature exists then strike -> averagingStrikeFeature is absent
- Rosetta condition: ClearedPhysicalSettlementExists — if settlementTerms -> physicalSettlementTerms exists and underlier -> Product ->> economicTerms -> payout -> InterestRatePayout exists and underlier -> Product ->> economicTerms -> payout -> InterestRatePayout count = 2 then settlementTerms -> physicalSettlementTerms -> clearedPhysicalSettlement exists
- Rosetta condition: DeliveryCapacity — 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
- Rosetta condition: PriceTimeIntervalQuantity — 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
- Rosetta condition: OptionStylePresent — exerciseTerms -> style exists
- Rosetta condition: OptionTypePresent — if underlier -> Product -> NonTransferableProduct is absent then optionType exists
Identifier and Mapping Information
Schema Source
- from schema: https://w3id.org/lmodel/common-domain-model
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | common_domain_model:OptionPayout |
| native | common_domain_model:OptionPayout |
LinkML Source
Direct
name: OptionPayout
description: ' 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.'
comments:
- 'Rosetta condition: AsianOptionChoice_averagingStrikeFeature — if strike -> averagingStrikeFeature
exists then feature -> averagingFeature is absent'
- 'Rosetta condition: AsianOptionChoice_averagingFeature — if feature -> averagingFeature
exists then strike -> averagingStrikeFeature is absent'
- 'Rosetta condition: ClearedPhysicalSettlementExists — if settlementTerms -> physicalSettlementTerms
exists and underlier -> Product ->> economicTerms -> payout -> InterestRatePayout
exists and underlier -> Product ->> economicTerms -> payout -> InterestRatePayout
count = 2 then settlementTerms -> physicalSettlementTerms -> clearedPhysicalSettlement
exists'
- 'Rosetta condition: DeliveryCapacity — 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'
- 'Rosetta condition: PriceTimeIntervalQuantity — 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'
- 'Rosetta condition: OptionStylePresent — exerciseTerms -> style exists'
- 'Rosetta condition: OptionTypePresent — if underlier -> Product -> NonTransferableProduct
is absent then optionType exists'
in_subset:
- cdm_product_template
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: PayoutBase
slots:
- buyerSeller
- feature
- observationTerms
- schedule
- delivery
- underlier
- optionType
- exerciseTerms
- strike
slot_usage:
schedule:
name: schedule
description: 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.
range: CalculationSchedule
multivalued: false
underlier:
name: underlier
description: The financial product underlying the option, which can be of any
type including an Asset, Basket, Index or a NonTransferableProduct.
optionType:
name: optionType
description: 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.
range: OptionTypeEnum
strike:
name: strike
description: Specifies the strike of the option
range: OptionStrike
Induced
name: OptionPayout
description: ' 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.'
comments:
- 'Rosetta condition: AsianOptionChoice_averagingStrikeFeature — if strike -> averagingStrikeFeature
exists then feature -> averagingFeature is absent'
- 'Rosetta condition: AsianOptionChoice_averagingFeature — if feature -> averagingFeature
exists then strike -> averagingStrikeFeature is absent'
- 'Rosetta condition: ClearedPhysicalSettlementExists — if settlementTerms -> physicalSettlementTerms
exists and underlier -> Product ->> economicTerms -> payout -> InterestRatePayout
exists and underlier -> Product ->> economicTerms -> payout -> InterestRatePayout
count = 2 then settlementTerms -> physicalSettlementTerms -> clearedPhysicalSettlement
exists'
- 'Rosetta condition: DeliveryCapacity — 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'
- 'Rosetta condition: PriceTimeIntervalQuantity — 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'
- 'Rosetta condition: OptionStylePresent — exerciseTerms -> style exists'
- 'Rosetta condition: OptionTypePresent — if underlier -> Product -> NonTransferableProduct
is absent then optionType exists'
in_subset:
- cdm_product_template
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: PayoutBase
slot_usage:
schedule:
name: schedule
description: 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.
range: CalculationSchedule
multivalued: false
underlier:
name: underlier
description: The financial product underlying the option, which can be of any
type including an Asset, Basket, Index or a NonTransferableProduct.
optionType:
name: optionType
description: 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.
range: OptionTypeEnum
strike:
name: strike
description: Specifies the strike of the option
range: OptionStrike
attributes:
buyerSeller:
name: buyerSeller
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: OptionPayout
domain_of:
- OptionPayout
range: BuyerSeller
required: true
feature:
name: feature
description: The option feature, such as quanto, Asian, barrier, knock.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: OptionPayout
domain_of:
- OptionPayout
range: OptionFeature
observationTerms:
name: observationTerms
description: 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.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: OptionPayout
domain_of:
- OptionPayout
- PerformancePayout
- AveragingStrikeFeature
range: ObservationTerms
schedule:
name: schedule
description: 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.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: OptionPayout
domain_of:
- TriggerEvent
- CommodityPayout
- AveragingPeriod
- OptionPayout
- SettlementPayout
- FixedPricePayout
range: CalculationSchedule
multivalued: false
inlined: true
inlined_as_list: true
delivery:
name: delivery
description: Contains the information relative to the delivery of the asset.
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:CommodityPayout.delivery
rank: 1000
owner: OptionPayout
domain_of:
- CommodityPayout
- OptionPayout
- SettlementPayout
range: AssetDeliveryInformation
underlier:
name: underlier
description: The financial product underlying the option, which can be of any
type including an Asset, Basket, Index or a NonTransferableProduct.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: OptionPayout
domain_of:
- CorporateAction
- CommodityPayout
- OptionPayout
- PerformancePayout
- PortfolioReturnTerms
- SettlementPayout
- AssetPayout
range: Underlier
required: true
any_of:
- range: Observable
- range: Product
optionType:
name: optionType
description: 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.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: OptionPayout
domain_of:
- ListedDerivative
- OptionPayout
range: OptionTypeEnum
exerciseTerms:
name: exerciseTerms
description: 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).
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: OptionPayout
domain_of:
- OptionPayout
- CancelableProvision
- ExtendibleProvision
- OptionalEarlyTermination
range: ExerciseTerms
required: true
strike:
name: strike
description: Specifies the strike of the option
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: OptionPayout
domain_of:
- ListedDerivative
- OptionPayout
range: OptionStrike
payerReceiver:
name: payerReceiver
description: Canonical representation of the payer and receiver parties applicable
to each payout leg.
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:CalculateTransferInstruction.payerReceiver
rank: 1000
owner: OptionPayout
domain_of:
- CalculateTransferInstruction
- TransferBase
- CollateralBalance
- FeaturePayment
- AssetFlow
- PayoutBase
- PrincipalPayment
- PortfolioReturnTerms
- PassThroughItem
range: PayerReceiver
required: true
priceQuantity:
name: priceQuantity
description: 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).
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: OptionPayout
domain_of:
- ExecutionInstruction
- IndexTransitionInstruction
- PositionBase
- PayoutBase
- TradeLot
range: ResolvablePriceQuantity
required: false
multivalued: false
inlined: true
inlined_as_list: true
principalPayment:
name: principalPayment
description: The specification of the principal exchange. Optional as only applicable
in the case of cross-currency or zero-coupon swaps with a final payment.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: OptionPayout
domain_of:
- PayoutBase
range: PrincipalPayments
settlementTerms:
name: settlementTerms
description: 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.
from_schema: https://w3id.org/lmodel/common-domain-model
rank: 1000
owner: OptionPayout
domain_of:
- EquitySwapMasterConfirmation2018
- PayoutBase
range: SettlementTerms
required: false