cdm.base.*
-
"optional choice dateAdjustments, dateAdjustmentsReference"
"AdjustableDateAdjustableDateChoice"
-
"if adjustedDate is absent then unadjustedDate exists and dateAdjustments exists"
"AdjustableDatesAdjustedDate"
-
"if adjustedDate is absent then unadjustedDate exists and dateAdjustments exists"
"AdjustableOrAdjustedDateAdjustedDate"
-
"adjustedDate exists or relativeDate exists or unadjustedDate exists or (unadjustedDate exists and dateAdjustments exists and adjustedDate is absent)"
"AdjustableOrAdjustedOrRelativeDateAdjustedDate"
-
"required choice adjustableDate, relativeDate"
"AdjustableOrRelativeDateAdjustableOrRelativeDateChoice"
-
"required choice adjustableDates, relativeDates"
"AdjustableOrRelativeDatesAdjustableOrRelativeDatesChoice"
-
"required choice adjustableDates, relativeDates, periodicDates"
"AdjustableRelativeOrPeriodicDatesAdjustableRelativeOrPeriodicDatesChoice"
-
"required choice businessCenter, businessCentersReference, commodityBusinessCalendar"
"BusinessCentersBusinessCentersChoice"
-
"if dayOfMonth exists then dayOfMonth <= 31"
"CalculationFrequencyDom"
-
"if dayOfMonth exists then (period -> period = PeriodEnum -> M)"
"CalculationFrequencyDomTerm"
-
"if dayOfWeek exists then (period -> period = PeriodEnum -> W)"
"CalculationFrequencyDowTerm"
-
"if monthOfYear exists then monthOfYear <= 12"
"CalculationFrequencyMoy"
-
"if monthOfYear exists then (period -> period = PeriodEnum -> Y)"
"CalculationFrequencyMoyTerm"
-
"if weekOfMonth exists then weekOfMonth <= 5"
"CalculationFrequencyWom"
-
"if weekOfMonth exists then (period -> period = PeriodEnum -> M)"
"CalculationFrequencyWomTerm"
-
"if period = PeriodExtendedEnum -> M or period = PeriodExtendedEnum -> Y then rollConvention <> RollConventionEnum -> NONE and rollConvention <> RollConventionEnum -> SFE and rollConvention <> RollConventionEnum -> MON and rollConvention <> RollConventionEnum -> TUE and rollConvention <> RollConventionEnum -> WED and rollConvention <> RollConventionEnum -> THU and rollConvention <> RollConventionEnum -> FRI and rollConvention <> RollConventionEnum -> SAT and rollConvention <> RollConventionEnum -> SUN"
"CalculationPeriodFrequencyFpML_ird_57"
-
"if period = PeriodExtendedEnum -> W then rollConvention = RollConventionEnum -> NONE or rollConvention = RollConventionEnum -> SFE or rollConvention = RollConventionEnum -> MON or rollConvention = RollConventionEnum -> TUE or rollConvention = RollConventionEnum -> WED or rollConvention = RollConventionEnum -> THU or rollConvention = RollConventionEnum -> FRI or rollConvention = RollConventionEnum -> SAT or rollConvention = RollConventionEnum -> SUN"
"CalculationPeriodFrequencyFpML_ird_58"
-
"if period = PeriodExtendedEnum -> T then rollConvention = RollConventionEnum -> NONE"
"CalculationPeriodFrequencyFpML_ird_60"
-
"startDate <= endDate"
"DateRangeDatesOrdered"
-
"periodMultiplier > 0"
"FrequencyPositivePeriodMultiplier"
-
"if period = PeriodExtendedEnum -> T then periodMultiplier = 1"
"FrequencyTermPeriod"
-
"if period <> PeriodEnum -> D or periodMultiplier = 0 then dayType is absent"
"OffsetDayType"
-
"if periodMultiplier = 0 then period = PeriodEnum -> D"
"PeriodDayPeriod"
-
"lowerBound exists or upperBound exists"
"PeriodRangeAtLeastOneOf"
-
"if periodSkip exists then periodSkip > 1"
"RelativeDatesPeriodSkipGreaterThanOne"
-
"value exists or datedValue exists"
"MeasureScheduleValueExists"
-
"value exists"
"MeasureValueExists"
-
"lowerBound exists or upperBound exists"
"MoneyRangeAtLeastOneOf"
-
"value >= 0.0"
"NonNegativeQuantityNonNegativeQuantity_amount"
-
"if datedValue exists then datedValue -> value all >= 0.0"
"NonNegativeQuantityScheduleNonNegativeQuantity_datedValue"
-
"if value exists then value >= 0.0"
"NonNegativeQuantityScheduleNonNegativeQuantity_value"
-
"stepValue >= 0.0"
"NonNegativeStepStepValue"
-
"lowerBound exists or upperBound exists"
"NumberRangeAtLeastOneOf"
-
"value exists and datedValue is absent"
"QuantityAmountOnlyExists"
-
"if multiplier exists then multiplier -> value >= 0.0"
"QuantityScheduleQuantity_multiplier"
-
"unit exists"
"QuantityScheduleUnitOfAmountExists"
-
"one-of"
"UnitTypeUnitType"
-
"if version is absent then effectiveDate is absent"
"AssetPoolEffectiveDate"
-
"if securityType <> SecurityTypeEnum -> Debt then debtType is absent"
"AssetTypeBondSubType"
-
"if securityType <> SecurityTypeEnum -> Equity then equityType is absent"
"AssetTypeEquitySubType"
-
"if securityType <> SecurityTypeEnum -> Fund then fundType is absent"
"AssetTypeFundSubType"
-
"if assetType = AssetTypeEnum -> Other then otherAssetType exists"
"AssetTypeOtherAssetSubType"
-
"if assetType <> AssetTypeEnum -> Security then securityType is absent and debtType is absent and equityType is absent and fundType is absent"
"AssetTypeSecuritySubType"
-
"if issuerType <> IssuerTypeEnum -> QuasiGovernment then quasiGovernmentType is absent"
"CollateralIssuerTypeQuasiGovernmentSubType"
-
"if issuerType <> IssuerTypeEnum -> RegionalGovernment then regionalGovernmentType is absent"
"CollateralIssuerTypeRegionalGovernmentSubType"
-
"if issuerType <> IssuerTypeEnum -> SpecialPurposeVehicle then specialPurposeVehicleType is absent"
"CollateralIssuerTypeSpecialPurposeVehicleSubType"
-
"if issuerType <> IssuerTypeEnum -> SupraNational then supraNationalType is absent"
"CollateralIssuerTypeSupraNationalSubType"
-
"if taxonomySource = TaxonomySourceEnum -> EU_EMIR_EligibleCollateralAssetClass then taxonomyValue -> eu_EMIR_EligibleCollateral exists"
"CollateralTaxonomyEu_EligibleCollateralTaxonomy"
-
"if taxonomyValue -> nonEnumeratedTaxonomyValue exists then taxonomySource <> TaxonomySourceEnum -> EU_EMIR_EligibleCollateralAssetClass and taxonomySource <> TaxonomySourceEnum -> UK_EMIR_EligibleCollateralAssetClass and taxonomySource <> TaxonomySourceEnum -> US_CFTC_PR_EligibleCollateralAssetClass"
"CollateralTaxonomyTaxonomyValue"
-
"if taxonomySource = TaxonomySourceEnum -> UK_EMIR_EligibleCollateralAssetClass then taxonomyValue -> uk_EMIR_EligibleCollateral exists"
"CollateralTaxonomyUkEligibleCollateralTaxonomy"
-
"if taxonomySource = TaxonomySourceEnum -> US_CFTC_PR_EligibleCollateralAssetClass then taxonomyValue -> us_CFTC_PR_EligibleCollateral exists"
"CollateralTaxonomyUsEligibleCollateralTaxonomy"
-
"one-of"
"CollateralTaxonomyValueOneOf0"
-
"if productTaxonomy -> value -> classification count > 1 then productTaxonomy -> value -> classification -> ordinal exists"
"CommodityOrdinalExists"
-
"optional choice exchangeId, priceSource"
"CommodityProductDefinitionCommodityProductDefinitionChoice"
-
"optional choice capacityUnit, weatherUnit"
"CommodityReferenceFrameworkCommodityReferenceFrameworkChoice"
-
"if productTaxonomy exists then (productTaxonomy -> source exists and productTaxonomy -> value exists)"
"CommodityValueSource"
-
"optional choice deliveryNearby, deliveryDate"
"DeliveryDateParametersDeliveryDateParametersChoice"
-
"indexName exists or indexId exists or productIdentifier exists"
"IndexReferenceInformationIndexAttributes"
-
"if exchange is absent then relatedExchange is absent"
"ListingRelatedExchange"
-
"if priceSourceHeading exists then priceSourceLocation exists"
"PriceSourcePriceSourceHeading"
-
"if source exists then (value exists or productQualifier exists)"
"ProductTaxonomyTaxonomySource"
-
"required choice source, primaryAssetClass, secondaryAssetClass"
"ProductTaxonomyTaxonomyType"
-
"optional choice value, productQualifier"
"ProductTaxonomyTaxonomyValue"
-
"if sovereignRecourse exists then sovereignEntity = False"
"QuasiGovernmentIssuerTypeNonSovereignEntityRecourse"
-
"if economicTerms exists then securityType = SecurityTypeEnum -> Debt"
"SecurityBondEconomicTerms"
-
"if securityType <> SecurityTypeEnum -> Debt then debtType is absent"
"SecurityDebtSubType"
-
"if securityType <> SecurityTypeEnum -> Equity then equityType is absent"
"SecurityEquitySubType"
-
"if securityType <> SecurityTypeEnum -> Fund then fundType is absent"
"SecurityFundSubType"
-
"if value -> classification -> ordinal exists then DifferentOrdinalsCondition"
"TaxonomyDifferentOrdinals"
-
"name exists or classification exists"
"TaxonomyValueValueExists"
-
"optional choice fullFaithAndCreditObLiability, generalFundObligationLiability, revenueObligationLiability"
"ObligationsObligationsChoice"
-
"required choice issuerReference, issuer"
"IdentifierIssuerChoice"
-
"if locationIdentifierType exists then assignedIdentifier count = 1"
"LocationIdentifierIdentifierType"
-
"one-of"
"AncillaryEntityOneOf0"
-
"(firstName exists and surname exists) or personId exists"
"NaturalPersonNameOrIdChoice"
-
"optional choice middleName, initial"
"NaturalPersonNaturalPersonChoice"
cdm.event.*
-
"if lineage -> tradeReference -> tradableProduct -> product -> security exists then partyRole -> role contains PartyRoleEnum -> Buyer or partyRole -> role contains PartyRoleEnum -> Seller"
"AffirmationBothBuyerAndSellerPartyRolesMustExist"
-
"if summaryAmountType = RecordAmountTypeEnum -> AccountTotal then summaryTransfer -> payerReceiver -> payerAccountReference exists and summaryTransfer -> payerReceiver -> receiverAccountReference exists"
"BillingSummaryAccountTotal"
-
"if summaryAmountType = RecordAmountTypeEnum -> GrandTotal then summaryTransfer exists and summaryTransfer -> payerReceiver is absent"
"BillingSummaryGrandTotal"
-
"if summaryAmountType = RecordAmountTypeEnum -> ParentTotal then summaryTransfer -> payerReceiver exists and summaryTransfer -> payerReceiver -> payerAccountReference is absent and summaryTransfer -> payerReceiver -> receiverAccountReference is absent"
"BillingSummaryParentTotal"
-
"eventDate exists"
"BusinessEventEventDate"
-
"if collateralPositionStatus exists then collateralPositionStatus = CollateralStatusEnum -> SettledAmount or collateralPositionStatus = CollateralStatusEnum -> InTransitAmount"
"CollateralPositionCollateralPositionStatusSettledOrInTransitOnly"
-
"if lineage -> tradeReference -> tradableProduct -> product -> security exists then partyRole -> role contains PartyRoleEnum -> Buyer or partyRole -> role contains PartyRoleEnum -> Seller"
"ConfirmationBothBuyerAndSellerPartyRolesMustExist"
-
"if documentation exists then documentation -> agreementDate exists"
"ContractDetailsExecutedAgreement"
-
"if legalAgreement exists then legalAgreement -> agreementDate exists"
"ContractFormationInstructionExecutedAgreements"
-
"if executionType = ExecutionTypeEnum -> Electronic then executionVenue exists"
"ExecutionDetailsExecutionVenue"
-
"priceQuantity -> price -> priceType contains PriceTypeEnum -> InterestRate and priceQuantity -> observable -> rateOption exists and priceQuantity -> quantity is absent"
"IndexTransitionInstructionPriceQuantity"
-
"if primitiveInstruction -> split exists then primitiveInstruction -> split only exists"
"InstructionExclusiveSplitPrimitive"
-
"(if primitiveInstruction -> execution exists then before is absent) and (if before is absent then primitiveInstruction -> execution exists)"
"InstructionNewTrade"
-
"if regIMRole exists then regMarginType = RegMarginTypeEnum -> RegIM"
"MarginCallBaseRegIMRoleIMOnly"
-
"if simmIMExposure exists and scheduleGridIMExposure exists then regMarginType = RegMarginTypeEnum -> RegIM"
"MarginCallExposureExposureSimmAndScheduleIMOnly"
-
"if simmIMExposure exists and scheduleGridIMExposure exists then (overallExposure -> aggregateValue -> value = simmIMExposure -> aggregateValue -> value + scheduleGridIMExposure -> aggregateValue -> value) and (overallExposure -> aggregateValue -> unit -> currency = simmIMExposure -> aggregateValue -> unit -> currency) and (overallExposure -> aggregateValue -> unit -> currency = scheduleGridIMExposure -> aggregateValue -> unit -> currency)"
"MarginCallExposureOverallExposureSumOfSimmAndScheduleIM"
-
"if callType = CallTypeEnum -> ExpectedCall then visibilityIndicator exists"
"MarginCallInstructionTypeCallTypeExpectedVisibility"
-
"one-of"
"ObservationEventOneOf0"
-
"if observations count > 1 then averagingMethodology exists"
"ResetAveragingMethodologyExists"
-
"if transferType = ScheduledTransferEnum -> CorporateAction then corporateActionTransferType exists"
"ScheduledTransferCorporateActionTransferTypeExists"
-
"one-of"
"SettlementOriginOneOf0"
-
"if positionState = PositionStatusEnum -> Closed then closedState exists"
"StateClosedStateExists"
-
"(product exists or ancillaryParty exists or adjustment exists)"
"TermsChangeInstructionAtLeastOneOf"
-
"if ((tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> securityType any = SecurityTypeEnum -> Debt and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> debtType -> debtClass any = DebtClassEnum -> AssetBacked) or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum -> CDSonMBS) and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> floatingAmountEvents exists then (tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> floatingAmountEvents -> additionalFixedPayments -> interestShortfallReimbursement exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> floatingAmountEvents -> additionalFixedPayments -> principalShortfallReimbursement exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> floatingAmountEvents -> additionalFixedPayments -> writedownReimbursement exists)"
"TradeAdditionalFixedPaymentsMortgages"
-
"if partyRole -> role contains PartyRoleEnum -> BarrierDeterminationAgent then FilterPartyRole(partyRole, PartyRoleEnum -> BarrierDeterminationAgent) count <= 1"
"TradeBarrierDerterminationAgent"
-
"if clearedDate exists then clearedDate >= tradeDate"
"TradeClearedDate"
-
"if ((tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> securityType any = SecurityTypeEnum -> Debt and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> debtType -> debtClass any = DebtClassEnum -> AssetBacked) or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum -> CDSonMBS) and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents exists then (tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> failureToPayPrincipal exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> failureToPayInterest exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> distressedRatingsDowngrade exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> maturityExtension exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> writedown exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> impliedWritedown exists)"
"TradeCreditEventsMortgages"
-
"if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType is absent) and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents exists then (tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> bankruptcy exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> obligationDefault exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> obligationAcceleration exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> repudiationMoratorium exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> governmentalIntervention exists)"
"TradeCreditEventsPhysicalSettlementMatrix"
-
"if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType is absent) and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations exists then (tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notSubordinated exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> specifiedCurrency exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notSovereignLender exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notDomesticCurrency exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notDomesticLaw exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notContingent exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notDomesticIssuance exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> assignableLoan exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> consentRequiredLoan exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> transferable exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> maximumMaturity exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> notBearer exists) and (tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> fullFaithAndCreditObLiability exists or tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> generalFundObligationLiability exists or tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> revenueObligationLiability exists)"
"TradeDeliverableObligationsPhysicalSettlementMatrix"
-
"if partyRole -> role contains PartyRoleEnum -> DeterminingParty then FilterPartyRole(partyRole, PartyRoleEnum -> DeterminingParty) count <= 2"
"TradeDeterminingParty"
-
"if contractDetails -> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms -> equityAdditionalTerms -> extraordinaryEvents -> additionalDisruptionEvents -> determiningParty exists then tradableProduct -> ancillaryParty -> role contains AncillaryRoleEnum -> DisruptionEventsDeterminingParty and if tradableProduct -> ancillaryParty -> role contains AncillaryRoleEnum -> DisruptionEventsDeterminingParty then contractDetails -> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms -> equityAdditionalTerms -> extraordinaryEvents -> additionalDisruptionEvents -> determiningParty exists"
"TradeDisruptionEventsDeterminingParty"
-
"if contractDetails -> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms -> equityAdditionalTerms -> extraordinaryEvents exists then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> performancePayout -> returnTerms -> priceReturnTerms exists or tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> optionPayout -> underlier -> security exists"
"TradeExtraordinaryEvents"
-
"if ((tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> securityType any = SecurityTypeEnum -> Debt and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> security -> debtType -> debtClass any = DebtClassEnum -> AssetBacked) or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualTermsSupplement -> contractualTermsSupplementType contains ContractualSupplementTypeEnum -> CDSonMBS) and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> floatingAmountEvents exists then (tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> floatingAmountEvents -> failureToPayPrincipal exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> floatingAmountEvents -> writedown exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> floatingAmountEvents -> impliedWritedown exists)"
"TradeFloatingAmountEventsMortgages"
-
"if tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation exists then tradeDate < tradableProduct -> product -> contractualProduct -> economicTerms -> effectiveDate -> adjustableDate -> unadjustedDate or tradeDate < tradableProduct -> product -> contractualProduct -> economicTerms -> effectiveDate -> adjustableDate -> adjustedDate"
"TradeFpML_cd_1"
-
"if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation exists and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any = ContractualDefinitionsEnum -> ISDA2003CreditDerivatives then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation -> allGuarantees exists"
"TradeFpML_cd_11"
-
"if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any = ContractualDefinitionsEnum -> ISDA1999CreditDerivatives then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> creditEventNotice -> businessCenter is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> restructuring -> multipleHolderObligation is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> restructuring -> multipleCreditEventNotices is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation -> allGuarantees is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> indexReferenceInformation is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> substitution is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> modifiedEquityDelivery is absent"
"TradeFpML_cd_19"
-
"if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any = ContractualDefinitionsEnum -> ISDA2003CreditDerivatives then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations -> notContingent is absent"
"TradeFpML_cd_20"
-
"if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation exists then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> cashSettlementTerms exists or tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms exists"
"TradeFpML_cd_23"
-
"if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation exists then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> creditEventNotice exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation -> referencePrice exists"
"TradeFpML_cd_24"
-
"if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms exists then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> settlementCurrency exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> physicalSettlementPeriod exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> escrow exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> settlementTerms -> physicalSettlementTerms -> deliverableObligations -> accruedInterest exists"
"TradeFpML_cd_25"
-
"if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> interestRatePayout -> priceQuantity exists and tradableProduct -> tradeLot -> priceQuantity -> quantity -> value exists then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> interestRatePayout -> dayCountFraction exists"
"TradeFpML_cd_32"
-
"if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation exists then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> interestRatePayout -> calculationPeriodDates -> effectiveDate -> adjustableDate -> dateAdjustments exists or tradeDate < tradableProduct -> product -> contractualProduct -> economicTerms -> effectiveDate -> adjustableDate -> adjustedDate"
"TradeFpML_cd_7"
-
"if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> masterConfirmationType is absent and contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix is absent and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation exists then tradableProduct -> product -> contractualProduct -> economicTerms -> terminationDate -> adjustableDate -> dateAdjustments exists"
"TradeFpML_cd_8"
-
"if tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> interestRatePayout exists then FpmlIrd8(tradableProduct, account) = True"
"TradeFpML_ird_8"
-
"if partyRole -> role contains PartyRoleEnum -> HedgingParty then FilterPartyRole(partyRole, PartyRoleEnum -> HedgingParty) count <= 2"
"TradeHedgingParty"
-
"if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType is absent) and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations exists then (tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations -> notSubordinated exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations -> notSovereignLender exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations -> notDomesticLaw exists and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations -> notDomesticIssuance exists) and (tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations -> fullFaithAndCreditObLiability exists or tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations -> generalFundObligationLiability exists or tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations -> revenueObligationLiability exists)"
"TradeObligationsPhysicalSettlementMatrix"
-
"if executionDetails -> packageReference exists then executionDetails -> packageReference -> componentId -> assignedIdentifier contains tradeIdentifier -> assignedIdentifier"
"TradePackageTrade"
-
"if (contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType all <> MatrixTypeEnum -> CreditDerivativesPhysicalSettlementMatrix or contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualMatrix -> matrixType is absent) and tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> restructuring exists then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> creditEvents -> restructuring -> multipleHolderObligation exists"
"TradeRestructuringPhysicalSettlementMatrix"
-
"if tradableProduct -> product -> security exists then partyRole -> role contains PartyRoleEnum -> Buyer and partyRole -> role contains PartyRoleEnum -> Seller"
"TradeSecurityPartyRoleBuyerSeller"
-
"if tradableProduct -> product -> security exists then tradableProduct -> tradeLot -> priceQuantity -> price exists"
"TradeSecurityPrice"
-
"if tradableProduct -> product -> security exists then tradableProduct -> tradeLot only-element -> priceQuantity -> settlementTerms exists"
"TradeSettlementTerms"
-
"if observable exists then quantity -> unit -> financialUnit exists"
"TransferBaseFinancialUnitExists"
-
"one-of"
"TransferExpressionOneOf0"
-
"required choice method, source"
"ValuationValuationType"
-
"if interestRate exists then interestRate -> priceType = PriceTypeEnum -> InterestRate"
"AvailableInventoryRecordInterestRate"
-
"IsValidPartyRole( partyRole, [PartyRoleEnum -> AgentLender, PartyRoleEnum -> BeneficialOwner, PartyRoleEnum -> Custodian, PartyRoleEnum -> Lender] )"
"AvailableInventoryRecordValidPartyRole"
-
"IsValidPartyRole( partyRole, [PartyRoleEnum -> AgentLender, PartyRoleEnum -> BeneficialOwner, PartyRoleEnum -> Borrower, PartyRoleEnum -> Custodian, PartyRoleEnum -> Lender] )"
"AvailableInventoryValidPartyRole"
-
"if lineage -> portfolioStateReference is absent then positions is absent and lineage -> eventReference is absent"
"PortfolioStateInitialisation"
-
"availableInventoryRecord exists"
"SecurityLocateRequestOneSecurityMinimum"
-
"if corporateActionIntent exists then intent = EventIntentEnum -> CorporateActionAdjustment"
"EventInstructionCorporateAction"
-
"optional choice amountUtilized, utilization"
"LimitApplicableLimitApplicableChoice"
-
"required choice partyName, partyReference"
"PartyCustomisedWorkflowPartyCustomisedWorkflowChoice"
-
"required choice counterpartyPositionBusinessEvent, businessEvent"
"WorkflowStepCounterpartyPositionBusinessEventOrBusinessEventChoice"
-
"(businessEvent exists and nextEvent -> instruction is absent and rejected is absent) or (nextEvent -> instruction exists and businessEvent is absent and rejected is absent) or (rejected exists and businessEvent is absent and nextEvent is absent) or (proposedEvent exists and nextEvent is absent and rejected is absent) or (previousWorkflowStep exists and action = ActionEnum -> Cancel)"
"WorkflowStepWorkflowStepStatus"
cdm.legaldocumentation.*
-
"if agreementType <> LegalAgreementTypeEnum -> Other then otherAgreement is absent else if agreementType <> LegalAgreementTypeEnum -> MasterAgreement then masterAgreementType is absent else if agreementType <> LegalAgreementTypeEnum -> MasterConfirmation then masterConfirmationType is absent and masterConfirmationAnnexType is absent else if agreementType <> LegalAgreementTypeEnum -> Confirmation then contractualDefinitionsType is absent and contractualTermsSupplement is absent and contractualMatrix is absent"
"AgreementNameAgreementType"
-
"if agreementType = LegalAgreementTypeEnum -> CreditSupportAgreement then creditSupportAgreementType exists"
"AgreementNameCreditSupportAgreement"
-
"if creditSupportAgreementMarginType exists then creditSupportAgreementType exists"
"AgreementNameCSAMarginType"
-
"if masterConfirmationAnnexType exists then masterConfirmationType exists"
"AgreementNameMasterConfirmation"
-
"if agreementTerms -> agreement -> securityAgreementElections exists then legalAgreementIdentification -> agreementName -> agreementType = LegalAgreementTypeEnum -> SecurityAgreement else if agreementTerms -> agreement -> creditSupportAgreementElections exists then legalAgreementIdentification -> agreementName -> creditSupportAgreementType = CreditSupportAgreementTypeEnum -> CreditSupportAnnex or legalAgreementIdentification -> agreementName -> creditSupportAgreementType = CreditSupportAgreementTypeEnum -> CreditSupportDeed else if agreementTerms -> agreement -> collateralTransferAgreementElections exists then legalAgreementIdentification -> agreementName -> creditSupportAgreementType = CreditSupportAgreementTypeEnum -> CollateralTransferAgreement else if agreementTerms -> agreement -> masterAgreementSchedule exists then legalAgreementIdentification -> agreementName -> agreementType = LegalAgreementTypeEnum -> MasterAgreement"
"LegalAgreementAgreementVerification"
-
"if relatedAgreements exists and agreementDate exists then relatedAgreements -> agreementDate exists"
"LegalAgreementConsistentlyExecutedAgreements"
-
"if agreementName -> creditSupportAgreementMarginType exists then agreementName -> creditSupportAgreementType exists and vintage >= 2016"
"LegalAgreementIdentificationCSAMarginType"
-
"if isSpecified = False then legalDocument is absent"
"OtherAgreementTermsLegalDocumentNotSpecified"
-
"if isSpecified = True then legalDocument exists"
"OtherAgreementTermsLegalDocumentSpecified"
-
"optional choice string, url"
"ResourceResourceChoice"
-
"if isApplicable = True then language exists and parties exists"
"UmbrellaAgreementUmbrellaAgreementExists"
-
"one-of"
"AgreementOneOf0"
-
"if determiningParty exists then determiningParty = AncillaryRoleEnum -> DisruptionEventsDeterminingParty"
"AdditionalDisruptionEventsDisruptionEventsDeterminingParty"
-
"if initialStockLoanRate exists then initialStockLoanRate >= 0 and initialStockLoanRate <= 1"
"AdditionalDisruptionEventsInitialStockLoanRate"
-
"if maximumStockLoanRate exists then maximumStockLoanRate >= 0 and maximumStockLoanRate <= 1"
"AdditionalDisruptionEventsMaximumStockLoanRate"
-
"optional choice terms, subcomponents"
"ClauseChoice0"
-
"required choice additionalDisruptionEvents, failureToDeliver"
"ExtraordinaryEventsExtraordinaryEventsChoice"
-
"if name exists then value exists"
"MasterAgreementVariableSetNameMustExist"
-
"if value exists then name exists"
"MasterAgreementVariableSetValueMustExist"
-
"if variableSet exists then name is absent and value is absent"
"MasterAgreementVariableSetVariableSetExists"
-
"if variableSet -> variableSet exists then variableSet -> variableSet -> variableSet is absent"
"MasterAgreementVariableSetVariableSetNesting"
-
"whoMaySubstitute all <> disputingParty"
"UnderlierSubstitutionProvisionDisputingPartyCannotHaveOriginalRole"
cdm.observable.*
-
"one-of"
"BondChoiceModelOneOf0"
-
"one-of"
"BondEquityModelOneOf0"
-
"optional choice calculationAgentParty, calculationAgentPartyEnum"
"CalculationAgentCalculationAgentChoice"
-
"if premiumExpression exists then cashPriceType = CashPriceTypeEnum -> Premium"
"CashPricePremiumType"
-
"one-of"
"CreditNotationsOneOf0"
-
"one-of"
"CreditRatingDebtOneOf0"
-
"if forwardPoints exists then spotRate exists"
"CrossRateCrossRate"
-
cdm.observable.asset.validation.datarule.CurveCurve
-
"if calculationAgentDetermination -> calculationAgentParty exists then calculationAgentDetermination -> calculationAgentParty = AncillaryRoleEnum -> CalculationAgentFallback"
"FallbackReferencePriceFallbackCalculationAgent"
-
"if valuationPostponement exists then valuationPostponement -> maximumDaysOfPostponement > 0"
"FallbackReferencePriceMaximumDaysOfPostponement"
-
"optional choice floatingRateIndex, inflationRateIndex"
"FloatingRateOptionFloatingRateIndex"
-
"if floatingRateIndex is absent and inflationRateIndex is absent then indexReferenceInformation exists"
"FloatingRateOptionIndexRefInfo"
-
"required choice settlementRateOption, nonstandardSettlementRate"
"FxSettlementRateSourceFxSettlementRateSourceChoice"
-
"unit -> currency exists"
"MoneyCurrencyUnitExists"
-
"if mismatchResolution = CreditNotationMismatchResolutionEnum -> ReferenceAgency then referenceAgency exists"
"MultipleCreditNotationsReferenceAgency"
-
"if businessDaysThereafter exists then businessDaysThereafter >= 0"
"MultipleValuationDatesBusinessDaysThereafter"
-
"if numberValuationDates exists then numberValuationDates >= 0"
"MultipleValuationDatesNumberValuationDates"
-
"required choice rateOption, commodity, productIdentifier, currencyPair"
"ObservableObservableChoice"
-
"(curve exists and informationSource exists) or curve exists or informationSource exists"
"ObservationSourceCurveInformationSource"
-
"value exists and datedValue is absent"
"PriceAmountOnlyExists"
-
"if operandType = PriceOperandEnum -> ForwardPoint or operandType = PriceOperandEnum -> AccruedInterest then arithmeticOperator = ArithmeticOperationEnum -> Add or arithmeticOperator = ArithmeticOperationEnum -> Subtract"
"PriceCompositeArithmeticOperator"
-
"if composite -> operandType = PriceOperandEnum -> AccruedInterest then priceType = PriceTypeEnum -> AssetPrice"
"PriceScheduleAccruedInterest"
-
"arithmeticOperator <> ArithmeticOperationEnum -> Subtract and arithmeticOperator <> ArithmeticOperationEnum -> Divide"
"PriceScheduleArithmeticOperator"
-
"if cashPrice exists then priceType = PriceTypeEnum -> CashPrice"
"PriceScheduleCashPrice"
-
"optional choice cashPrice, arithmeticOperator, composite"
"PriceScheduleChoice"
-
"if priceType = PriceTypeEnum -> InterestRate then unit -> currency exists"
"PriceScheduleCurrencyUnitForInterestRate"
-
"if composite -> operandType = PriceOperandEnum -> ForwardPoint then priceType = PriceTypeEnum -> ExchangeRate"
"PriceScheduleForwardPoint"
-
"if (priceType = PriceTypeEnum -> ExchangeRate or priceType = PriceTypeEnum -> AssetPrice) and arithmeticOperator is absent then value >= 0"
"PriceSchedulePositiveAssetPrice"
-
"if priceType = PriceTypeEnum -> CashPrice then value >= 0 or datedValue -> value all >= 0"
"PriceSchedulePositiveCashPrice"
-
"if (priceType = PriceTypeEnum -> ExchangeRate or priceType = PriceTypeEnum -> AssetPrice) and composite -> baseValue exists then composite -> baseValue > 0"
"PriceSchedulePositiveSpotRate"
-
"if arithmeticOperator = ArithmeticOperationEnum -> Add then priceType = PriceTypeEnum -> AssetPrice or priceType = PriceTypeEnum -> InterestRate"
"PriceScheduleSpreadPrice"
-
"if priceType = PriceTypeEnum -> Variance or priceType = PriceTypeEnum -> Volatility or priceType = PriceTypeEnum -> Correlation then unit is absent and perUnitOf is absent else unit exists and perUnitOf exists"
"PriceScheduleUnitOfAmountExists"
-
"if observationWeight exists then observationWeight >= 0"
"RateObservationPositiveObservationWeight"
-
"one-of"
"SecurityValuationModelOneOf0"
-
"if businessDays exists then businessDays >= 0"
"SingleValuationDateNonNegativeBusinessDays"
-
"if quotationAmount exists or minimumQuotationAmount exists then valuationSource -> dealerOrCCP -> legalEntity exists"
"ValuationMethodDealer"
-
"if (quotationAmount -> unit -> currency exists and minimumQuotationAmount -> unit -> currency exists) and quotationAmount -> unit -> currency = minimumQuotationAmount -> unit -> currency then quotationAmount -> value > minimumQuotationAmount -> value"
"ValuationMethodFpML_cd_37"
-
"required choice informationSource, settlementRateOption, referenceBanks, dealerOrCCP"
"ValuationSourceInformationSource"
-
"if amount exists then amount >= 0.0"
"FeaturePaymentAmount"
-
"required choice levelPercentage, amount"
"FeaturePaymentFeaturePaymentChoice"
-
"if specifiedNumber exists then specifiedNumber >= 0"
"PubliclyAvailableInformationPositiveSpecifiedNumber"
-
"required choice standardPublicSources, publicSource"
"PubliclyAvailableInformationSourceChoice"
-
"required choice level, levelPercentage , creditEvents , creditEventsReference"
"TriggerChoice1"
cdm.product.*
-
"required choice nthToDefault, tranche"
"BasketReferenceInformationBasketReferenceInformationChoice"
-
"if (nthToDefault exists and mthToDefault exists) then nthToDefault < mthToDefault"
"BasketReferenceInformationMthToDefault"
-
"if mthToDefault exists then nthToDefault exists"
"BasketReferenceInformationNthToDefault"
-
"if upperBarrier exists then upperBarrier >= 0 and if lowerBarrier exists then lowerBarrier >= 0"
"BoundedVarianceNonNegativeBarriers"
-
"required choice schedule, calculationPeriodDates"
"CommodityPayoutCalculationPeriod"
-
"if delivery -> deliveryCapacity exists then schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent and delivery -> periods -> profile -> block -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent else if schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity exists then delivery -> deliveryCapacity is absent and delivery -> periods -> profile -> block -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent else if delivery -> periods -> profile -> block -> deliveryCapacity exists then schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent else if schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity exists then delivery -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent and delivery -> periods -> profile -> block -> deliveryCapacity is absent"
"CommodityPayoutDeliveryCapacity"
-
"if schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity exists then delivery -> periods -> profile -> block -> priceTimeIntervalQuantity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity is absent else if delivery -> periods -> profile -> block -> priceTimeIntervalQuantity exists then schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity is absent else if schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity exists then schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity is absent and delivery -> periods -> profile -> block -> priceTimeIntervalQuantity is absent"
"CommodityPayoutPriceTimeIntervalQuantity"
-
"priceQuantity exists"
"CommodityPayoutQuantity"
-
"correlationStrikePrice -> value > -1 and correlationStrikePrice -> value < 1"
"CorrelationReturnTermsCorrelationValue"
-
"if numberOfDataSeries exists then numberOfDataSeries > 0"
"CorrelationReturnTermsPositiveNumberOfDataSeries"
-
"if generalTerms -> referenceInformation -> referencePrice exists then generalTerms -> referenceInformation -> referencePrice -> value >= 0"
"CreditDefaultPayoutFpML_cd_12"
-
"priceQuantity exists"
"CreditDefaultPayoutQuantity"
-
"if indexAnnexVersion exists then indexAnnexVersion >= 0"
"CreditIndexReferenceInformationIndexAnnexVersion"
-
"if indexFactor exists then indexFactor >= 0 and indexFactor <= 1"
"CreditIndexReferenceInformationIndexFactor"
-
"if indexSeries exists then indexSeries >= 0"
"CreditIndexReferenceInformationIndexSeries"
-
"if discountRateDayCountFraction exists then discountRate exists"
"DiscountingMethodDiscountRate"
-
"one-of"
"DividendCurrencyOneOf0"
-
"if paymentDateOffset exists then dateReference = DividendDateReferenceEnum -> SharePayment"
"DividendDateReferencePaymentDateOffset"
-
"one-of"
"DividendPaymentDateOneOf0"
-
"if cashRatio exists then cashRatio >= 0 and totalRatio <= 1"
"DividendPayoutRatioDividendPayoutRatioCash"
-
"if nonCashRatio exists then nonCashRatio >= 0 and totalRatio <= 1"
"DividendPayoutRatioDividendPayoutRatioNonCash"
-
"totalRatio >= 0 and totalRatio <= 1"
"DividendPayoutRatioDividendPayoutRatioTotal"
-
"if firstOrSecondPeriod exists then dividendPeriod -> startDate is absent and dividendPeriod -> endDate is absent"
"DividendReturnTermsDividendPeriod"
-
"if extraordinaryDividendsParty exists then extraordinaryDividendsParty = AncillaryRoleEnum -> ExtraordinaryDividendsParty"
"DividendReturnTermsExtraordinaryDividendsParty"
-
"optional choice multipleExchangeIndexAnnexFallback, componentSecurityIndexAnnexFallback"
"EquityUnderlierProvisionsComponentSecurityOrMultipleExchange"
-
"if floatingRateMultiplier exists then floatingRateMultiplier <> 1"
"FloatingRateDefinitionFloatingRateMultiplier"
-
"calculationPeriodNumberOfDays >= 0"
"FutureValueAmountPositiveCalculationPeriodNumberOfDays"
-
"if basketReferenceInformation exists then basketReferenceInformation -> basketName exists or basketReferenceInformation -> basketId exists"
"GeneralTermsBasketReferenceInformationNameOrId"
-
"if indexReferenceInformation -> tranche is absent then modifiedEquityDelivery is absent"
"GeneralTermsFpML_cd_41"
-
"if basketReferenceInformation is absent then substitution is absent"
"GeneralTermsFpML_cd_42"
-
"required choice referenceInformation, indexReferenceInformation, basketReferenceInformation"
"GeneralTermsGeneralTermsChoice"
-
"if compoundingMethod is absent or compoundingMethod = CompoundingMethodEnum -> None then calculationPeriodDates -> firstCompoundingPeriodEndDate is absent"
"InterestRatePayoutCalculationPeriodDatesFirstCompoundingPeriodEndDate"
-
"if settlementTerms -> settlementCurrency exists and (settlementTerms -> settlementCurrency <> priceQuantity -> quantitySchedule -> unit -> currency or settlementTerms -> settlementCurrency <> priceQuantity -> quantityMultiplier -> fxLinkedNotionalSchedule -> varyingNotionalCurrency) then (settlementTerms -> cashSettlementTerms -> valuationMethod exists and settlementTerms -> cashSettlementTerms -> valuationDate exists) or priceQuantity -> quantityMultiplier -> fxLinkedNotionalSchedule -> fxSpotRateSource exists"
"InterestRatePayoutCashSettlementTerms"
-
"if stubPeriod -> initialStub exists then calculationPeriodDates -> firstRegularPeriodStartDate exists"
"InterestRatePayoutFpML_ird_23"
-
"if stubPeriod -> finalStub exists then calculationPeriodDates -> lastRegularPeriodEndDate exists"
"InterestRatePayoutFpML_ird_24"
-
"if compoundingMethod exists and compoundingMethod <> CompoundingMethodEnum -> None then rateSpecification -> fixedRate is absent"
"InterestRatePayoutFpML_ird_29"
-
"if paymentDates -> firstPaymentDate exists and calculationPeriodDates -> effectiveDate exists then paymentDates -> firstPaymentDate > calculationPeriodDates -> effectiveDate -> adjustableDate -> unadjustedDate"
"InterestRatePayoutFpML_ird_6"
-
"if paymentDates -> paymentFrequency -> period = calculationPeriodDates -> calculationPeriodFrequency -> period and paymentDates -> paymentFrequency -> periodMultiplier = calculationPeriodDates -> calculationPeriodFrequency -> periodMultiplier then (compoundingMethod is absent or compoundingMethod = CompoundingMethodEnum -> None)"
"InterestRatePayoutFpML_ird_7_1"
-
"if (paymentDates -> paymentFrequency -> period exists and calculationPeriodDates -> calculationPeriodFrequency -> period exists and paymentDates -> paymentFrequency -> period <> calculationPeriodDates -> calculationPeriodFrequency -> period) or (paymentDates -> paymentFrequency -> periodMultiplier exists and calculationPeriodDates -> calculationPeriodFrequency -> periodMultiplier exists and paymentDates -> paymentFrequency -> periodMultiplier <> calculationPeriodDates -> calculationPeriodFrequency -> periodMultiplier) then compoundingMethod exists"
"InterestRatePayoutFpML_ird_7_2"
-
"if compoundingMethod exists and compoundingMethod <> CompoundingMethodEnum -> None then resetDates exists"
"InterestRatePayoutFpML_ird_9"
-
"if rateSpecification -> fixedRate is absent then priceQuantity -> futureValueNotional is absent"
"InterestRatePayoutFutureValueNotional"
-
"if stubPeriod exists then stubPeriod -> initialStub exists or stubPeriod -> finalStub exists"
"InterestRatePayoutInitialStubFinalStub"
-
"optional choice paymentDates, paymentDate"
"InterestRatePayoutInterestRatePayoutChoice"
-
"priceQuantity exists"
"InterestRatePayoutQuantity"
-
"if rateSpecification is absent then priceQuantity -> priceSchedule exists"
"InterestRatePayoutRateSpecification"
-
"if priceQuantity -> futureValueNotional exists then priceQuantity -> futureValueNotional -> valueDate = calculationPeriodDates -> terminationDate -> adjustableDate -> adjustedDate"
"InterestRatePayoutTerminationDate"
-
"one-of"
"RateSpecificationOneOf0"
-
"required choice referenceObligation, noReferenceObligation , unknownReferenceObligation"
"ReferenceInformationReferenceInformationChoice"
-
"required choice security, loan"
"ReferenceObligationAssetChoice"
-
"optional choice primaryObligor, primaryObligorReference"
"ReferenceObligationLegalEntityChoice"
-
"required choice referenceObligation, noReferenceObligation"
"ReferencePairReferenceChoice"
-
"if referencePoolItem -> constituentWeight -> basketPercentage exists then referencePoolItem -> constituentWeight -> openUnits is absent"
"ReferencePoolFpML_cd_44_basketPercentage"
-
"if referencePoolItem -> constituentWeight -> openUnits exists then referencePoolItem -> constituentWeight -> basketPercentage is absent"
"ReferencePoolFpML_cd_44_openUnits"
-
"optional choice cashSettlementTermsReference, physicalSettlementTermsReference"
"ReferencePoolItemSettlementChoice"
-
"if initialLevel is absent then initialLevelSource exists and if initialLevelSource is absent then initialLevel exists"
"ReturnTermsBaseInitialLevelOrInitialLevelSource"
-
"expectedN > 0"
"ReturnTermsBasePositiveExpectedN"
-
"one-of"
"StubValueOneOf0"
-
"attachmentPoint >= 0.0 and attachmentPoint <= 1.0"
"TrancheAttachmentPoint"
-
"attachmentPoint <= exhaustionPoint"
"TrancheAttachmentPointLessThanExhaustionPoint"
-
"exhaustionPoint >= 0.0 and exhaustionPoint <= 1.0"
"TrancheExhaustionPoint"
-
"if numberOfValuationDates exists then numberOfValuationDates > 0"
"ValuationTermsPositiveNumberOfValuationDates"
-
"if varianceCap = True then unadjustedVarianceCap exists or boundedVariance exists else unadjustedVarianceCap is absent and boundedVariance is absent"
"VarianceCapFloorCapFloorApplicability"
-
"if unadjustedVarianceCap exists then unadjustedVarianceCap > 0"
"VarianceCapFloorPositiveUnadjustedVarianceCap"
-
"if volatilityStrikePrice -> value exists then volatilityStrikePrice -> value >= 0 and if varianceStrikePrice -> value exists then varianceStrikePrice -> value >= 0"
"VarianceReturnTermsNonNegativeStrikePrice"
-
"if vegaNotionalAmount -> value exists then vegaNotionalAmount -> value > 0"
"VarianceReturnTermsPositive_VegaNotionalAmount"
-
"if valuationTerms -> futuresPriceValuation = True then exchangeTradedContractNearest exists"
"VarianceReturnTermsReferenceContract"
-
"required choice volatilityStrikePrice, varianceStrikePrice"
"VarianceReturnTermsStrikePriceMustExist"
-
"if exchangeTradedContractNearest exists then exchangeTradedContractNearest -> productIdentifier exists"
"VarianceReturnTermsUnderlierMustBeSecurity"
-
"if applicable = True then totalVolatilityCap exists or volatilityCapFactor exists else totalVolatilityCap is absent and volatilityCapFactor is absent"
"VolatilityCapFloorCapFloorApplicability"
-
"if totalVolatilityCap exists then totalVolatilityCap >= 0 and if volatilityCapFactor exists then volatilityCapFactor >= 0"
"VolatilityCapFloorPositiveCaps"
-
"if exchangeTradedContractNearest exists then exchangeTradedContractNearest -> productIdentifier exists"
"VolatilityReturnTermsUnderlierMustBeSecurity"
-
"if mismatchResolution = CreditNotationMismatchResolutionEnum -> ReferenceAgency then referenceAgency exists"
"AgencyRatingCriteriaReferenceAgency"
-
"optional choice collateralAssetType, collateralTaxonomy, productIdentifier"
"AssetCriteriaAssetCriteriaChoice"
-
"optional choice independentAmount, portfolioIdentifier, collateralPortfolio"
"CollateralCollateralchoice"
-
"independentAmount exists or collateralPortfolio exists"
"CollateralCollateralExists"
-
"if collateralPortfolio exists then collateralProvisions exists"
"CollateralCollateralProvisions"
-
"if compoundingType = CompoundingTypeEnum -> Business then compoundingBusinessCenter exists"
"CollateralInterestCalculationParametersCompoundingBC1"
-
"if compoundingType <> CompoundingTypeEnum -> Business then compoundingBusinessCenter is absent"
"CollateralInterestCalculationParametersCompoundingBC2"
-
"dayCountFraction = DayCountFractionEnum -> ACT_360 or dayCountFraction = DayCountFractionEnum -> ACT_365_FIXED"
"CollateralInterestCalculationParametersDCF"
-
"required choice fixedRate, floatingRate"
"CollateralInterestCalculationParametersInterestRate"
-
"if alternativeToInterestAmount = AlternativeToInterestAmountEnum -> Other then alternativeProvision exists"
"CollateralInterestHandlingParametersAlternative"
-
"if alternativeToInterestAmount <> AlternativeToInterestAmountEnum -> Other then alternativeProvision is absent"
"CollateralInterestHandlingParametersAlternative2"
-
"if additionalHaircutPercentage exists then additionalHaircutPercentage > 0 and additionalHaircutPercentage < 1"
"CollateralValuationTreatmentAdditionalHaircutPercentage"
-
"if fxHaircutPercentage exists then fxHaircutPercentage > 0 and fxHaircutPercentage < 1"
"CollateralValuationTreatmentFxHaircutPercentage"
-
"if haircutPercentage exists then haircutPercentage >= 0 and haircutPercentage < 1"
"CollateralValuationTreatmentHaircutPercentage"
-
"required choice haircutPercentage, marginPercentage"
"CollateralValuationTreatmentHaircutPercentageOrMarginPercentage"
-
"if marginPercentage exists then marginPercentage >= 1"
"CollateralValuationTreatmentMarginPercentage"
-
"required choice valueLimit, percentageLimit"
"ConcentrationLimitConcentrationLimitValueChoice"
-
"required choice concentrationLimitType, issuer, asset, averageTradingVolume"
"ConcentrationLimitCriteriaConcentrationLimitTypeChoice"
-
"if concentrationLimitCriteria -> concentrationLimitType only-element = ConcentrationLimitTypeEnum -> MarketCapitalisation then percentageLimit exists"
"ConcentrationLimitPercentageConcentrationLimit"
-
"one-of"
"DeliveryAmountOneOf0"
-
"if treatment -> concentrationLimit -> concentrationLimitCriteria -> averageTradingVolume exists then asset -> collateralAssetType -> securityType all = SecurityTypeEnum -> Equity or treatment -> concentrationLimit -> concentrationLimitCriteria -> asset -> collateralAssetType -> securityType all = SecurityTypeEnum -> Equity"
"EligibleCollateralCriteriaAverageTradingVolumeEquityOnly"
-
"if treatment -> concentrationLimit -> concentrationLimitCriteria -> concentrationLimitType only-element = ConcentrationLimitTypeEnum -> IssueOutstandingAmount then asset -> collateralAssetType -> securityType all = SecurityTypeEnum -> Debt or treatment -> concentrationLimit -> concentrationLimitCriteria -> asset -> collateralAssetType -> securityType all = SecurityTypeEnum -> Debt"
"EligibleCollateralCriteriaConcentrationLimitTypeIssueOSAmountDebtOnly"
-
"if treatment -> concentrationLimit -> concentrationLimitCriteria -> concentrationLimitType only-element = ConcentrationLimitTypeEnum -> MarketCapitalisation then asset -> collateralAssetType -> securityType all = SecurityTypeEnum -> Equity or treatment -> concentrationLimit -> concentrationLimitCriteria -> asset -> collateralAssetType -> securityType all = SecurityTypeEnum -> Equity"
"EligibleCollateralCriteriaConcentrationLimitTypeMarketCapEquityOnly"
-
"if customElection exists then includesDefaultLanguage = False"
"ReturnAmountCustomElection"
-
"optional choice averagingDateTimes, averagingObservations"
"AveragingPeriodAveragingPeriodChoice"
-
"if firstRegularPeriodStartDate exists then terminationDate -> adjustableDate -> unadjustedDate > firstRegularPeriodStartDate"
"CalculationPeriodDatesFpML_ird_16"
-
"if lastRegularPeriodEndDate exists then terminationDate -> adjustableDate -> unadjustedDate > lastRegularPeriodEndDate"
"CalculationPeriodDatesFpML_ird_17"
-
"if firstRegularPeriodStartDate exists and lastRegularPeriodEndDate exists then lastRegularPeriodEndDate > firstRegularPeriodStartDate"
"CalculationPeriodDatesFpML_ird_18"
-
"if lastRegularPeriodEndDate exists then lastRegularPeriodEndDate > effectiveDate -> adjustableDate -> unadjustedDate"
"CalculationPeriodDatesFpML_ird_20"
-
"if firstPeriodStartDate exists and effectiveDate exists then firstPeriodStartDate -> adjustableDate -> unadjustedDate < effectiveDate -> adjustableDate -> unadjustedDate"
"CalculationPeriodDatesFpML_ird_21"
-
"if firstPeriodStartDate exists and firstRegularPeriodStartDate exists then firstPeriodStartDate -> adjustableDate -> unadjustedDate < firstRegularPeriodStartDate"
"CalculationPeriodDatesFpML_ird_22"
-
"required choice adjustedEndDate, unadjustedEndDate"
"CalculationPeriodEndDateChoice"
-
"required choice notionalAmount, fxLinkedNotionalAmount"
"CalculationPeriodNotionalChoice"
-
"required choice floatingRateDefinition, fixedRate"
"CalculationPeriodRateChoice"
-
"required choice adjustedStartDate, unadjustedStartDate"
"CalculationPeriodStartDateChoice"
-
"one-of"
"InitialFixingDateOneOf0"
-
"required choice unadjustedDate, adjustedDate"
"ObservationDateObservationDate"
-
"if observationDate -> adjustedDate is absent then observationDate -> unadjustedDate exists and dateAdjustments exists"
"ObservationScheduleAdjustedDate"
-
"if pricingTimeType = TimeTypeEnum -> SpecificTime then pricingTime exists"
"ObservationTermsPricingTime"
-
"if dayOfWeek exists then dayFrequency exists"
"ParametricDatesDayOfWeekMethod"
-
"required choice dayDistribution, dayOfWeek"
"ParametricDatesParametricDatesChoice"
-
"if calculationPeriod -> calculationPeriodNumberOfDays exists then calculationPeriod -> calculationPeriodNumberOfDays all >= 0"
"PaymentCalculationPeriodCalculationPeriodNumberOfDays"
-
"unadjustedPaymentDate exists or adjustedPaymentDate exists"
"PaymentCalculationPeriodFpML_ird_34"
-
"required choice calculationPeriod, fixedPaymentAmount"
"PaymentCalculationPeriodPaymentCalculationPeriodChoice"
-
"if firstPaymentDate exists and lastRegularPaymentDate exists then firstPaymentDate < lastRegularPaymentDate"
"PaymentDatesFpML_ird_35_cd_31"
-
"if paymentDaysOffset exists then paymentDaysOffset -> periodMultiplier <> 0"
"PaymentDatesNonZeroPeriodMultiplier"
-
"if resetFrequency -> period <> PeriodExtendedEnum -> W then resetFrequency -> weeklyRollConvention is absent"
"ResetDatesNonWeeklyPeriod"
-
"if rateCutOffDaysOffset exists then rateCutOffDaysOffset -> periodMultiplier < 0"
"ResetDatesRateCutOffDaysOffset"
-
"if resetFrequency -> period = PeriodExtendedEnum -> W then resetFrequency -> weeklyRollConvention exists"
"ResetDatesWeeklyPeriod"
-
"if weeklyRollConvention exists then period = PeriodExtendedEnum -> W"
"ResetFrequencyFpML_ird_49"
-
"if observationNumber exists then observationNumber >= 0"
"WeightedAveragingObservationPositiveObservationNumber"
-
"weight >= 0.0"
"WeightedAveragingObservationPositiveWeight"
-
"required choice dateTime, observationNumber"
"WeightedAveragingObservationWeightedAveragingObservationChoice"
-
"if priceQuantity exists then priceQuantity -> quantitySchedule -> value >= 0.0"
"CashflowCashflowAmount"
-
"required choice cashflowType, cashPrice"
"CashflowTypeChoice0"
-
"if valuationMethod -> cashCollateralValuationMethod exists then cashSettlementMethod = CashSettlementMethodEnum -> MidMarketIndicativeQuotations or cashSettlementMethod = CashSettlementMethodEnum -> MidMarketIndicativeQuotationsAlternate or cashSettlementMethod = CashSettlementMethodEnum -> MidMarketCalculationAgentDetermination or cashSettlementMethod = CashSettlementMethodEnum -> ReplacementValueFirmQuotations or cashSettlementMethod = CashSettlementMethodEnum -> ReplacementValueCalculationAgentDetermination"
"CashSettlementTermsCashCollateralMethod"
-
"optional choice cashSettlementAmount, recoveryFactor"
"CashSettlementTermsCashSettlementTermsChoice"
-
"if valuationMethod -> cashCollateralValuationMethod -> prescribedDocumentationAdjustment exists then cashSettlementMethod = CashSettlementMethodEnum -> ReplacementValueFirmQuotations"
"CashSettlementTermsFirmQuotationMethod"
-
"if (valuationMethod -> cashCollateralValuationMethod -> applicableCsa exists or valuationMethod -> cashCollateralValuationMethod -> agreedDiscountRate exists or valuationMethod -> cashCollateralValuationMethod -> cashCollateralInterestRate exists) then cashSettlementMethod = CashSettlementMethodEnum -> MidMarketIndicativeQuotations or cashSettlementMethod = CashSettlementMethodEnum -> MidMarketIndicativeQuotationsAlternate or cashSettlementMethod = CashSettlementMethodEnum -> MidMarketCalculationAgentDetermination"
"CashSettlementTermsMidMarketValuationMethod"
-
"if recoveryFactor exists then recoveryFactor >= 0.0 and recoveryFactor <= 1.0"
"CashSettlementTermsRecoveryFactor"
-
"if valuationMethod -> cashCollateralValuationMethod -> protectedParty exists then cashSettlementMethod = CashSettlementMethodEnum -> ReplacementValueFirmQuotations or cashSettlementMethod = CashSettlementMethodEnum -> ReplacementValueCalculationAgentDetermination"
"CashSettlementTermsReplacementValueMethod"
-
"optional choice fullFaithAndCreditObLiability, generalFundObligationLiability, revenueObligationLiability"
"DeliverableObligationsDeliverableObligationsChoice"
-
"if category exists and category = ObligationCategoryEnum -> ReferenceObligationsOnly then acceleratedOrMatured is absent and accruedInterest is absent and assignableLoan is absent and consentRequiredLoan is absent and directLoanParticipation is absent and excluded is absent and fullFaithAndCreditObLiability is absent and generalFundObligationLiability is absent and indirectLoanParticipation is absent and listed is absent and maximumMaturity is absent and notBearer is absent and notContingent is absent and notDomesticCurrency is absent and notDomesticIssuance is absent and notDomesticLaw is absent and notSovereignLender is absent and notSubordinated is absent and othReferenceEntityObligations is absent and revenueObligationLiability is absent and specifiedCurrency is absent and transferable is absent"
"DeliverableObligationsFpML_cd_34"
-
"if price -> value exists then price -> value >= 0.0"
"FixedPriceNonNegativePrice_amount"
-
"if price -> datedValue exists then price -> datedValue -> value all >= 0.0"
"FixedPriceNonNegativePrice_datedValue"
-
"optional choice businessCenters, businessCentersReference"
"FxFixingDateBusinessCentersChoice"
-
"required choice dateRelativeToPaymentDates, dateRelativeToCalculationPeriodDates, dateRelativeToValuationDates, fxFixingDate"
"FxFixingDateDateChoice"
-
"if businessDays exists then businessDays >= 0"
"PhysicalSettlementPeriodBusinessDays"
-
"if maximumBusinessDays exists then maximumBusinessDays >= 0"
"PhysicalSettlementPeriodMaximumBusinessDays"
-
"one-of"
"PhysicalSettlementPeriodOneOf2"
-
"if predeterminedClearingOrganizationParty exists then predeterminedClearingOrganizationParty = AncillaryRoleEnum -> PredeterminedClearingOrganizationParty"
"PhysicalSettlementTermsPredeterminedClearingOrganizationParty"
-
"if buyerSeller exists then settlementTerms exists"
"PriceQuantityActualSettlement"
-
"if price -> arithmeticOperator exists then observable exists"
"PriceQuantityObservableExists"
-
"RateOptionObservableCondition"
"PriceQuantityRateOptionObservable"
-
"one-of"
"PricingDatesOneOf0"
-
"if presentValuePrincipalAmount exists then discountFactor exists"
"PrincipalPaymentDiscountFactor"
-
"required choice principalAmount, presentValuePrincipalAmount"
"PrincipalPaymentPrincipalAmount"
-
"one-of"
"QuantityMultiplierOneOf0"
-
"if quantityMultiplier exists then quantityReference -> reference exists"
"ResolvablePriceQuantityQuantityMultiplier"
-
"if cashSettlementBusinessDays exists then cashSettlementBusinessDays >= 0 else adjustableOrRelativeDate exists or valueDate exists or adjustableDates exists or businessDateRange exists"
"SettlementDateBusinessDays"
-
"optional choice adjustableOrRelativeDate, valueDate, adjustableDates, businessDateRange"
"SettlementDateDateChoice"
-
"if cashSettlementTerms exists then settlementType <> SettlementTypeEnum -> Physical"
"SettlementTermsCashSettlementTerms"
-
"if cashSettlementTerms exists and physicalSettlementTerms exists then settlementType = SettlementTypeEnum -> Election or settlementType = SettlementTypeEnum -> CashOrPhysical"
"SettlementTermsOptionSettlementChoice"
-
"if physicalSettlementTerms exists then settlementType <> SettlementTypeEnum -> Cash"
"SettlementTermsPhysicalSettlementTerms"
-
"one-of"
"ValuationDateOneOf0"
-
"ExpirationTimeType(expirationTime, expirationTimeType)"
"AmericanExerciseExpirationTimeChoice"
-
"if dividendTerms exists then durationType -> durationType = DurationTypeEnum -> Term"
"AssetPayoutDividendTermsValidation"
-
"securityInformation -> security exists"
"AssetPayoutProductMustBeSecurity"
-
"priceQuantity exists"
"AssetPayoutQuantity"
-
"required choice basketConstituent, portfolioBasketConstituent"
"BasketChoice0"
-
"ExpirationTimeType(expirationTime, expirationTimeType)"
"BermudaExerciseExpirationTimeChoice"
-
"if exerciseNotice -> exerciseNoticeReceiver exists then exerciseNotice -> exerciseNoticeReceiver = AncillaryRoleEnum -> ExerciseNoticeReceiverPartyCancelableProvision"
"CancelableProvisionCancelableProvisionExerciseNoticeReceiverParty"
-
"optional choice effectiveDate, effectivePeriod"
"CancelableProvisionEffectiveDate"
-
"if basketPercentage exists then basketPercentage >= 0.0 and basketPercentage <= 1.0"
"ConstituentWeightBasketPercentage"
-
"if economicTerms -> nonStandardisedTerms = True then productTaxonomy -> primaryAssetClass exists"
"ContractualProductPrimaryAssetClass"
-
"adjustedExerciseDate <= adjustedEarlyTerminationDate"
"EarlyTerminationEventFpML_ird_39"
-
"adjustedExerciseDate <= adjustedCashSettlementValuationDate"
"EarlyTerminationEventFpML_ird_40"
-
"adjustedCashSettlementValuationDate <= adjustedCashSettlementPaymentDate"
"EarlyTerminationEventFpML_ird_41"
-
"(mandatoryEarlyTermination exists or optionalEarlyTermination exists) or (mandatoryEarlyTermination exists and optionalEarlyTermination exists)"
"EarlyTerminationProvisionMandatoryEarlyTermination"
-
"if payout -> assetPayout -> dividendTerms exists then terminationDate exists"
"EconomicTermsAssetPayoutDividendTermsValidation"
-
"if payout -> assetPayout is absent then if terminationProvision -> extendibleProvision exists then (terminationProvision -> extendibleProvision -> americanExercise exists and terminationProvision -> extendibleProvision -> bermudaExercise is absent and terminationProvision -> extendibleProvision -> europeanExercise is absent) or (terminationProvision -> extendibleProvision -> americanExercise is absent and terminationProvision -> extendibleProvision -> bermudaExercise exists and terminationProvision -> extendibleProvision -> europeanExercise is absent) or (terminationProvision -> extendibleProvision -> americanExercise is absent and terminationProvision -> extendibleProvision -> bermudaExercise is absent and terminationProvision -> extendibleProvision -> europeanExercise exists) and terminationProvision -> extendibleProvision -> followUpConfirmation exists"
"EconomicTermsExtendibleProvisionExerciseDetails"
-
"if payout -> creditDefaultPayout exists and payout -> cashflow exists and effectiveDate exists and payout -> cashflow -> settlementTerms -> settlementDate -> adjustableOrRelativeDate -> unadjustedDate exists and payout -> cashflow -> settlementTerms -> settlementDate -> adjustableOrRelativeDate -> relativeDate is absent then payout -> cashflow -> settlementTerms -> settlementDate -> adjustableOrRelativeDate -> unadjustedDate all > effectiveDate -> adjustableDate -> unadjustedDate or payout -> cashflow -> settlementTerms -> settlementDate -> adjustableOrRelativeDate -> adjustedDate all > effectiveDate -> adjustableDate -> adjustedDate or payout -> cashflow -> settlementTerms -> settlementDate -> adjustableOrRelativeDate -> relativeDate -> adjustedDate all > effectiveDate -> relativeDate -> adjustedDate"
"EconomicTermsFpML_cd_26_28"
-
"if payout -> creditDefaultPayout exists and payout -> cashflow exists and terminationDate exists and payout -> cashflow -> settlementTerms -> settlementDate -> adjustableOrRelativeDate exists then payout -> cashflow -> settlementTerms -> settlementDate -> adjustableOrRelativeDate -> unadjustedDate all < terminationDate -> adjustableDate -> unadjustedDate or payout -> cashflow -> settlementTerms -> settlementDate -> adjustableOrRelativeDate -> adjustedDate all < terminationDate -> adjustableDate -> adjustedDate or payout -> cashflow -> settlementTerms -> settlementDate -> adjustableOrRelativeDate -> relativeDate -> adjustedDate all < terminationDate -> adjustableDate -> adjustedDate"
"EconomicTermsFpML_cd_27"
-
"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"
"EconomicTermsFpML_cd_30"
-
"if calculationAgent -> calculationAgentParty exists then calculationAgent -> calculationAgentParty = AncillaryRoleEnum -> CalculationAgentIndependent"
"EconomicTermsIndependentCalculationAgent"
-
"ExpirationTimeType(expirationTime, expirationTimeType)"
"EuropeanExerciseExpirationTimeChoice"
-
"required choice feeAmount, feeRate"
"ExerciseFeeExerciseFeeChoice"
-
"required choice feeAmountSchedule, feeRateSchedule"
"ExerciseFeeScheduleExerciseFeeScheduleChoice"
-
"required choice manualExercise, automaticExercise"
"ExerciseProcedureExerciseProcedureChoice"
-
"if exerciseNotice -> exerciseNoticeReceiver exists then exerciseNotice -> exerciseNoticeReceiver = AncillaryRoleEnum -> ExerciseNoticeReceiverPartyExtendibleProvision"
"ExtendibleProvisionExtendibleProvisionExerciseNoticeReceiverParty"
-
"adjustedExerciseDate < adjustedExtendedTerminationDate"
"ExtensionEventFpML_ird_42"
-
"priceQuantity exists"
"FixedPricePayoutQuantity"
-
"if delivery -> deliveryCapacity exists then schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent and delivery -> periods -> profile -> block -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent else if schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity exists then delivery -> deliveryCapacity is absent and delivery -> periods -> profile -> block -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent else if delivery -> periods -> profile -> block -> deliveryCapacity exists then schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent else if schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity exists then delivery -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent and delivery -> periods -> profile -> block -> deliveryCapacity is absent"
"ForwardPayoutDeliveryCapacity"
-
"if underlier -> foreignExchange exists then settlementTerms -> physicalSettlementTerms is absent"
"ForwardPayoutFxSettlement"
-
"if schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity exists then delivery -> periods -> profile -> block -> priceTimeIntervalQuantity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity is absent else if delivery -> periods -> profile -> block -> priceTimeIntervalQuantity exists then schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity is absent else if schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity exists then schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity is absent and delivery -> periods -> profile -> block -> priceTimeIntervalQuantity is absent"
"ForwardPayoutPriceTimeIntervalQuantity"
-
"if underlier -> foreignExchange exists then (settlementTerms -> settlementDate -> valueDate exists and underlier -> foreignExchange -> exchangedCurrency1 -> settlementTerms -> settlementDate -> adjustableOrRelativeDate is absent and underlier -> foreignExchange -> exchangedCurrency2 -> settlementTerms -> settlementDate -> adjustableOrRelativeDate is absent) or (settlementTerms -> settlementDate -> valueDate is absent and underlier -> foreignExchange -> exchangedCurrency1 -> settlementTerms -> settlementDate -> adjustableOrRelativeDate exists and underlier -> foreignExchange -> exchangedCurrency2 -> settlementTerms -> settlementDate -> adjustableOrRelativeDate exists and underlier -> foreignExchange -> exchangedCurrency1 -> settlementTerms -> settlementDate -> adjustableOrRelativeDate = underlier -> foreignExchange -> exchangedCurrency2 -> settlementTerms -> settlementDate -> adjustableOrRelativeDate)"
"ForwardPayoutSettlementDate"
-
"if underlier -> foreignExchange exists then settlementTerms exists"
"ForwardPayoutSettlementTerms"
-
"required choice composite, quanto, crossCurrency"
"FxFeatureFxFeatureChoice"
-
"required choice marginRatio, haircut"
"InitialMarginCalculationInitialMarginCalculationChoice"
-
"if marginThreshold exists then marginThreshold -> value > 0"
"InitialMarginMarginThreshold"
-
"if minimumTransferAmount exists then minimumTransferAmount -> value > 0"
"InitialMarginMinimumTransferAmount"
-
"adjustedEarlyTerminationDate <= adjustedCashSettlementValuationDate and adjustedCashSettlementValuationDate <= adjustedCashSettlementPaymentDate"
"MandatoryEarlyTerminationAdjustedDatesFpML_ird_44"
-
"if calculationAgent -> calculationAgentParty exists then calculationAgent -> calculationAgentParty = AncillaryRoleEnum -> CalculationAgentMandatoryEarlyTermination"
"MandatoryEarlyTerminationMandatoryEarlyTerminationCalculationAgent"
-
"if exerciseNotice -> exerciseNoticeReceiver exists then exerciseNotice -> exerciseNoticeReceiver = AncillaryRoleEnum -> ExerciseNoticeReceiverPartyManual"
"ManualExerciseManualExerciseNoticeReceiverParty"
-
"required choice maximumNotionalAmount, maximumNumberOfOptions"
"MultipleExerciseMaximumChoice"
-
"if maximumNumberOfOptions exists then maximumNotionalAmount >= 0"
"MultipleExerciseMaximumNumberOfOptions"
-
"if minimumNumberOfOptions exists then minimumNumberOfOptions >= 0"
"MultipleExerciseMinimumNumberOfOptions"
-
"optional choice americanExercise, bermudaExercise, europeanExercise"
"OptionalEarlyTerminationExerciseChoice"
-
"if calculationAgent -> calculationAgentParty exists then calculationAgent -> calculationAgentParty = AncillaryRoleEnum -> CalculationAgentOptionalEarlyTermination"
"OptionalEarlyTerminationMandatoryEarlyTerminationCalculationAgent"
-
"if exerciseNotice -> exerciseNoticeReceiver exists then exerciseNotice -> exerciseNoticeReceiver contains AncillaryRoleEnum -> ExerciseNoticeReceiverPartyOptionalEarlyTermination"
"OptionalEarlyTerminationOptionalEarlyTerminationExerciseNoticeReceiverParty"
-
"if settlementTerms -> physicalSettlementTerms exists and underlier -> contractualProduct -> economicTerms -> payout -> interestRatePayout only exists and underlier -> contractualProduct -> economicTerms -> payout -> interestRatePayout count = 2 then settlementTerms -> physicalSettlementTerms -> clearedPhysicalSettlement exists"
"OptionPayoutClearedPhysicalSettlementExists"
-
"if delivery -> deliveryCapacity exists then schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent and delivery -> periods -> profile -> block -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent else if schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity exists then delivery -> deliveryCapacity is absent and delivery -> periods -> profile -> block -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent else if delivery -> periods -> profile -> block -> deliveryCapacity exists then schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity is absent else if schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> deliveryCapacity exists then delivery -> deliveryCapacity is absent and schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent and delivery -> periods -> profile -> block -> deliveryCapacity is absent"
"OptionPayoutDeliveryCapacity"
-
"if schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity exists then delivery -> periods -> profile -> block -> priceTimeIntervalQuantity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity is absent else if delivery -> periods -> profile -> block -> priceTimeIntervalQuantity exists then schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity is absent and schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity is absent else if schedule -> schedulePeriod -> deliveryPeriod -> profile -> block -> priceTimeIntervalQuantity exists then schedule -> schedulePeriod -> deliveryPeriod -> priceTimeIntervalQuantity is absent and delivery -> periods -> profile -> block -> priceTimeIntervalQuantity is absent"
"OptionPayoutPriceTimeIntervalQuantity"
-
"one-of"
"OptionStrikeOneOf0"
-
"one-of"
"OptionStyleOneOf0"
-
"required choice minimumNotionalAmount, minimumNumberOfOptions"
"PartialExerciseMinimumChoice"
-
"if interestRatePayout count = 2 then interestRatePayout -> dayCountFraction exists"
"PayoutDayCountFraction"
-
"if interestRatePayout -> paymentDates -> lastRegularPaymentDate exists and interestRatePayout -> stubPeriod -> finalStub exists then interestRatePayout count = 2"
"PayoutLastRegularPaymentDate"
-
"if creditDefaultPayout -> generalTerms -> indexReferenceInformation is absent then creditDefaultPayout -> transactedPrice -> marketFixedRate is absent and creditDefaultPayout -> transactedPrice -> marketPrice is absent"
"PayoutMarketPrice"
-
"if performancePayout -> priceQuantity -> reset contains True then interestRatePayout exists"
"PayoutNotionalResetInterestRatePayoutExists"
-
"interestRatePayout -> priceQuantity -> reset is absent and creditDefaultPayout -> priceQuantity -> reset is absent and optionPayout -> priceQuantity -> reset is absent and cashflow -> priceQuantity -> reset is absent"
"PayoutNotionalResetOnPerformancePayout"
-
"if interestRatePayout count = 2 then interestRatePayout -> dayCountFraction exists"
"PayoutPaymentDates"
-
"if interestRatePayout count = 2 and interestRatePayout -> paymentDates exists then interestRatePayout -> paymentDates -> paymentDatesAdjustments exists"
"PayoutPaymentDatesAdjustments"
-
"if interestRatePayout count = 2 and interestRatePayout -> paymentDates exists then interestRatePayout -> paymentDates -> paymentFrequency exists"
"PayoutPaymentFrequency"
-
"if interestRatePayout count = 2 and interestRatePayout -> paymentDates exists then interestRatePayout -> paymentDates -> payRelativeTo exists"
"PayoutPayRelativeTo"
-
"if optionPayout exists then optionPayout -> priceQuantity exists or optionPayout -> underlier -> contractualProduct -> economicTerms -> payout -> interestRatePayout count = 2 or optionPayout -> underlier -> foreignExchange exists"
"PayoutQuantity"
-
"if performancePayout -> returnTerms -> priceReturnTerms -> returnType all = ReturnTypeEnum -> Total then performancePayout -> returnTerms -> dividendReturnTerms exists"
"PayoutReturnType_Total_Requires_Dividends"
-
"if returnTerms -> correlationReturnTerms exists then underlier -> basket only exists"
"PerformancePayoutCorrelationUnderlierOnlyBasket"
-
"if Qualify_UnderlierProduct_Equity(underlier) = False then returnTerms -> varianceReturnTerms -> dividendApplicability is absent and returnTerms -> varianceReturnTerms -> equityUnderlierProvisions is absent and returnTerms -> varianceReturnTerms -> sharePriceDividendAdjustment is absent and returnTerms -> volatilityReturnTerms -> dividendApplicability is absent and returnTerms -> volatilityReturnTerms -> equityUnderlierProvisions is absent and returnTerms -> volatilityReturnTerms -> sharePriceDividendAdjustment is absent and returnTerms -> correlationReturnTerms -> dividendApplicability is absent and returnTerms -> correlationReturnTerms -> equityUnderlierProvisions is absent and returnTerms -> correlationReturnTerms -> sharePriceDividendAdjustment is absent"
"PerformancePayoutEquitySpecificAttributes"
-
"if underlier -> foreignExchange exists then returnTerms -> varianceReturnTerms -> sharePriceDividendAdjustment is absent and returnTerms -> volatilityReturnTerms -> sharePriceDividendAdjustment is absent"
"PerformancePayoutNoSharePriceDividendAdjustmentForeignExchange"
-
"if underlier -> index exists then returnTerms -> varianceReturnTerms -> sharePriceDividendAdjustment is absent and returnTerms -> volatilityReturnTerms -> sharePriceDividendAdjustment is absent"
"PerformancePayoutNoSharePriceDividendAdjustmentIndex"
-
"required choice returnTerms, portfolioReturnTerms"
"PerformancePayoutPorfolioOrStraightReturn"
-
"if portfolioReturnTerms exists then portfolioReturnTerms count > 1"
"PerformancePayoutPortofolioReturnIsMultipleReturns"
-
"priceQuantity exists"
"PerformancePayoutQuantity"
-
"if portfolioReturnTerms -> priceReturnTerms exists then underlier -> basket only exists"
"PerformancePayoutUnderlierOfPortfolioIsBasket"
-
-
"if priceReturnTerms -> returnType = ReturnTypeEnum -> Total then (priceReturnTerms, dividendReturnTerms) only exists else if priceReturnTerms -> returnType = ReturnTypeEnum -> Price then priceReturnTerms only exists else priceReturnTerms only exists or dividendReturnTerms only exists or varianceReturnTerms only exists or volatilityReturnTerms only exists or correlationReturnTerms only exists"
"ReturnTermsReturnTermsExists"
-
"required choice settlementAmount, settlementCurrency"
"SecurityLegSecurityLegChoice"
-
"required choice cancelableProvision, extendibleProvision, evergreenProvision, earlyTerminationProvision"
"TerminationProvisionTerminationProvisionChoice"
-
"if product -> contractualProduct -> economicTerms -> calculationAgent -> calculationAgentParty exists then ancillaryParty -> role contains AncillaryRoleEnum -> CalculationAgentIndependent and if ancillaryParty -> role contains AncillaryRoleEnum -> CalculationAgentIndependent then product -> contractualProduct -> economicTerms -> calculationAgent -> calculationAgentParty exists"
"TradableProductCalculationAgentIndependent"
-
"if product -> contractualProduct -> economicTerms -> terminationProvision -> earlyTerminationProvision -> mandatoryEarlyTermination -> calculationAgent -> calculationAgentParty exists then ancillaryParty -> role contains AncillaryRoleEnum -> CalculationAgentMandatoryEarlyTermination and if ancillaryParty -> role contains AncillaryRoleEnum -> CalculationAgentMandatoryEarlyTermination then product -> contractualProduct -> economicTerms -> terminationProvision -> earlyTerminationProvision -> mandatoryEarlyTermination -> calculationAgent -> calculationAgentParty exists"
"TradableProductCalculationAgentMandatoryEarlyTermination"
-
"if product -> contractualProduct -> economicTerms -> terminationProvision -> earlyTerminationProvision -> optionalEarlyTermination -> calculationAgent -> calculationAgentParty exists then ancillaryParty -> role contains AncillaryRoleEnum -> CalculationAgentOptionalEarlyTermination and if ancillaryParty -> role contains AncillaryRoleEnum -> CalculationAgentOptionalEarlyTermination then product -> contractualProduct -> economicTerms -> terminationProvision -> earlyTerminationProvision -> optionalEarlyTermination -> calculationAgent -> calculationAgentParty exists"
"TradableProductCalculationAgentOptionalEarlyTermination"
-
"if product -> contractualProduct -> economicTerms -> terminationProvision -> cancelableProvision -> exerciseNotice -> exerciseNoticeReceiver exists then ancillaryParty -> role contains AncillaryRoleEnum -> ExerciseNoticeReceiverPartyCancelableProvision and if ancillaryParty -> role contains AncillaryRoleEnum -> ExerciseNoticeReceiverPartyCancelableProvision then product -> contractualProduct -> economicTerms -> terminationProvision -> cancelableProvision -> exerciseNotice -> exerciseNoticeReceiver exists"
"TradableProductExerciseNoticeReceiverPartyCancelableProvision"
-
"if product -> contractualProduct -> economicTerms -> terminationProvision -> extendibleProvision -> exerciseNotice -> exerciseNoticeReceiver exists then ancillaryParty -> role contains AncillaryRoleEnum -> ExerciseNoticeReceiverPartyExtendibleProvision and if ancillaryParty -> role contains AncillaryRoleEnum -> ExerciseNoticeReceiverPartyExtendibleProvision then product -> contractualProduct -> economicTerms -> terminationProvision -> extendibleProvision -> exerciseNotice -> exerciseNoticeReceiver exists"
"TradableProductExerciseNoticeReceiverPartyExtendibleProvision"
-
"if product -> contractualProduct -> economicTerms -> payout -> optionPayout -> exerciseTerms -> exerciseProcedure -> manualExercise -> exerciseNotice -> exerciseNoticeReceiver exists then ancillaryParty -> role contains AncillaryRoleEnum -> ExerciseNoticeReceiverPartyManual and if ancillaryParty -> role contains AncillaryRoleEnum -> ExerciseNoticeReceiverPartyManual then product -> contractualProduct -> economicTerms -> payout -> optionPayout -> exerciseTerms -> exerciseProcedure -> manualExercise -> exerciseNotice -> exerciseNoticeReceiver exists"
"TradableProductExerciseNoticeReceiverPartyManual"
-
"if product -> contractualProduct -> economicTerms -> terminationProvision -> earlyTerminationProvision -> optionalEarlyTermination -> exerciseNotice -> exerciseNoticeReceiver exists then ancillaryParty -> role contains AncillaryRoleEnum -> ExerciseNoticeReceiverPartyOptionalEarlyTermination and if ancillaryParty -> role contains AncillaryRoleEnum -> ExerciseNoticeReceiverPartyOptionalEarlyTermination then product -> contractualProduct -> economicTerms -> terminationProvision -> earlyTerminationProvision -> optionalEarlyTermination -> exerciseNotice -> exerciseNoticeReceiver exists"
"TradableProductExerciseNoticeReceiverPartyOptionalEarlyTermination"
-
"if product -> contractualProduct -> economicTerms -> payout -> forwardPayout -> settlementTerms -> physicalSettlementTerms -> predeterminedClearingOrganizationParty exists then ancillaryParty -> role contains AncillaryRoleEnum -> PredeterminedClearingOrganizationParty"
"TradableProductForwardPayout_PredeterminedClearingOrganizationParty"
-
"if adjustment exists then product -> contractualProduct -> economicTerms -> payout -> performancePayout -> returnTerms -> priceReturnTerms exists or product -> contractualProduct -> economicTerms -> payout -> performancePayout exists"
"TradableProductNotionalAdjustment"
-
"if product -> contractualProduct -> economicTerms -> payout -> optionPayout -> settlementTerms -> physicalSettlementTerms -> predeterminedClearingOrganizationParty exists then ancillaryParty -> role contains AncillaryRoleEnum -> PredeterminedClearingOrganizationParty"
"TradableProductOptionPayout_PredeterminedClearingOrganizationParty"
-
"if product -> contractualProduct -> economicTerms -> payout -> performancePayout -> returnTerms -> dividendReturnTerms -> extraordinaryDividendsParty exists then ancillaryParty -> role contains AncillaryRoleEnum -> ExtraordinaryDividendsParty and if ancillaryParty -> role contains AncillaryRoleEnum -> ExtraordinaryDividendsParty then product -> contractualProduct -> economicTerms -> payout -> performancePayout -> returnTerms -> dividendReturnTerms -> extraordinaryDividendsParty exists"
"TradableProductPerformancePayout_ExtraordinaryDividendsParty"
-
"if ancillaryParty -> role contains AncillaryRoleEnum -> PredeterminedClearingOrganizationParty then product -> contractualProduct -> economicTerms -> payout -> forwardPayout -> settlementTerms -> physicalSettlementTerms -> predeterminedClearingOrganizationParty exists or product -> contractualProduct -> economicTerms -> payout -> optionPayout -> settlementTerms -> physicalSettlementTerms -> predeterminedClearingOrganizationParty exists"
"TradableProductPredeterminedClearingOrganizationParty"
-
"PriceQuantityTriangulation(tradeLot) = True"
"TradableProductPriceQuantityTriangulation"