Skip to content

Class: Trade

Defines the output of a financial transaction between parties - a Business Event. A Trade impacts the financial position (i.e. the balance sheet) of involved parties.

URI: common_domain_model:Trade

 classDiagram
    class Trade
    click Trade href "../Trade/"
      TradableProduct <|-- Trade
        click TradableProduct href "../TradableProduct/"
      
      Trade : adjustment
        
          
    
        
        
        Trade --> "0..1" NotionalAdjustmentEnum : adjustment
        click NotionalAdjustmentEnum href "../NotionalAdjustmentEnum/"
    

        
      Trade : ancillaryParty
        
          
    
        
        
        Trade --> "*" AncillaryParty : ancillaryParty
        click AncillaryParty href "../AncillaryParty/"
    

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

        
      Trade : contractDetails
        
          
    
        
        
        Trade --> "0..1" ContractDetails : contractDetails
        click ContractDetails href "../ContractDetails/"
    

        
      Trade : counterparty
        
          
    
        
        
        Trade --> "1..*" Counterparty : counterparty
        click Counterparty href "../Counterparty/"
    

        
      Trade : executionDetails
        
          
    
        
        
        Trade --> "0..1" ExecutionDetails : executionDetails
        click ExecutionDetails href "../ExecutionDetails/"
    

        
      Trade : party
        
          
    
        
        
        Trade --> "*" Party : party
        click Party href "../Party/"
    

        
      Trade : partyRole
        
          
    
        
        
        Trade --> "*" PartyRole : partyRole
        click PartyRole href "../PartyRole/"
    

        
      Trade : product
        
          
    
        
        
        Trade --> "1" NonTransferableProduct : product
        click NonTransferableProduct href "../NonTransferableProduct/"
    

        
      Trade : tradeDate
        
      Trade : tradeIdentifier
        
          
    
        
        
        Trade --> "1..*" TradeIdentifier : tradeIdentifier
        click TradeIdentifier href "../TradeIdentifier/"
    

        
      Trade : tradeLot
        
          
    
        
        
        Trade --> "1..*" TradeLot : tradeLot
        click TradeLot href "../TradeLot/"
    

        
      Trade : tradeTime
        
          
    
        
        
        Trade --> "0..1" TimeZone : tradeTime
        click TimeZone href "../TimeZone/"
    

        
      
Name Cardinality and Range Description Inheritance
tradeIdentifier 1..*
TradeIdentifier
Represents the identifier(s) that uniquely identify a trade for an identity i… direct
tradeDate 1
date
Specifies the date which the trade was agreed direct
tradeTime 0..1
TimeZone
Denotes the trade time and timezone as agreed by the parties to the trade direct
party *
Party
Represents the parties to the trade direct
partyRole *
PartyRole
Represents the role each specified party takes in the trade direct
executionDetails 0..1
ExecutionDetails
Represents information specific to trades that arose from executions direct
contractDetails 0..1
ContractDetails
Represents information specific to trades involving contractual products direct
collateral 0..1
Collateral
Represents the collateral obligations of a party direct
product 1
NonTransferableProduct
The underlying product to be included in a contract or execution TradableProduct
tradeLot 1..*
TradeLot
Specifies the price, quantity and effective date of each trade lot, when the … TradableProduct
counterparty 1..*
Counterparty
Specifies the parties which are the two counterparties to the transaction TradableProduct
ancillaryParty *
AncillaryParty
Specifies the parties with ancillary roles in the transaction TradableProduct
adjustment 0..1
NotionalAdjustmentEnum
Specifies the conditions that govern the adjustment to the quantity of a prod… TradableProduct
used by used in type used
Lineage tradeReference range Trade
TradePricingReport trade range Trade
TradeState trade range Trade
AggregationParameters tradeReference range Trade
  • Rosetta condition SettlementPayout is not stated in LinkML: if SettlementPayoutOnlyExists (product -> economicTerms -> payout) then partyRole -> role contains PartyRoleEnum -> Buyer and partyRole -> role contains PartyRoleEnum -> Seller and tradeLot -> priceQuantity -> price exists
  • Rosetta condition PackageTrade is not stated in LinkML: if executionDetails -> packageReference exists then executionDetails -> packageReference -> componentId -> assignedIdentifier contains tradeIdentifier -> assignedIdentifier
  • Rosetta condition DeliverableObligationsPhysicalSettlementMatrix is not stated in LinkML: if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations exists then (product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notSubordinated exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> specifiedCurrency exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notSovereignLender exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notDomesticCurrency exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notDomesticLaw exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notContingent exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notDomesticIssuance exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> assignableLoan exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> consentRequiredLoan exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> transferable exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> maximumMaturity exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notBearer exists) and (product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> fullFaithAndCreditObLiability exists or product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> generalFundObligationLiability exists or product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> revenueObligationLiability exists)
  • Rosetta condition ObligationsPhysicalSettlementMatrix is not stated in LinkML: if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations exists then (product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations -> notSubordinated exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations -> notSovereignLender exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations -> notDomesticLaw exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations -> notDomesticIssuance exists) and (product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations -> fullFaithAndCreditObLiability exists or product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations -> generalFundObligationLiability exists or product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations -> revenueObligationLiability exists)
  • Rosetta condition CreditEventsPhysicalSettlementMatrix is not stated in LinkML: if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents exists then (product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> bankruptcy exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> obligationDefault exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> obligationAcceleration exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> repudiationMoratorium exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> governmentalIntervention exists)
  • Rosetta condition RestructuringPhysicalSettlementMatrix is not stated in LinkML: if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> restructuring exists then product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> restructuring -> multipleHolderObligation exists
  • Rosetta condition AdditionalFixedPaymentsMortgages is not stated in LinkML: if ((product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> securityType any = Debt and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> debtType -> debtEconomics -> secured -> securedType any = AssetBacked) or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum -> CDSonMBS) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> floatingAmountEvents exists then (product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> floatingAmountEvents -> additionalFixedPayments -> interestShortfallReimbursement exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> floatingAmountEvents -> additionalFixedPayments -> principalShortfallReimbursement exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> floatingAmountEvents -> additionalFixedPayments -> writedownReimbursement exists)
  • Rosetta condition FloatingAmountEventsMortgages is not stated in LinkML: if ((product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> securityType any = Debt and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> debtType -> debtEconomics -> secured -> securedType any = AssetBacked) or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum -> CDSonMBS) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> floatingAmountEvents exists then (product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> floatingAmountEvents -> failureToPayPrincipal exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> floatingAmountEvents -> writedown exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> floatingAmountEvents -> impliedWritedown exists)
  • Rosetta condition CreditEventsMortgages is not stated in LinkML: if ((product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> securityType any = Debt and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> debtType -> debtEconomics -> secured -> securedType any = AssetBacked) or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum -> CDSonMBS) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents exists then (product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> failureToPayPrincipal exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> failureToPayInterest exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> distressedRatingsDowngrade exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> maturityExtension exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> writedown exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> impliedWritedown exists)
  • Rosetta condition HedgingParty is not stated in LinkML: if partyRole -> role contains PartyRoleEnum -> HedgingParty then FilterPartyRole (partyRole, PartyRoleEnum -> HedgingParty) count <= 2
  • Rosetta condition DeterminingParty is not stated in LinkML: if partyRole -> role contains PartyRoleEnum -> DeterminingParty then FilterPartyRole (partyRole, PartyRoleEnum -> DeterminingParty) count <= 2
  • Rosetta condition BarrierDerterminationAgent is not stated in LinkML: if partyRole -> role contains PartyRoleEnum -> BarrierDeterminationAgent then FilterPartyRole (partyRole, PartyRoleEnum -> BarrierDeterminationAgent) count <= 1
  • Rosetta condition FpML_cd_1 is not stated in LinkML: if product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation exists then tradeDate < product -> economicTerms -> effectiveDate -> adjustableDate -> unadjustedDate or tradeDate < product -> economicTerms -> effectiveDate -> adjustableDate -> adjustedDate
  • Rosetta condition FpML_cd_7 is not stated in LinkML: if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation exists then product -> economicTerms -> payout as InterestRatePayout -> calculationPeriodDates -> effectiveDate -> adjustableDate -> dateAdjustments exists or tradeDate < product -> economicTerms -> effectiveDate -> adjustableDate -> adjustedDate
  • Rosetta condition FpML_cd_8 is not stated in LinkML: if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation exists then product -> economicTerms -> terminationDate -> adjustableDate -> dateAdjustments exists
  • Rosetta condition FpML_cd_11 is not stated in LinkML: if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation exists and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any = ContractualDefinitionsEnum -> ISDA2003CreditDerivatives then product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> allGuarantees exists
  • Rosetta condition FpML_cd_19 is not stated in LinkML: if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any = ContractualDefinitionsEnum -> ISDA1999CreditDerivatives then product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> creditEventNotice -> businessCenter is absent and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> restructuring -> multipleHolderObligation is absent and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> restructuring -> multipleCreditEventNotices is absent and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> allGuarantees is absent and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> indexReferenceInformation is absent and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> substitution is absent and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> modifiedEquityDelivery is absent
  • Rosetta condition FpML_cd_20 is not stated in LinkML: if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any = ContractualDefinitionsEnum -> ISDA2003CreditDerivatives then product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations -> notContingent is absent
  • Rosetta condition FpML_cd_23 is not stated in LinkML: if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation exists then product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> cashSettlementTerms exists or product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms exists
  • Rosetta condition FpML_cd_24 is not stated in LinkML: if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation exists then product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> creditEventNotice exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations exists and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referencePrice exists
  • Rosetta condition FpML_cd_25 is not stated in LinkML: if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms exists then product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> settlementCurrency exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> physicalSettlementPeriod exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> escrow exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> accruedInterest exists
  • Rosetta condition FpML_cd_32 is not stated in LinkML: if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation exists and product -> economicTerms -> payout as InterestRatePayout -> priceQuantity exists and tradeLot -> priceQuantity -> quantity -> value exists then product -> economicTerms -> payout as InterestRatePayout -> dayCountFraction exists
  • Rosetta condition ExtraordinaryEvents is not stated in LinkML: if contractDetails -> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms -> equityAdditionalTerms -> extraordinaryEvents exists then (product -> economicTerms -> payout as PerformancePayout -> returnTerms -> priceReturnTerms exists or product -> economicTerms -> payout as OptionPayout exists) and Qualify_AssetClass_Equity (product -> economicTerms)
  • Rosetta condition DisruptionEventsDeterminingParty is not stated in LinkML: if contractDetails -> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms -> equityAdditionalTerms -> extraordinaryEvents -> additionalDisruptionEvents -> determiningParty exists then ancillaryParty -> role contains AncillaryRoleEnum -> DisruptionEventsDeterminingParty and if ancillaryParty -> role contains AncillaryRoleEnum -> DisruptionEventsDeterminingParty then contractDetails -> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms -> equityAdditionalTerms -> extraordinaryEvents -> additionalDisruptionEvents -> determiningParty exists
property value
rosetta_metadata key
doc_reference ICMA GMRA namingConvention Transaction
Mapping Type Mapped Value
self common_domain_model:Trade
native common_domain_model:Trade
name: Trade
annotations:
rosetta_metadata:
tag: rosetta_metadata
value: key
doc_reference:
tag: doc_reference
value: ICMA GMRA namingConvention Transaction
description: Defines the output of a financial transaction between parties - a Business
Event. A Trade impacts the financial position (i.e. the balance sheet) of involved
parties.
comments:
- 'Rosetta condition SettlementPayout is not stated in LinkML: if SettlementPayoutOnlyExists
(product -> economicTerms -> payout) then partyRole -> role contains PartyRoleEnum
-> Buyer and partyRole -> role contains PartyRoleEnum -> Seller and tradeLot ->
priceQuantity -> price exists'
- 'Rosetta condition PackageTrade is not stated in LinkML: if executionDetails ->
packageReference exists then executionDetails -> packageReference -> componentId
-> assignedIdentifier contains tradeIdentifier -> assignedIdentifier'
- 'Rosetta condition DeliverableObligationsPhysicalSettlementMatrix is not stated
in LinkML: if (contractDetails -> documentation -> legalAgreementIdentification
-> agreementName -> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout
as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations
exists then (product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms
-> physicalSettlementTerms -> deliverableObligations -> notSubordinated exists and
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms -> deliverableObligations -> specifiedCurrency exists and
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms -> deliverableObligations -> notSovereignLender exists and
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms -> deliverableObligations -> notDomesticCurrency exists
and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms
-> physicalSettlementTerms -> deliverableObligations -> notDomesticLaw exists and
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms -> deliverableObligations -> notContingent exists and product
-> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms
-> deliverableObligations -> notDomesticIssuance exists and product -> economicTerms
-> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms ->
deliverableObligations -> assignableLoan exists and product -> economicTerms ->
payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations
-> consentRequiredLoan exists and product -> economicTerms -> payout as CreditDefaultPayout
-> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> transferable
exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms
-> physicalSettlementTerms -> deliverableObligations -> maximumMaturity exists and
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms -> deliverableObligations -> notBearer exists) and (product
-> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms
-> deliverableObligations -> fullFaithAndCreditObLiability exists or product ->
economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms
-> deliverableObligations -> generalFundObligationLiability exists or product ->
economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms
-> deliverableObligations -> revenueObligationLiability exists)'
- 'Rosetta condition ObligationsPhysicalSettlementMatrix is not stated in LinkML:
if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout
as CreditDefaultPayout -> protectionTerms -> obligations exists then (product ->
economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations
-> notSubordinated exists and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> obligations -> notSovereignLender exists and product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> obligations -> notDomesticLaw
exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> obligations -> notDomesticIssuance exists) and (product -> economicTerms -> payout
as CreditDefaultPayout -> protectionTerms -> obligations -> fullFaithAndCreditObLiability
exists or product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> obligations -> generalFundObligationLiability exists or product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> obligations -> revenueObligationLiability
exists)'
- 'Rosetta condition CreditEventsPhysicalSettlementMatrix is not stated in LinkML:
if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout
as CreditDefaultPayout -> protectionTerms -> creditEvents exists then (product ->
economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents
-> bankruptcy exists and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> creditEvents -> obligationDefault exists and product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> obligationAcceleration
exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> creditEvents -> repudiationMoratorium exists and product -> economicTerms ->
payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> governmentalIntervention
exists)'
- 'Rosetta condition RestructuringPhysicalSettlementMatrix is not stated in LinkML:
if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout
as CreditDefaultPayout -> protectionTerms -> creditEvents -> restructuring exists
then product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> creditEvents -> restructuring -> multipleHolderObligation exists'
- 'Rosetta condition AdditionalFixedPaymentsMortgages is not stated in LinkML: if
((product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation
-> referenceObligation -> security -> securityType any = Debt and product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation
-> security -> debtType -> debtEconomics -> secured -> securedType any = AssetBacked)
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum
-> CDSonMBS) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> floatingAmountEvents exists then (product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> floatingAmountEvents -> additionalFixedPayments -> interestShortfallReimbursement
exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> floatingAmountEvents -> additionalFixedPayments -> principalShortfallReimbursement
exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> floatingAmountEvents -> additionalFixedPayments -> writedownReimbursement exists)'
- 'Rosetta condition FloatingAmountEventsMortgages is not stated in LinkML: if ((product
-> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation
-> referenceObligation -> security -> securityType any = Debt and product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation
-> security -> debtType -> debtEconomics -> secured -> securedType any = AssetBacked)
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum
-> CDSonMBS) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> floatingAmountEvents exists then (product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> floatingAmountEvents -> failureToPayPrincipal exists and product
-> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> floatingAmountEvents
-> writedown exists and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> floatingAmountEvents -> impliedWritedown exists)'
- 'Rosetta condition CreditEventsMortgages is not stated in LinkML: if ((product ->
economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation
-> referenceObligation -> security -> securityType any = Debt and product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation
-> security -> debtType -> debtEconomics -> secured -> securedType any = AssetBacked)
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum
-> CDSonMBS) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> creditEvents exists then (product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> creditEvents -> failureToPayPrincipal exists and product ->
economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents
-> failureToPayInterest exists and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> creditEvents -> distressedRatingsDowngrade exists and product
-> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents
-> maturityExtension exists and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> creditEvents -> writedown exists and product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> impliedWritedown
exists)'
- 'Rosetta condition HedgingParty is not stated in LinkML: if partyRole -> role contains
PartyRoleEnum -> HedgingParty then FilterPartyRole (partyRole, PartyRoleEnum ->
HedgingParty) count <= 2'
- 'Rosetta condition DeterminingParty is not stated in LinkML: if partyRole -> role
contains PartyRoleEnum -> DeterminingParty then FilterPartyRole (partyRole, PartyRoleEnum
-> DeterminingParty) count <= 2'
- 'Rosetta condition BarrierDerterminationAgent is not stated in LinkML: if partyRole
-> role contains PartyRoleEnum -> BarrierDeterminationAgent then FilterPartyRole
(partyRole, PartyRoleEnum -> BarrierDeterminationAgent) count <= 1'
- 'Rosetta condition FpML_cd_1 is not stated in LinkML: if product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> referenceInformation exists
then tradeDate < product -> economicTerms -> effectiveDate -> adjustableDate ->
unadjustedDate or tradeDate < product -> economicTerms -> effectiveDate -> adjustableDate
-> adjustedDate'
- 'Rosetta condition FpML_cd_7 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists then product -> economicTerms ->
payout as InterestRatePayout -> calculationPeriodDates -> effectiveDate -> adjustableDate
-> dateAdjustments exists or tradeDate < product -> economicTerms -> effectiveDate
-> adjustableDate -> adjustedDate'
- 'Rosetta condition FpML_cd_8 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists then product -> economicTerms ->
terminationDate -> adjustableDate -> dateAdjustments exists'
- 'Rosetta condition FpML_cd_11 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists and contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any
= ContractualDefinitionsEnum -> ISDA2003CreditDerivatives then product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> allGuarantees
exists'
- 'Rosetta condition FpML_cd_19 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any
= ContractualDefinitionsEnum -> ISDA1999CreditDerivatives then product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> creditEventNotice
-> businessCenter is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> creditEvents -> restructuring -> multipleHolderObligation
is absent and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> creditEvents -> restructuring -> multipleCreditEventNotices is absent and product
-> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation
-> allGuarantees is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> indexReferenceInformation is absent and product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> substitution is absent and product
-> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> modifiedEquityDelivery
is absent'
- 'Rosetta condition FpML_cd_20 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any
= ContractualDefinitionsEnum -> ISDA2003CreditDerivatives then product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> obligations -> notContingent
is absent'
- 'Rosetta condition FpML_cd_23 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists then product -> economicTerms ->
payout as CreditDefaultPayout -> settlementTerms -> cashSettlementTerms exists or
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms exists'
- 'Rosetta condition FpML_cd_24 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists then product -> economicTerms ->
payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> creditEventNotice
exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> obligations exists and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation -> referencePrice exists'
- 'Rosetta condition FpML_cd_25 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists and product -> economicTerms -> payout
as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms exists then
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
settlementCurrency exists and product -> economicTerms -> payout as CreditDefaultPayout
-> settlementTerms -> physicalSettlementTerms -> physicalSettlementPeriod exists
and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms
-> physicalSettlementTerms -> escrow exists and product -> economicTerms -> payout
as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations
-> accruedInterest exists'
- 'Rosetta condition FpML_cd_32 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists and product -> economicTerms -> payout
as InterestRatePayout -> priceQuantity exists and tradeLot -> priceQuantity -> quantity
-> value exists then product -> economicTerms -> payout as InterestRatePayout ->
dayCountFraction exists'
- 'Rosetta condition ExtraordinaryEvents is not stated in LinkML: if contractDetails
-> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms ->
equityAdditionalTerms -> extraordinaryEvents exists then (product -> economicTerms
-> payout as PerformancePayout -> returnTerms -> priceReturnTerms exists or product
-> economicTerms -> payout as OptionPayout exists) and Qualify_AssetClass_Equity
(product -> economicTerms)'
- 'Rosetta condition DisruptionEventsDeterminingParty is not stated in LinkML: if
contractDetails -> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms
-> equityAdditionalTerms -> extraordinaryEvents -> additionalDisruptionEvents ->
determiningParty exists then ancillaryParty -> role contains AncillaryRoleEnum ->
DisruptionEventsDeterminingParty and if ancillaryParty -> role contains AncillaryRoleEnum
-> DisruptionEventsDeterminingParty then contractDetails -> documentation -> agreementTerms
-> agreement -> transactionAdditionalTerms -> equityAdditionalTerms -> extraordinaryEvents
-> additionalDisruptionEvents -> determiningParty exists'
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: TradableProduct
attributes:
tradeIdentifier:
name: tradeIdentifier
description: Represents the identifier(s) that uniquely identify a trade for an
identity issuer. A trade can include multiple identifiers, for example a trade
that is reportable to both the CFTC and ESMA, and then has an associated USI
(Unique Swap Identifier) UTI (Unique Trade Identifier).
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
domain_of:
- ExecutionInstruction
- Trade
range: TradeIdentifier
required: true
multivalued: true
tradeDate:
name: tradeDate
annotations:
rosetta_metadata:
tag: rosetta_metadata
value: id
description: Specifies the date which the trade was agreed.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
domain_of:
- ExecutionInstruction
- Trade
- CollectFloatingRateOptionInstruction
- ResetInstructionState
range: date
required: true
tradeTime:
name: tradeTime
annotations:
rosetta_metadata:
tag: rosetta_metadata
value: id
description: Denotes the trade time and timezone as agreed by the parties to the
trade.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
domain_of:
- ExecutionInstruction
- Trade
range: TimeZone
party:
name: party
description: Represents the parties to the trade. The cardinality is optional
to address the case where the trade is defined within a BusinessEvent data type,
in which case the party is specified in BusinessEvent.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
domain_of:
- AssetBase
- DebtRedemption
- MarginCallBase
- Trade
- UmbrellaAgreementParty
- UmbrellaAgreementSet
- AggregationParameters
- AvailableInventory
- CounterpartyPosition
- WorkflowStep
- WorkflowStepApproval
- AdditionalObligations
- AdditionalRepresentationElection
- CalculationAgentTerms
- CalculationCurrencyElection
- CollateralManagementAgreementElection
- ControlAgreementElections
- ControlAgreementNecEventElection
- CreditSupportDocumentElection
- CreditSupportProviderElection
- CustodianElection
- CustodianRiskElection
- ElectiveAmountElection
- FrenchLawAddendumElection
- HoldingAndUsingPostedCollateralElection
- LegacyExposureScopeElection
- LegacyIndependentAmountParty
- MinimumTransferAmountElection
- NotificationTimeElection
- PledgeeRepresentativeRider
- PostingObligationsElection
- RecalculationOfValueElection
- RegimeTerms
- SecuredPartyRightsEventElection
- SecurityInterestForObligations
- SecurityProviderRightsEventElection
- SensitivityMethodologiesPartyElection
- SinglePostingParty
- SpecifiedOrAccessConditionPartyElection
- SubstitutedRegimeElection
- SubstitutionPartyElection
- TerminationCurrencyElection
- ThresholdElection
- ValuationAgent
- ValuationCalculationDateLocationElection
- AdditionalTerminationEventElection
- AutomaticEarlyTerminationElection
- CreditEventUponMergerElection
- PartyTerminationCurrencySelection
- SpecifiedEntity
- EventsOfDefaultElection
- EligibleCollateralSpecification
range: Party
multivalued: true
partyRole:
name: partyRole
description: Represents the role each specified party takes in the trade. further
to the principal roles, payer and receiver.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
domain_of:
- AssetBase
- MarginCallBase
- PartyChangeInstruction
- Trade
- UmbrellaAgreementParty
- AvailableInventory
- AvailableInventoryRecord
- CounterpartyPosition
- EligibleCollateralSpecification
range: PartyRole
multivalued: true
executionDetails:
name: executionDetails
description: Represents information specific to trades that arose from executions.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
domain_of:
- ExecutionInstruction
- Trade
- ContractBase
range: ExecutionDetails
contractDetails:
name: contractDetails
description: Represents information specific to trades involving contractual products.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
rank: 1000
domain_of:
- Trade
- ContractBase
range: ContractDetails
collateral:
name: collateral
description: Represents the collateral obligations of a party.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
domain_of:
- ExecutionInstruction
- Trade
- AvailableInventoryRecord
- ContractBase
- GlobalMasterSecuritiesLendingAgreement
- EconomicTerms
range: Collateral
name: Trade
annotations:
rosetta_metadata:
tag: rosetta_metadata
value: key
doc_reference:
tag: doc_reference
value: ICMA GMRA namingConvention Transaction
description: Defines the output of a financial transaction between parties - a Business
Event. A Trade impacts the financial position (i.e. the balance sheet) of involved
parties.
comments:
- 'Rosetta condition SettlementPayout is not stated in LinkML: if SettlementPayoutOnlyExists
(product -> economicTerms -> payout) then partyRole -> role contains PartyRoleEnum
-> Buyer and partyRole -> role contains PartyRoleEnum -> Seller and tradeLot ->
priceQuantity -> price exists'
- 'Rosetta condition PackageTrade is not stated in LinkML: if executionDetails ->
packageReference exists then executionDetails -> packageReference -> componentId
-> assignedIdentifier contains tradeIdentifier -> assignedIdentifier'
- 'Rosetta condition DeliverableObligationsPhysicalSettlementMatrix is not stated
in LinkML: if (contractDetails -> documentation -> legalAgreementIdentification
-> agreementName -> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout
as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations
exists then (product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms
-> physicalSettlementTerms -> deliverableObligations -> notSubordinated exists and
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms -> deliverableObligations -> specifiedCurrency exists and
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms -> deliverableObligations -> notSovereignLender exists and
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms -> deliverableObligations -> notDomesticCurrency exists
and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms
-> physicalSettlementTerms -> deliverableObligations -> notDomesticLaw exists and
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms -> deliverableObligations -> notContingent exists and product
-> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms
-> deliverableObligations -> notDomesticIssuance exists and product -> economicTerms
-> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms ->
deliverableObligations -> assignableLoan exists and product -> economicTerms ->
payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations
-> consentRequiredLoan exists and product -> economicTerms -> payout as CreditDefaultPayout
-> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> transferable
exists and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms
-> physicalSettlementTerms -> deliverableObligations -> maximumMaturity exists and
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms -> deliverableObligations -> notBearer exists) and (product
-> economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms
-> deliverableObligations -> fullFaithAndCreditObLiability exists or product ->
economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms
-> deliverableObligations -> generalFundObligationLiability exists or product ->
economicTerms -> payout as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms
-> deliverableObligations -> revenueObligationLiability exists)'
- 'Rosetta condition ObligationsPhysicalSettlementMatrix is not stated in LinkML:
if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout
as CreditDefaultPayout -> protectionTerms -> obligations exists then (product ->
economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> obligations
-> notSubordinated exists and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> obligations -> notSovereignLender exists and product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> obligations -> notDomesticLaw
exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> obligations -> notDomesticIssuance exists) and (product -> economicTerms -> payout
as CreditDefaultPayout -> protectionTerms -> obligations -> fullFaithAndCreditObLiability
exists or product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> obligations -> generalFundObligationLiability exists or product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> obligations -> revenueObligationLiability
exists)'
- 'Rosetta condition CreditEventsPhysicalSettlementMatrix is not stated in LinkML:
if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout
as CreditDefaultPayout -> protectionTerms -> creditEvents exists then (product ->
economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents
-> bankruptcy exists and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> creditEvents -> obligationDefault exists and product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> obligationAcceleration
exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> creditEvents -> repudiationMoratorium exists and product -> economicTerms ->
payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> governmentalIntervention
exists)'
- 'Rosetta condition RestructuringPhysicalSettlementMatrix is not stated in LinkML:
if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix -> matrixType is absent) and product -> economicTerms -> payout
as CreditDefaultPayout -> protectionTerms -> creditEvents -> restructuring exists
then product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> creditEvents -> restructuring -> multipleHolderObligation exists'
- 'Rosetta condition AdditionalFixedPaymentsMortgages is not stated in LinkML: if
((product -> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation
-> referenceObligation -> security -> securityType any = Debt and product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation
-> security -> debtType -> debtEconomics -> secured -> securedType any = AssetBacked)
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum
-> CDSonMBS) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> floatingAmountEvents exists then (product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> floatingAmountEvents -> additionalFixedPayments -> interestShortfallReimbursement
exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> floatingAmountEvents -> additionalFixedPayments -> principalShortfallReimbursement
exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> floatingAmountEvents -> additionalFixedPayments -> writedownReimbursement exists)'
- 'Rosetta condition FloatingAmountEventsMortgages is not stated in LinkML: if ((product
-> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation
-> referenceObligation -> security -> securityType any = Debt and product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation
-> security -> debtType -> debtEconomics -> secured -> securedType any = AssetBacked)
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum
-> CDSonMBS) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> floatingAmountEvents exists then (product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> floatingAmountEvents -> failureToPayPrincipal exists and product
-> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> floatingAmountEvents
-> writedown exists and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> floatingAmountEvents -> impliedWritedown exists)'
- 'Rosetta condition CreditEventsMortgages is not stated in LinkML: if ((product ->
economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation
-> referenceObligation -> security -> securityType any = Debt and product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation
-> security -> debtType -> debtEconomics -> secured -> securedType any = AssetBacked)
or contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum
-> CDSonMBS) and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> creditEvents exists then (product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> creditEvents -> failureToPayPrincipal exists and product ->
economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents
-> failureToPayInterest exists and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> creditEvents -> distressedRatingsDowngrade exists and product
-> economicTerms -> payout as CreditDefaultPayout -> protectionTerms -> creditEvents
-> maturityExtension exists and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> creditEvents -> writedown exists and product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> impliedWritedown
exists)'
- 'Rosetta condition HedgingParty is not stated in LinkML: if partyRole -> role contains
PartyRoleEnum -> HedgingParty then FilterPartyRole (partyRole, PartyRoleEnum ->
HedgingParty) count <= 2'
- 'Rosetta condition DeterminingParty is not stated in LinkML: if partyRole -> role
contains PartyRoleEnum -> DeterminingParty then FilterPartyRole (partyRole, PartyRoleEnum
-> DeterminingParty) count <= 2'
- 'Rosetta condition BarrierDerterminationAgent is not stated in LinkML: if partyRole
-> role contains PartyRoleEnum -> BarrierDeterminationAgent then FilterPartyRole
(partyRole, PartyRoleEnum -> BarrierDeterminationAgent) count <= 1'
- 'Rosetta condition FpML_cd_1 is not stated in LinkML: if product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> referenceInformation exists
then tradeDate < product -> economicTerms -> effectiveDate -> adjustableDate ->
unadjustedDate or tradeDate < product -> economicTerms -> effectiveDate -> adjustableDate
-> adjustedDate'
- 'Rosetta condition FpML_cd_7 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists then product -> economicTerms ->
payout as InterestRatePayout -> calculationPeriodDates -> effectiveDate -> adjustableDate
-> dateAdjustments exists or tradeDate < product -> economicTerms -> effectiveDate
-> adjustableDate -> adjustedDate'
- 'Rosetta condition FpML_cd_8 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists then product -> economicTerms ->
terminationDate -> adjustableDate -> dateAdjustments exists'
- 'Rosetta condition FpML_cd_11 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists and contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any
= ContractualDefinitionsEnum -> ISDA2003CreditDerivatives then product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> referenceInformation -> allGuarantees
exists'
- 'Rosetta condition FpML_cd_19 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any
= ContractualDefinitionsEnum -> ISDA1999CreditDerivatives then product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> creditEventNotice
-> businessCenter is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> protectionTerms -> creditEvents -> restructuring -> multipleHolderObligation
is absent and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> creditEvents -> restructuring -> multipleCreditEventNotices is absent and product
-> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> referenceInformation
-> allGuarantees is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> indexReferenceInformation is absent and product -> economicTerms
-> payout as CreditDefaultPayout -> generalTerms -> substitution is absent and product
-> economicTerms -> payout as CreditDefaultPayout -> generalTerms -> modifiedEquityDelivery
is absent'
- 'Rosetta condition FpML_cd_20 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any
= ContractualDefinitionsEnum -> ISDA2003CreditDerivatives then product -> economicTerms
-> payout as CreditDefaultPayout -> protectionTerms -> obligations -> notContingent
is absent'
- 'Rosetta condition FpML_cd_23 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists then product -> economicTerms ->
payout as CreditDefaultPayout -> settlementTerms -> cashSettlementTerms exists or
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
physicalSettlementTerms exists'
- 'Rosetta condition FpML_cd_24 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists then product -> economicTerms ->
payout as CreditDefaultPayout -> protectionTerms -> creditEvents -> creditEventNotice
exists and product -> economicTerms -> payout as CreditDefaultPayout -> protectionTerms
-> obligations exists and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation -> referencePrice exists'
- 'Rosetta condition FpML_cd_25 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists and product -> economicTerms -> payout
as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms exists then
product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms ->
settlementCurrency exists and product -> economicTerms -> payout as CreditDefaultPayout
-> settlementTerms -> physicalSettlementTerms -> physicalSettlementPeriod exists
and product -> economicTerms -> payout as CreditDefaultPayout -> settlementTerms
-> physicalSettlementTerms -> escrow exists and product -> economicTerms -> payout
as CreditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations
-> accruedInterest exists'
- 'Rosetta condition FpML_cd_32 is not stated in LinkML: if contractDetails -> documentation
-> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent
and contractDetails -> documentation -> legalAgreementIdentification -> agreementName
-> contractualMatrix is absent and product -> economicTerms -> payout as CreditDefaultPayout
-> generalTerms -> referenceInformation exists and product -> economicTerms -> payout
as InterestRatePayout -> priceQuantity exists and tradeLot -> priceQuantity -> quantity
-> value exists then product -> economicTerms -> payout as InterestRatePayout ->
dayCountFraction exists'
- 'Rosetta condition ExtraordinaryEvents is not stated in LinkML: if contractDetails
-> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms ->
equityAdditionalTerms -> extraordinaryEvents exists then (product -> economicTerms
-> payout as PerformancePayout -> returnTerms -> priceReturnTerms exists or product
-> economicTerms -> payout as OptionPayout exists) and Qualify_AssetClass_Equity
(product -> economicTerms)'
- 'Rosetta condition DisruptionEventsDeterminingParty is not stated in LinkML: if
contractDetails -> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms
-> equityAdditionalTerms -> extraordinaryEvents -> additionalDisruptionEvents ->
determiningParty exists then ancillaryParty -> role contains AncillaryRoleEnum ->
DisruptionEventsDeterminingParty and if ancillaryParty -> role contains AncillaryRoleEnum
-> DisruptionEventsDeterminingParty then contractDetails -> documentation -> agreementTerms
-> agreement -> transactionAdditionalTerms -> equityAdditionalTerms -> extraordinaryEvents
-> additionalDisruptionEvents -> determiningParty exists'
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: TradableProduct
attributes:
tradeIdentifier:
name: tradeIdentifier
description: Represents the identifier(s) that uniquely identify a trade for an
identity issuer. A trade can include multiple identifiers, for example a trade
that is reportable to both the CFTC and ESMA, and then has an associated USI
(Unique Swap Identifier) UTI (Unique Trade Identifier).
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
owner: Trade
domain_of:
- ExecutionInstruction
- Trade
range: TradeIdentifier
required: true
multivalued: true
tradeDate:
name: tradeDate
annotations:
rosetta_metadata:
tag: rosetta_metadata
value: id
description: Specifies the date which the trade was agreed.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
owner: Trade
domain_of:
- ExecutionInstruction
- Trade
- CollectFloatingRateOptionInstruction
- ResetInstructionState
range: date
required: true
tradeTime:
name: tradeTime
annotations:
rosetta_metadata:
tag: rosetta_metadata
value: id
description: Denotes the trade time and timezone as agreed by the parties to the
trade.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
owner: Trade
domain_of:
- ExecutionInstruction
- Trade
range: TimeZone
party:
name: party
description: Represents the parties to the trade. The cardinality is optional
to address the case where the trade is defined within a BusinessEvent data type,
in which case the party is specified in BusinessEvent.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
owner: Trade
domain_of:
- AssetBase
- DebtRedemption
- MarginCallBase
- Trade
- UmbrellaAgreementParty
- UmbrellaAgreementSet
- AggregationParameters
- AvailableInventory
- CounterpartyPosition
- WorkflowStep
- WorkflowStepApproval
- AdditionalObligations
- AdditionalRepresentationElection
- CalculationAgentTerms
- CalculationCurrencyElection
- CollateralManagementAgreementElection
- ControlAgreementElections
- ControlAgreementNecEventElection
- CreditSupportDocumentElection
- CreditSupportProviderElection
- CustodianElection
- CustodianRiskElection
- ElectiveAmountElection
- FrenchLawAddendumElection
- HoldingAndUsingPostedCollateralElection
- LegacyExposureScopeElection
- LegacyIndependentAmountParty
- MinimumTransferAmountElection
- NotificationTimeElection
- PledgeeRepresentativeRider
- PostingObligationsElection
- RecalculationOfValueElection
- RegimeTerms
- SecuredPartyRightsEventElection
- SecurityInterestForObligations
- SecurityProviderRightsEventElection
- SensitivityMethodologiesPartyElection
- SinglePostingParty
- SpecifiedOrAccessConditionPartyElection
- SubstitutedRegimeElection
- SubstitutionPartyElection
- TerminationCurrencyElection
- ThresholdElection
- ValuationAgent
- ValuationCalculationDateLocationElection
- AdditionalTerminationEventElection
- AutomaticEarlyTerminationElection
- CreditEventUponMergerElection
- PartyTerminationCurrencySelection
- SpecifiedEntity
- EventsOfDefaultElection
- EligibleCollateralSpecification
range: Party
multivalued: true
partyRole:
name: partyRole
description: Represents the role each specified party takes in the trade. further
to the principal roles, payer and receiver.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
owner: Trade
domain_of:
- AssetBase
- MarginCallBase
- PartyChangeInstruction
- Trade
- UmbrellaAgreementParty
- AvailableInventory
- AvailableInventoryRecord
- CounterpartyPosition
- EligibleCollateralSpecification
range: PartyRole
multivalued: true
executionDetails:
name: executionDetails
description: Represents information specific to trades that arose from executions.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
owner: Trade
domain_of:
- ExecutionInstruction
- Trade
- ContractBase
range: ExecutionDetails
contractDetails:
name: contractDetails
description: Represents information specific to trades involving contractual products.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
rank: 1000
owner: Trade
domain_of:
- Trade
- ContractBase
range: ContractDetails
collateral:
name: collateral
description: Represents the collateral obligations of a party.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_event_common
owner: Trade
domain_of:
- ExecutionInstruction
- Trade
- AvailableInventoryRecord
- ContractBase
- GlobalMasterSecuritiesLendingAgreement
- EconomicTerms
range: Collateral
product:
name: product
description: The underlying product to be included in a contract or execution.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_product_template
owner: Trade
domain_of:
- ExecutionInstruction
- TermsChangeInstruction
- AggregationParameters
- PositionBase
- ExcludedProducts
- TradableProduct
range: NonTransferableProduct
required: true
tradeLot:
name: tradeLot
description: Specifies the price, quantity and effective date of each trade lot,
when the same product may be traded multiple times in different lots with the
same counterparty. In a trade increase, a new trade lot is added to the list,
with the corresponding effective date. In a trade decrease, the existing trade
lot(s) are decreased of the corresponding quantity (and an unwind fee may have
to be settled). The multiple cardinality and the ability to increase existing
trades is used for Equity Swaps in particular.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_product_template
rank: 1000
owner: Trade
domain_of:
- TradableProduct
range: TradeLot
required: true
multivalued: true
counterparty:
name: counterparty
annotations:
doc_reference:
tag: doc_reference
value: ICMA GMRA namingConvention Party
description: Specifies the parties which are the two counterparties to the transaction.
The product is agnostic to the actual parties to the transaction, with the party
references abstracted away from the product definition and replaced by the counterparty
enum (e.g. CounterpartyEnum values Party1 or Party2). The counterparty enum
can then be positioned in the product (e.g. to specify which counterparty is
the payer, receiver etc) and this counterparties attribute, which is positioned
outside of the product definition, allows the counterparty enum to be associated
with an actual party reference.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_product_template
owner: Trade
domain_of:
- ExecutionInstruction
- PartyChangeInstruction
- AgreementTerms
- ClauseLibraryClause
- ClauseLibraryClauseVariant
- EligibleCollateralSpecification
- TradableProduct
range: Counterparty
required: true
multivalued: true
minimum_cardinality: 2
maximum_cardinality: 2
ancillaryParty:
name: ancillaryParty
description: Specifies the parties with ancillary roles in the transaction. The
product is agnostic to the actual parties involved in the transaction, with
the party references abstracted away from the product definition and replaced
by the AncillaryRoleEnum. The AncillaryRoleEnum can then be positioned in the
product and this AncillaryParty type, which is positioned outside of the product
definition, allows the AncillaryRoleEnum to be associated with an actual party
reference.
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_product_template
owner: Trade
domain_of:
- AncillaryEntity
- ExecutionInstruction
- PartyChangeInstruction
- TermsChangeInstruction
- TradableProduct
range: AncillaryParty
multivalued: true
adjustment:
name: adjustment
description: 'Specifies the conditions that govern the adjustment to the quantity
of a product being traded: e.g. execution, portfolio rebalancing etc. It is
typically used in the context of Equity Swaps.'
from_schema: https://w3id.org/lmodel/common-domain-model/cdm_product_template
owner: Trade
domain_of:
- TermsChangeInstruction
- TradableProduct
range: NotionalAdjustmentEnum