Skip to content

Class: EconomicTerms

_ This class represents the full set of price-forming features associated with a contractual product: the payout component, the notional/quantity, the effective and termination date and the date adjustment provisions when applying uniformily across the payout components. This class also includes the legal provisions which have valuation implications: cancelable provision, extendible provision, early termination provision and extraordinary events specification._

URI: common_domain_model:EconomicTerms

 classDiagram
    class EconomicTerms
    click EconomicTerms href "../EconomicTerms/"
      EconomicTerms : calculationAgent





        EconomicTerms --> "0..1" CalculationAgent : calculationAgent
        click CalculationAgent href "../CalculationAgent/"



      EconomicTerms : collateral





        EconomicTerms --> "0..1" Collateral : collateral
        click Collateral href "../Collateral/"



      EconomicTerms : dateAdjustments





        EconomicTerms --> "0..1" BusinessDayAdjustments : dateAdjustments
        click BusinessDayAdjustments href "../BusinessDayAdjustments/"



      EconomicTerms : effectiveDate





        EconomicTerms --> "0..1" AdjustableOrRelativeDate : effectiveDate
        click AdjustableOrRelativeDate href "../AdjustableOrRelativeDate/"



      EconomicTerms : effectiveTime





        EconomicTerms --> "0..1" DirectOrRelativeTime : effectiveTime
        click DirectOrRelativeTime href "../DirectOrRelativeTime/"



      EconomicTerms : nonStandardisedTerms

      EconomicTerms : payout





        EconomicTerms --> "1..*" Payout : payout
        click Payout href "../Payout/"



      EconomicTerms : terminationDate





        EconomicTerms --> "0..1" AdjustableOrRelativeDate : terminationDate
        click AdjustableOrRelativeDate href "../AdjustableOrRelativeDate/"



      EconomicTerms : terminationProvision





        EconomicTerms --> "0..1" TerminationProvision : terminationProvision
        click TerminationProvision href "../TerminationProvision/"



      EconomicTerms : terminationTime





        EconomicTerms --> "0..1" DirectOrRelativeTime : terminationTime
        click DirectOrRelativeTime href "../DirectOrRelativeTime/"



Slots

Name Cardinality and Range Description Inheritance
effectiveDate 0..1
AdjustableOrRelativeDate
The first day of the terms of the trade direct
effectiveTime 0..1
DirectOrRelativeTime
The time and zone of the first day of the terms of the trade direct
terminationDate 0..1
AdjustableOrRelativeDate
The last day of the terms of the trade direct
terminationTime 0..1
DirectOrRelativeTime
The time and zone of the last day of the terms of the trade direct
dateAdjustments 0..1
BusinessDayAdjustments
The business day adjustment convention when it applies across all the payout ... direct
payout 1..*
Payout or 
AssetPayout or 
CommodityPayout or 
CreditDefaultPayout or 
FixedPricePayout or 
InterestRatePayout or 
OptionPayout or 
PerformancePayout or 
SettlementPayout
The payout specifies the future cashflow computation methodology which charac... direct
terminationProvision 0..1
TerminationProvision
Contains optional provisions pertaining to the termination characteristics of... direct
calculationAgent 0..1
CalculationAgent
The ISDA calculation agent responsible for performing duties as defined in th... direct
nonStandardisedTerms 0..1
Boolean
Specifies, when boolean value is True, that additional economic terms exist t... direct
collateral 0..1
Collateral
Represents the collateral obligations of a party direct

Usages

used by used in type used
TransferableProduct economicTerms range EconomicTerms
NonTransferableProduct economicTerms range EconomicTerms

In Subsets

Comments

  • Rosetta condition: ReturnType_Total_Requires_Dividends — if payout -> PerformancePayout -> returnTerms -> priceReturnTerms -> returnType all = ReturnTypeEnum -> Total then payout -> PerformancePayout -> returnTerms -> dividendReturnTerms exists
  • Rosetta condition: LastRegularPaymentDate — if payout -> InterestRatePayout -> paymentDates -> lastRegularPaymentDate exists and payout -> InterestRatePayout -> stubPeriod -> finalStub exists then payout -> InterestRatePayout count = 2
  • Rosetta condition: PayRelativeTo — if payout -> InterestRatePayout count = 2 and payout -> InterestRatePayout -> paymentDates exists then payout -> InterestRatePayout -> paymentDates -> payRelativeTo exists
  • Rosetta condition: PaymentDatesAdjustments — if payout -> InterestRatePayout count = 2 and payout -> InterestRatePayout -> paymentDates exists then payout -> InterestRatePayout -> paymentDates -> paymentDatesAdjustments exists
  • Rosetta condition: PaymentFrequency — if payout -> InterestRatePayout count = 2 and payout -> InterestRatePayout -> paymentDates exists then payout -> InterestRatePayout -> paymentDates -> paymentFrequency exists
  • Rosetta condition: Quantity — if payout -> OptionPayout exists then payout -> OptionPayout -> priceQuantity exists or payout -> OptionPayout -> underlier -> Product ->> economicTerms -> payout -> InterestRatePayout count = 2
  • Rosetta condition: DayCountFraction — if payout -> InterestRatePayout count = 2 then payout -> InterestRatePayout -> dayCountFraction exists
  • Rosetta condition: PaymentDates — if payout -> InterestRatePayout count = 2 then payout -> InterestRatePayout -> dayCountFraction exists
  • Rosetta condition: MarketPrice — if payout -> CreditDefaultPayout -> generalTerms -> indexReferenceInformation is absent then payout -> CreditDefaultPayout -> transactedPrice -> marketFixedRate is absent and payout -> CreditDefaultPayout -> transactedPrice -> marketPrice is absent
  • Rosetta condition: NotionalResetOnPerformancePayout — payout -> CreditDefaultPayout -> priceQuantity -> reset is absent and payout -> AssetPayout -> priceQuantity -> reset is absent and payout -> CommodityPayout -> priceQuantity -> reset is absent and payout -> FixedPricePayout -> priceQuantity -> reset is absent and payout -> SettlementPayout -> priceQuantity -> reset is absent and payout -> OptionPayout -> priceQuantity -> reset is absent
  • Rosetta condition: NotionalResetInterestRatePayoutExists — if payout -> PerformancePayout -> priceQuantity -> reset contains True then payout -> InterestRatePayout exists
  • Rosetta condition: FpML_cd_26_28 — // Cashflow is no longer part of the product so this condition cannot be tested at the economic terms level. // Consider adding a generic validation at the trade state level that any cashflow must be between effective and termination dates. True
  • Rosetta condition: FpML_cd_27 — // Cashflow is no longer part of the product so this condition cannot be tested at the economic terms level. // Consider adding a generic validation at the trade state level that any cashflow must be between effective and termination dates. True
  • Rosetta condition: FpML_cd_30 — if payout -> InterestRatePayout -> paymentDates -> lastRegularPaymentDate exists and terminationDate exists then payout -> InterestRatePayout -> paymentDates -> lastRegularPaymentDate all < terminationDate -> adjustableDate -> unadjustedDate or payout -> InterestRatePayout -> paymentDates -> lastRegularPaymentDate all < terminationDate -> adjustableDate -> adjustedDate
  • Rosetta condition: IndependentCalculationAgent — if calculationAgent -> calculationAgentParty exists then calculationAgent -> calculationAgentParty = AncillaryRoleEnum -> CalculationAgentIndependent

Identifier and Mapping Information

Schema Source

Mappings

Mapping Type Mapped Value
self common_domain_model:EconomicTerms
native common_domain_model:EconomicTerms

LinkML Source

Direct

name: EconomicTerms
description: ' This class represents the full set of price-forming features associated
  with a contractual product: the payout component, the notional/quantity, the effective
  and termination date and the date adjustment provisions when applying uniformily
  across the payout components. This class also includes the legal provisions which
  have valuation implications: cancelable provision, extendible provision, early termination
  provision and extraordinary events specification.'
comments:
- 'Rosetta condition: ReturnType_Total_Requires_Dividends  if payout -> PerformancePayout
  -> returnTerms -> priceReturnTerms -> returnType all = ReturnTypeEnum -> Total then
  payout -> PerformancePayout -> returnTerms -> dividendReturnTerms exists'
- 'Rosetta condition: LastRegularPaymentDate  if payout -> InterestRatePayout ->
  paymentDates -> lastRegularPaymentDate exists and payout -> InterestRatePayout ->
  stubPeriod -> finalStub exists then payout -> InterestRatePayout count = 2'
- 'Rosetta condition: PayRelativeTo  if payout -> InterestRatePayout count = 2 and
  payout -> InterestRatePayout -> paymentDates exists then payout -> InterestRatePayout
  -> paymentDates -> payRelativeTo exists'
- 'Rosetta condition: PaymentDatesAdjustments  if payout -> InterestRatePayout count
  = 2 and payout -> InterestRatePayout -> paymentDates exists then payout -> InterestRatePayout
  -> paymentDates -> paymentDatesAdjustments exists'
- 'Rosetta condition: PaymentFrequency  if payout -> InterestRatePayout count = 2
  and payout -> InterestRatePayout -> paymentDates exists then payout -> InterestRatePayout
  -> paymentDates -> paymentFrequency exists'
- 'Rosetta condition: Quantity  if payout -> OptionPayout exists then payout -> OptionPayout
  -> priceQuantity exists or payout -> OptionPayout -> underlier -> Product ->> economicTerms
  -> payout -> InterestRatePayout count = 2'
- 'Rosetta condition: DayCountFraction  if payout -> InterestRatePayout count = 2
  then payout -> InterestRatePayout -> dayCountFraction exists'
- 'Rosetta condition: PaymentDates  if payout -> InterestRatePayout count = 2 then
  payout -> InterestRatePayout -> dayCountFraction exists'
- 'Rosetta condition: MarketPrice  if payout -> CreditDefaultPayout -> generalTerms
  -> indexReferenceInformation is absent then payout -> CreditDefaultPayout -> transactedPrice
  -> marketFixedRate is absent and payout -> CreditDefaultPayout -> transactedPrice
  -> marketPrice is absent'
- 'Rosetta condition: NotionalResetOnPerformancePayout  payout -> CreditDefaultPayout
  -> priceQuantity -> reset is absent and payout -> AssetPayout -> priceQuantity ->
  reset is absent and payout -> CommodityPayout -> priceQuantity -> reset is absent
  and payout -> FixedPricePayout -> priceQuantity -> reset is absent and payout ->
  SettlementPayout -> priceQuantity -> reset is absent and payout -> OptionPayout
  -> priceQuantity -> reset is absent'
- 'Rosetta condition: NotionalResetInterestRatePayoutExists  if payout -> PerformancePayout
  -> priceQuantity -> reset contains True then payout -> InterestRatePayout exists'
- 'Rosetta condition: FpML_cd_26_28  // Cashflow is no longer part of the product
  so this condition cannot be tested at the economic terms level. // Consider adding
  a generic validation at the trade state level that any cashflow must be between
  effective and termination dates. True'
- 'Rosetta condition: FpML_cd_27  // Cashflow is no longer part of the product so
  this condition cannot be tested at the economic terms level. // Consider adding
  a generic validation at the trade state level that any cashflow must be between
  effective and termination dates. True'
- 'Rosetta condition: FpML_cd_30  if payout -> InterestRatePayout -> paymentDates
  -> lastRegularPaymentDate exists and terminationDate exists then payout -> InterestRatePayout
  -> paymentDates -> lastRegularPaymentDate all < terminationDate -> adjustableDate
  -> unadjustedDate or payout -> InterestRatePayout -> paymentDates -> lastRegularPaymentDate
  all < terminationDate -> adjustableDate -> adjustedDate'
- 'Rosetta condition: IndependentCalculationAgent  if calculationAgent -> calculationAgentParty
  exists then calculationAgent -> calculationAgentParty = AncillaryRoleEnum -> CalculationAgentIndependent'
in_subset:
- cdm_product_template
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- effectiveDate
- effectiveTime
- terminationDate
- terminationTime
- dateAdjustments
- payout
- terminationProvision
- calculationAgent
- nonStandardisedTerms
- collateral
slot_usage:
  effectiveDate:
    name: effectiveDate
    description: The first day of the terms of the trade. This day may be subject
      to adjustment in accordance with a business day convention.
    range: AdjustableOrRelativeDate
  effectiveTime:
    name: effectiveTime
    description: The time and zone of the first day of the terms of the trade. It
      can also be specified in relation to another time.
    range: DirectOrRelativeTime
  dateAdjustments:
    name: dateAdjustments
    description: The business day adjustment convention when it applies across all
      the payout components. This specification of the business day convention and
      financial business centers is used for adjusting any calculation period date
      if it would otherwise fall on a day that is not a business day in the specified
      business center.
  payout:
    name: payout
    description: The payout specifies the future cashflow computation methodology
      which characterizes a financial product.
  collateral:
    name: collateral
    description: Represents the collateral obligations of a party.

Induced

name: EconomicTerms
description: ' This class represents the full set of price-forming features associated
  with a contractual product: the payout component, the notional/quantity, the effective
  and termination date and the date adjustment provisions when applying uniformily
  across the payout components. This class also includes the legal provisions which
  have valuation implications: cancelable provision, extendible provision, early termination
  provision and extraordinary events specification.'
comments:
- 'Rosetta condition: ReturnType_Total_Requires_Dividends  if payout -> PerformancePayout
  -> returnTerms -> priceReturnTerms -> returnType all = ReturnTypeEnum -> Total then
  payout -> PerformancePayout -> returnTerms -> dividendReturnTerms exists'
- 'Rosetta condition: LastRegularPaymentDate  if payout -> InterestRatePayout ->
  paymentDates -> lastRegularPaymentDate exists and payout -> InterestRatePayout ->
  stubPeriod -> finalStub exists then payout -> InterestRatePayout count = 2'
- 'Rosetta condition: PayRelativeTo  if payout -> InterestRatePayout count = 2 and
  payout -> InterestRatePayout -> paymentDates exists then payout -> InterestRatePayout
  -> paymentDates -> payRelativeTo exists'
- 'Rosetta condition: PaymentDatesAdjustments  if payout -> InterestRatePayout count
  = 2 and payout -> InterestRatePayout -> paymentDates exists then payout -> InterestRatePayout
  -> paymentDates -> paymentDatesAdjustments exists'
- 'Rosetta condition: PaymentFrequency  if payout -> InterestRatePayout count = 2
  and payout -> InterestRatePayout -> paymentDates exists then payout -> InterestRatePayout
  -> paymentDates -> paymentFrequency exists'
- 'Rosetta condition: Quantity  if payout -> OptionPayout exists then payout -> OptionPayout
  -> priceQuantity exists or payout -> OptionPayout -> underlier -> Product ->> economicTerms
  -> payout -> InterestRatePayout count = 2'
- 'Rosetta condition: DayCountFraction  if payout -> InterestRatePayout count = 2
  then payout -> InterestRatePayout -> dayCountFraction exists'
- 'Rosetta condition: PaymentDates  if payout -> InterestRatePayout count = 2 then
  payout -> InterestRatePayout -> dayCountFraction exists'
- 'Rosetta condition: MarketPrice  if payout -> CreditDefaultPayout -> generalTerms
  -> indexReferenceInformation is absent then payout -> CreditDefaultPayout -> transactedPrice
  -> marketFixedRate is absent and payout -> CreditDefaultPayout -> transactedPrice
  -> marketPrice is absent'
- 'Rosetta condition: NotionalResetOnPerformancePayout  payout -> CreditDefaultPayout
  -> priceQuantity -> reset is absent and payout -> AssetPayout -> priceQuantity ->
  reset is absent and payout -> CommodityPayout -> priceQuantity -> reset is absent
  and payout -> FixedPricePayout -> priceQuantity -> reset is absent and payout ->
  SettlementPayout -> priceQuantity -> reset is absent and payout -> OptionPayout
  -> priceQuantity -> reset is absent'
- 'Rosetta condition: NotionalResetInterestRatePayoutExists  if payout -> PerformancePayout
  -> priceQuantity -> reset contains True then payout -> InterestRatePayout exists'
- 'Rosetta condition: FpML_cd_26_28  // Cashflow is no longer part of the product
  so this condition cannot be tested at the economic terms level. // Consider adding
  a generic validation at the trade state level that any cashflow must be between
  effective and termination dates. True'
- 'Rosetta condition: FpML_cd_27  // Cashflow is no longer part of the product so
  this condition cannot be tested at the economic terms level. // Consider adding
  a generic validation at the trade state level that any cashflow must be between
  effective and termination dates. True'
- 'Rosetta condition: FpML_cd_30  if payout -> InterestRatePayout -> paymentDates
  -> lastRegularPaymentDate exists and terminationDate exists then payout -> InterestRatePayout
  -> paymentDates -> lastRegularPaymentDate all < terminationDate -> adjustableDate
  -> unadjustedDate or payout -> InterestRatePayout -> paymentDates -> lastRegularPaymentDate
  all < terminationDate -> adjustableDate -> adjustedDate'
- 'Rosetta condition: IndependentCalculationAgent  if calculationAgent -> calculationAgentParty
  exists then calculationAgent -> calculationAgentParty = AncillaryRoleEnum -> CalculationAgentIndependent'
in_subset:
- cdm_product_template
from_schema: https://w3id.org/lmodel/common-domain-model
slot_usage:
  effectiveDate:
    name: effectiveDate
    description: The first day of the terms of the trade. This day may be subject
      to adjustment in accordance with a business day convention.
    range: AdjustableOrRelativeDate
  effectiveTime:
    name: effectiveTime
    description: The time and zone of the first day of the terms of the trade. It
      can also be specified in relation to another time.
    range: DirectOrRelativeTime
  dateAdjustments:
    name: dateAdjustments
    description: The business day adjustment convention when it applies across all
      the payout components. This specification of the business day convention and
      financial business centers is used for adjusting any calculation period date
      if it would otherwise fall on a day that is not a business day in the specified
      business center.
  payout:
    name: payout
    description: The payout specifies the future cashflow computation methodology
      which characterizes a financial product.
  collateral:
    name: collateral
    description: Represents the collateral obligations of a party.
attributes:
  effectiveDate:
    name: effectiveDate
    description: The first day of the terms of the trade. This day may be subject
      to adjustment in accordance with a business day convention.
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:CodeValue.effectiveDate
    rank: 1000
    owner: EconomicTerms
    domain_of:
    - CodeValue
    - CounterpartyPositionBusinessEvent
    - IndexTransitionInstruction
    - StockSplitInstruction
    - ClosedState
    - EventInstruction
    - LegalAgreementBase
    - MinimumTransferAmountAmendment
    - TerminationCurrencyAmendment
    - PriceQuantity
    - FallbackRateParameters
    - CalculationPeriodDates
    - EconomicTerms
    - CancelableProvision
    range: AdjustableOrRelativeDate
  effectiveTime:
    name: effectiveTime
    description: The time and zone of the first day of the terms of the trade. It
      can also be specified in relation to another time.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: EconomicTerms
    domain_of:
    - EventInstruction
    - EconomicTerms
    range: DirectOrRelativeTime
  terminationDate:
    name: terminationDate
    description: The last day of the terms of the trade. This date may be subject
      to adjustments in accordance with the business day convention. It can also be
      specified in relation to another scheduled date (e.g. the last payment date).
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:CalculationPeriodDates.terminationDate
    rank: 1000
    owner: EconomicTerms
    domain_of:
    - CalculationPeriodDates
    - EconomicTerms
    range: AdjustableOrRelativeDate
  terminationTime:
    name: terminationTime
    description: The time and zone of the last day of the terms of the trade. It can
      also be specified in relation to another time.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: EconomicTerms
    domain_of:
    - EconomicTerms
    range: DirectOrRelativeTime
  dateAdjustments:
    name: dateAdjustments
    description: The business day adjustment convention when it applies across all
      the payout components. This specification of the business day convention and
      financial business centers is used for adjusting any calculation period date
      if it would otherwise fall on a day that is not a business day in the specified
      business center.
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:AdjustableDate.dateAdjustments
    rank: 1000
    owner: EconomicTerms
    domain_of:
    - AdjustableDate
    - AdjustableDates
    - AdjustableOrAdjustedDate
    - AdjustableOrAdjustedOrRelativeDate
    - DividendPeriod
    - ObservationSchedule
    - EconomicTerms
    range: BusinessDayAdjustments
  payout:
    name: payout
    annotations:
      metadata_reference:
        tag: metadata_reference
        value: true
    description: The payout specifies the future cashflow computation methodology
      which characterizes a financial product.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: EconomicTerms
    domain_of:
    - ResetInstruction
    - CalculateTransferInstruction
    - EconomicTerms
    range: Payout
    required: true
    multivalued: true
    inlined: true
    inlined_as_list: true
    any_of:
    - range: AssetPayout
    - range: CommodityPayout
    - range: CreditDefaultPayout
    - range: FixedPricePayout
    - range: InterestRatePayout
    - range: OptionPayout
    - range: PerformancePayout
    - range: SettlementPayout
  terminationProvision:
    name: terminationProvision
    description: Contains optional provisions pertaining to the termination characteristics
      of a contract.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: EconomicTerms
    domain_of:
    - EconomicTerms
    range: TerminationProvision
  calculationAgent:
    name: calculationAgent
    description: The ISDA calculation agent responsible for performing duties as defined
      in the applicable product definitions.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: EconomicTerms
    domain_of:
    - EconomicTerms
    - MandatoryEarlyTermination
    - OptionalEarlyTermination
    range: CalculationAgent
  nonStandardisedTerms:
    name: nonStandardisedTerms
    description: Specifies, when boolean value is True, that additional economic terms
      exist that have not been included in the product representation.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: EconomicTerms
    domain_of:
    - EconomicTerms
    range: boolean
  collateral:
    name: collateral
    description: Represents the collateral obligations of a party.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: EconomicTerms
    domain_of:
    - ExecutionInstruction
    - Trade
    - ContractBase
    - AvailableInventoryRecord
    - GlobalMasterSecuritiesLendingAgreement
    - EconomicTerms
    range: Collateral