Skip to content

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

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

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