diff --git a/RELEASE.md b/RELEASE.md index a2b767b442..c4a28bae6b 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,39 +1,36 @@ -# *Collateral Model - Check Eligibility Function* +# *Rename product qualification for Securities Lending and Repo* _Background_ -As part of the [FINOS BMO Hackathon](https://www.finos.org/hosted-events/2023-05-03-finos-hackathon-bmo-nyc) event in May 2023, a demonstation of a [use-case](https://github.com/finos/community/discussions/251) was created that showed the CDM can be used to check collateral eligibility against multiple jurisdictions’ minimum collateral requirements and specific eligible collateral schedules. +The current product qualification rules do not distinguish between securities lending and repurchase agreement product types. A future enhancement will refactor how `product` works and also introduce additional capabilities to the qualification functions to use additional attributes to support finer grained qualification (see Issue #2365). -The demonstation was successful has been codified into the CDM and the `CheckEligibilityByDetails` function. +In the meantime, the current qualification rule for repurchase agreements - which is invoked also for securities lending products - will be renamed to be "SecuritiesFinancing" to more loosely differentiate both sets of products. -_Model Changes_ - -- Added new function/types: - - `CheckEligibilityByDetails` - Applys an `EligibilityQuery` to check against a set of given `EligibleCollateralSpecification` to determine which collateral meets the eligibility and can be used/posted for delivery. - -_Review directions_ +_What is being released?_ -- Review the changes in the model -- Inspect the Pull Request: https://github.com/finos/common-domain-model/pull/2439 +- An updated product qualification rule: `Qualify_RepurchaseAgreement` is renamed to `Qualify_SecuritiesFinancing`. -# *Product Model/ Collateral – ISO Country Code Enum and connection to Asset/Issuer Criteria* +_Data types_ -_What is being released?_ +No changes. -A new enumeration list has been added to the Common Domain Model named `ISOCountryCodeEnum`. -The following changes have been made in the CDM to connect to this (including replacing the string with the enum list in the following occurrences): +_Enumerations_ -1. Data type `IssuerCriteria` attribute `issuerCountryOfOrigin`, string and metadata scheme removed, `ISOCountryCodeEnum` added. -2. Data type `AssetCriteria` attribute `assetCountryOfOrigin`, string and metadata scheme removed, `ISOCountryCodeEnum` added. - -In addition, the following change has been made for connecting to ISO Currency codes: +No changes. -1. Data type `AssetCriteria` attribute `denominatedCurrency`, string and metadata scheme removed, `CurrencyCodeEnum` added. +_Sample Files_ +The following JSON sample files have been updated to reflect the current modeling of securities lending products which is to have the collateral information inside the `Collateral` data type rather than inside `AssetPayout`. -_Review Directions_ +- create-security-lending-invoice-func-input.json +- full-return-settlement-workflow-func-input.json +- new-settlement-workflow-func-input.json +- new-settlement-workflow-func-input.json +- allocation/allocation-sec-lending-func-input.json +- reallocation/reallocation-pre-settled-func-input.json -In the CDM Portal, select the Textual Browser and inspect the changes mentioned above. +_Review directions_ -Changes can be review in PR: https://github.com/finos/common-domain-model/pull/2477 +In the CDM Portal, select the Textual Browser and inspect each of the changes identified above. +Changes can be reviewed in PR: https://github.com/finos/common-domain-model/pull/2456 diff --git a/docs/event-model.md b/docs/event-model.md index 979cc805df..7a10c24139 100644 --- a/docs/event-model.md +++ b/docs/event-model.md @@ -890,6 +890,7 @@ type WorkflowStep: [metadata key] [rootType] businessEvent BusinessEvent (0..1) + counterpartyPositionBusinessEvent CounterpartyPositionBusinessEvent (0..1) proposedEvent EventInstruction (0..1) rejected boolean (0..1) approval WorkflowStepApproval (0..*) diff --git a/rosetta-source/src/main/java/cdm/event/workflow/processor/FISMapperMappingProcessor.java b/rosetta-source/src/main/java/cdm/event/workflow/processor/FISMapperMappingProcessor.java index 0fb30f0f1c..317e385ea3 100644 --- a/rosetta-source/src/main/java/cdm/event/workflow/processor/FISMapperMappingProcessor.java +++ b/rosetta-source/src/main/java/cdm/event/workflow/processor/FISMapperMappingProcessor.java @@ -555,8 +555,13 @@ private PathValue getEcTerms(PathValue private PathValue getSecPO(PathValue ts) { PathValue et = getEcTerms(ts); - return new PathValue<>(et.getModelPath().addElement("payout").addElement("securityFinancePayout", 0), - et.getValue().getOrCreatePayout().getOrCreateAssetPayout(0)); + return new PathValue<>(et.getModelPath().addElement("collateral").addElement("collateralPortfolio", 0) + .addElement("collateralPosition", 0).addElement("product") + .addElement("contractualProduct").addElement("economicTerms") + .addElement("payout").addElement("assetPayout", 0), + et.getValue().getOrCreateCollateral().getOrCreateCollateralPortfolio(0).getOrCreateValue() + .getOrCreateCollateralPosition(0).getOrCreateProduct().getOrCreateContractualProduct() + .getOrCreateEconomicTerms().getOrCreatePayout().getOrCreateAssetPayout(0)); } private PathValue getColPro(PathValue ts) { diff --git a/rosetta-source/src/main/java/cdm/security/lending/functions/SettlementFunctionHelper.java b/rosetta-source/src/main/java/cdm/security/lending/functions/SettlementFunctionHelper.java index a435f08eb2..9267e9a294 100644 --- a/rosetta-source/src/main/java/cdm/security/lending/functions/SettlementFunctionHelper.java +++ b/rosetta-source/src/main/java/cdm/security/lending/functions/SettlementFunctionHelper.java @@ -11,7 +11,9 @@ import cdm.event.common.functions.CalculateTransfer; import cdm.event.common.functions.Create_BusinessEvent; import cdm.event.common.functions.Create_Return; +import cdm.event.common.metafields.ReferenceWithMetaCollateralPortfolio; import cdm.event.workflow.EventInstruction; +import cdm.product.collateral.Collateral; import cdm.product.template.*; import com.google.common.collect.Iterables; import com.rosetta.model.lib.RosettaModelObject; @@ -21,9 +23,7 @@ import javax.inject.Inject; import java.time.LocalDate; -import java.util.Arrays; -import java.util.List; -import java.util.Optional; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -171,7 +171,17 @@ private Optional getPayout(BusinessEvent executionBusinessEvent) { .map(TradableProduct::getProduct) .map(Product::getContractualProduct) .map(ContractualProduct::getEconomicTerms) - .map(EconomicTerms::getPayout); + .map(EconomicTerms::getCollateral) + .map(Collateral::getCollateralPortfolio) + .orElse(Collections.emptyList()).stream() + .map(ReferenceWithMetaCollateralPortfolio::getValue) + .map(CollateralPortfolio::getCollateralPosition) + .flatMap(Collection::stream) + .map(CollateralPosition::getProduct) + .map(Product::getContractualProduct) + .map(ContractualProduct::getEconomicTerms) + .map(EconomicTerms::getPayout) + .findFirst(); } private Optional getSecurityPayout(BusinessEvent executionBusinessEvent) { diff --git a/rosetta-source/src/main/resources/cdm-sample-files/cme-cleared-confirm-1-17/expectations.json b/rosetta-source/src/main/resources/cdm-sample-files/cme-cleared-confirm-1-17/expectations.json index 9251070506..9f91111216 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/cme-cleared-confirm-1-17/expectations.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/cme-cleared-confirm-1-17/expectations.json @@ -1,20 +1,20 @@ [ -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/Basis-ex01-LIBOR-vs-SOFR.xml","excludedPaths":0,"externalPaths":313,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_Basis","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/FRA-ex01.xml","excludedPaths":0,"externalPaths":77,"outstandingMappings":4,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_Fra","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/FRA-ex02.xml","excludedPaths":0,"externalPaths":131,"outstandingMappings":4,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_Fra","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex01-Fixed-Float.xml","excludedPaths":0,"externalPaths":190,"outstandingMappings":8,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex02-Fixed-Float.xml","excludedPaths":0,"externalPaths":347,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex03-Fixed-Float-with-Amortizing-Schedule.xml","excludedPaths":0,"externalPaths":344,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex04-Fixed-Float-with-Compounding.xml","excludedPaths":0,"externalPaths":426,"outstandingMappings":7,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex05-Fixed-Float-with-Long-Stub.xml","excludedPaths":0,"externalPaths":316,"outstandingMappings":7,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex06-Fixed-Float-Non-Deliverable.xml","excludedPaths":0,"externalPaths":160,"outstandingMappings":8,"validationFailures":11,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_OIS","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex07-Fixed-Float-Zero-Coupon-BRL-CDI.xml","excludedPaths":0,"externalPaths":186,"outstandingMappings":8,"validationFailures":4,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_ZeroCoupon","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex08-Fixed-Float-Zero.xml","excludedPaths":0,"externalPaths":204,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_ZeroCoupon","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex09-OIS.xml","excludedPaths":0,"externalPaths":200,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_OIS","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex10-OIS.xml","excludedPaths":0,"externalPaths":200,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex11-OIS.xml","excludedPaths":0,"externalPaths":267,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_OIS","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/SWAPTION_TERMINATED_DUE_TO_EXERCISE.xml","excludedPaths":0,"externalPaths":194,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/SWAP_CREATED_DUE_TO_EXERCISE.xml","excludedPaths":0,"externalPaths":177,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/Swaption-ex01.xml","excludedPaths":0,"externalPaths":369,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/Swaption-ex02.xml","excludedPaths":0,"externalPaths":278,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, -{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/Swaption-ex03-Straddle-Physical-Exercise.xml","excludedPaths":0,"externalPaths":369,"outstandingMappings":6,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}] \ No newline at end of file +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/Basis-ex01-LIBOR-vs-SOFR.xml","excludedPaths":0,"externalPaths":313,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_Basis","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/FRA-ex01.xml","excludedPaths":0,"externalPaths":77,"outstandingMappings":4,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_Fra","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/FRA-ex02.xml","excludedPaths":0,"externalPaths":131,"outstandingMappings":4,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_Fra","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex01-Fixed-Float.xml","excludedPaths":0,"externalPaths":190,"outstandingMappings":8,"validationFailures":4,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex02-Fixed-Float.xml","excludedPaths":0,"externalPaths":347,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex03-Fixed-Float-with-Amortizing-Schedule.xml","excludedPaths":0,"externalPaths":344,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex04-Fixed-Float-with-Compounding.xml","excludedPaths":0,"externalPaths":426,"outstandingMappings":7,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex05-Fixed-Float-with-Long-Stub.xml","excludedPaths":0,"externalPaths":316,"outstandingMappings":7,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex06-Fixed-Float-Non-Deliverable.xml","excludedPaths":0,"externalPaths":160,"outstandingMappings":8,"validationFailures":12,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_OIS","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex07-Fixed-Float-Zero-Coupon-BRL-CDI.xml","excludedPaths":0,"externalPaths":186,"outstandingMappings":8,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_ZeroCoupon","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex08-Fixed-Float-Zero.xml","excludedPaths":0,"externalPaths":204,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_ZeroCoupon","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex09-OIS.xml","excludedPaths":0,"externalPaths":200,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_OIS","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex10-OIS.xml","excludedPaths":0,"externalPaths":200,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/IRS-ex11-OIS.xml","excludedPaths":0,"externalPaths":267,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_OIS","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/SWAPTION_TERMINATED_DUE_TO_EXERCISE.xml","excludedPaths":0,"externalPaths":194,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/SWAP_CREATED_DUE_TO_EXERCISE.xml","excludedPaths":0,"externalPaths":177,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/Swaption-ex01.xml","excludedPaths":0,"externalPaths":369,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/Swaption-ex02.xml","excludedPaths":0,"externalPaths":278,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, +{"fileName":"cdm-sample-files/cme-cleared-confirm-1-17/Swaption-ex03-Straddle-Physical-Exercise.xml","excludedPaths":0,"externalPaths":369,"outstandingMappings":6,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}] \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/cme-submission-irs-1-0/expectations.json b/rosetta-source/src/main/resources/cdm-sample-files/cme-submission-irs-1-0/expectations.json index 292baeeb0f..e6413627d3 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/cme-submission-irs-1-0/expectations.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/cme-submission-irs-1-0/expectations.json @@ -1,9 +1,9 @@ [ -{"fileName":"cdm-sample-files/cme-submission-irs-1-0/Contract_Submission.xml","excludedPaths":0,"externalPaths":112,"outstandingMappings":4,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_FRA_Submission.xml","excludedPaths":0,"externalPaths":66,"outstandingMappings":3,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_Fra","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_IRS_Submission.xml","excludedPaths":0,"externalPaths":113,"outstandingMappings":5,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_LIBOR-SOFR_Basis_Submission.xml","excludedPaths":0,"externalPaths":130,"outstandingMappings":5,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_Basis","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_OIS_SOFR_Submission.xml","excludedPaths":0,"externalPaths":109,"outstandingMappings":5,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_OIS_Submission.xml","excludedPaths":0,"externalPaths":109,"outstandingMappings":5,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_OIS","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_Swaption_Submission.xml","excludedPaths":0,"externalPaths":133,"outstandingMappings":5,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, -{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_ZCS_Submission.xml","excludedPaths":0,"externalPaths":112,"outstandingMappings":5,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_ZeroCoupon","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}] \ No newline at end of file +{"fileName":"cdm-sample-files/cme-submission-irs-1-0/Contract_Submission.xml","excludedPaths":0,"externalPaths":112,"outstandingMappings":4,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_FRA_Submission.xml","excludedPaths":0,"externalPaths":66,"outstandingMappings":3,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_Fra","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_IRS_Submission.xml","excludedPaths":0,"externalPaths":113,"outstandingMappings":5,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_LIBOR-SOFR_Basis_Submission.xml","excludedPaths":0,"externalPaths":130,"outstandingMappings":5,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_Basis","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_OIS_SOFR_Submission.xml","excludedPaths":0,"externalPaths":109,"outstandingMappings":5,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_OIS_Submission.xml","excludedPaths":0,"externalPaths":109,"outstandingMappings":5,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_OIS","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_Swaption_Submission.xml","excludedPaths":0,"externalPaths":133,"outstandingMappings":5,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, +{"fileName":"cdm-sample-files/cme-submission-irs-1-0/USD_ZCS_Submission.xml","excludedPaths":0,"externalPaths":112,"outstandingMappings":5,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat_ZeroCoupon","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}] \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/dtcc-11-0/expectations.json b/rosetta-source/src/main/resources/cdm-sample-files/dtcc-11-0/expectations.json index 652db6413a..e1997ac234 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/dtcc-11-0/expectations.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/dtcc-11-0/expectations.json @@ -1,7 +1,7 @@ [ -{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade1.xml","excludedPaths":0,"externalPaths":97,"outstandingMappings":5,"validationFailures":7,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade2.xml","excludedPaths":0,"externalPaths":89,"outstandingMappings":7,"validationFailures":8,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"CreditDefaultSwaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, -{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade3.xml","excludedPaths":0,"externalPaths":76,"outstandingMappings":5,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade4.xml","excludedPaths":0,"externalPaths":88,"outstandingMappings":5,"validationFailures":8,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade5.xml","excludedPaths":0,"externalPaths":74,"outstandingMappings":5,"validationFailures":9,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade6.xml","excludedPaths":0,"externalPaths":98,"outstandingMappings":6,"validationFailures":9,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}] \ No newline at end of file +{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade1.xml","excludedPaths":0,"externalPaths":97,"outstandingMappings":5,"validationFailures":8,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade2.xml","excludedPaths":0,"externalPaths":89,"outstandingMappings":7,"validationFailures":9,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"CreditDefaultSwaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, +{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade3.xml","excludedPaths":0,"externalPaths":76,"outstandingMappings":5,"validationFailures":6,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade4.xml","excludedPaths":0,"externalPaths":88,"outstandingMappings":5,"validationFailures":9,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade5.xml","excludedPaths":0,"externalPaths":74,"outstandingMappings":5,"validationFailures":10,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/dtcc-11-0/DDL_NewTrade6.xml","excludedPaths":0,"externalPaths":98,"outstandingMappings":6,"validationFailures":10,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}] \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/dtcc-9-0/expectations.json b/rosetta-source/src/main/resources/cdm-sample-files/dtcc-9-0/expectations.json index 55ec438925..9a4e5d4d6f 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/dtcc-9-0/expectations.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/dtcc-9-0/expectations.json @@ -1,2 +1,2 @@ [ -{"fileName":"cdm-sample-files/dtcc-9-0/SamplePayment.xml","excludedPaths":0,"externalPaths":60,"outstandingMappings":36,"validationFailures":4,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}] \ No newline at end of file +{"fileName":"cdm-sample-files/dtcc-9-0/SamplePayment.xml","excludedPaths":0,"externalPaths":60,"outstandingMappings":36,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}] \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/fis/expectations.json b/rosetta-source/src/main/resources/cdm-sample-files/fis/expectations.json index cc3878b7c6..fb9df7bcb8 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/fis/expectations.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/fis/expectations.json @@ -1,2 +1,2 @@ [ -{"fileName":"cdm-sample-files/fis/isla1.xml","excludedPaths":0,"externalPaths":120,"outstandingMappings":10,"validationFailures":37,"qualificationExpectation":{"success":false,"qualifyResults":[{"qualifiedName":"SecurityLendingAgreement","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"SecurityLendingAgreement","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"SecurityLendingAgreement","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"SecurityLendingAgreement","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"SecurityLendingAgreement","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"SecurityLendingAgreement","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":7}}] \ No newline at end of file +{"fileName":"cdm-sample-files/fis/isla1.xml","excludedPaths":0,"externalPaths":120,"outstandingMappings":10,"validationFailures":37,"qualificationExpectation":{"success":false,"qualifyResults":[{"qualifiedName":"SecuritiesFinance","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"SecuritiesFinance","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"SecuritiesFinance","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"SecuritiesFinance","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"SecuritiesFinance","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"SecuritiesFinance","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":13}}] \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/fpml-5-10/incomplete-processes/expectations.json b/rosetta-source/src/main/resources/cdm-sample-files/fpml-5-10/incomplete-processes/expectations.json index aaee8a4541..30e988fdb6 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/fpml-5-10/incomplete-processes/expectations.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/fpml-5-10/incomplete-processes/expectations.json @@ -1,19 +1,19 @@ [ -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex19-cds-execution-allocations.xml","excludedPaths":0,"externalPaths":137,"outstandingMappings":24,"validationFailures":10,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex54-execution-advice-trade-partial-termination-C11-00.xml","excludedPaths":0,"externalPaths":55,"outstandingMappings":22,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex55-execution-advice-trade-partial-termination-cancellation-C11-10.xml","excludedPaths":0,"externalPaths":45,"outstandingMappings":13,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex56-execution-advice-trade-full-termination-C12-00.xml","excludedPaths":0,"externalPaths":55,"outstandingMappings":22,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex57-execution-advice-trade-full-termination_correction-C12-20.xml","excludedPaths":0,"externalPaths":55,"outstandingMappings":22,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex59-execution-advice-trade-amendment-F02-00.xml","excludedPaths":0,"externalPaths":78,"outstandingMappings":19,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex60-execution-advice-trade-amendment-correction-F02-10.xml","excludedPaths":0,"externalPaths":78,"outstandingMappings":19,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex61-execution-advice-trade-change-F03-00.xml","excludedPaths":0,"externalPaths":80,"outstandingMappings":57,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex62-execution-advice-trade-change-correction-F03-10.xml","excludedPaths":0,"externalPaths":80,"outstandingMappings":57,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex64-execution-advice-trade-initiation-correction.xml","excludedPaths":0,"externalPaths":104,"outstandingMappings":7,"validationFailures":4,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex65-execution-advice-trade-partial-termination.xml","excludedPaths":0,"externalPaths":67,"outstandingMappings":33,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex66-execution-advice-trade-full-termination.xml","excludedPaths":0,"externalPaths":67,"outstandingMappings":33,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex67-execution-advice-trade-full-termination-correction.xml","excludedPaths":0,"externalPaths":67,"outstandingMappings":33,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/pkg-ex01-pkge-execution-notification.xml","excludedPaths":0,"externalPaths":172,"outstandingMappings":155,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/pkg-ex02-swap-spread-single-trade-execution-notification.xml","excludedPaths":0,"externalPaths":103,"outstandingMappings":16,"validationFailures":4,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/pkg-ex55-execution-notification.xml","excludedPaths":0,"externalPaths":190,"outstandingMappings":152,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/pkg-ex60-request-clearing.xml","excludedPaths":0,"externalPaths":182,"outstandingMappings":153,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, -{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/pkg-ex61-clearing-confirmed.xml","excludedPaths":0,"externalPaths":106,"outstandingMappings":13,"validationFailures":4,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}] \ No newline at end of file +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex19-cds-execution-allocations.xml","excludedPaths":0,"externalPaths":137,"outstandingMappings":24,"validationFailures":11,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex54-execution-advice-trade-partial-termination-C11-00.xml","excludedPaths":0,"externalPaths":55,"outstandingMappings":22,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex55-execution-advice-trade-partial-termination-cancellation-C11-10.xml","excludedPaths":0,"externalPaths":45,"outstandingMappings":13,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex56-execution-advice-trade-full-termination-C12-00.xml","excludedPaths":0,"externalPaths":55,"outstandingMappings":22,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex57-execution-advice-trade-full-termination_correction-C12-20.xml","excludedPaths":0,"externalPaths":55,"outstandingMappings":22,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex59-execution-advice-trade-amendment-F02-00.xml","excludedPaths":0,"externalPaths":78,"outstandingMappings":19,"validationFailures":6,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex60-execution-advice-trade-amendment-correction-F02-10.xml","excludedPaths":0,"externalPaths":78,"outstandingMappings":19,"validationFailures":6,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex61-execution-advice-trade-change-F03-00.xml","excludedPaths":0,"externalPaths":80,"outstandingMappings":57,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex62-execution-advice-trade-change-correction-F03-10.xml","excludedPaths":0,"externalPaths":80,"outstandingMappings":57,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex64-execution-advice-trade-initiation-correction.xml","excludedPaths":0,"externalPaths":104,"outstandingMappings":7,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex65-execution-advice-trade-partial-termination.xml","excludedPaths":0,"externalPaths":67,"outstandingMappings":33,"validationFailures":4,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex66-execution-advice-trade-full-termination.xml","excludedPaths":0,"externalPaths":67,"outstandingMappings":33,"validationFailures":4,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/msg-ex67-execution-advice-trade-full-termination-correction.xml","excludedPaths":0,"externalPaths":67,"outstandingMappings":33,"validationFailures":4,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/pkg-ex01-pkge-execution-notification.xml","excludedPaths":0,"externalPaths":172,"outstandingMappings":155,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/pkg-ex02-swap-spread-single-trade-execution-notification.xml","excludedPaths":0,"externalPaths":103,"outstandingMappings":16,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/pkg-ex55-execution-notification.xml","excludedPaths":0,"externalPaths":190,"outstandingMappings":152,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/pkg-ex60-request-clearing.xml","excludedPaths":0,"externalPaths":182,"outstandingMappings":153,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}, +{"fileName":"cdm-sample-files/fpml-5-10/incomplete-processes/pkg-ex61-clearing-confirmed.xml","excludedPaths":0,"externalPaths":106,"outstandingMappings":13,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}] \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/fpml-5-10/processes/expectations.json b/rosetta-source/src/main/resources/cdm-sample-files/fpml-5-10/processes/expectations.json index 12d0c15d16..98a8cff4de 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/fpml-5-10/processes/expectations.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/fpml-5-10/processes/expectations.json @@ -1,14 +1,14 @@ [ -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-cleared-alpha-trade-CFTC-SEC-and-canada.xml","excludedPaths":0,"externalPaths":264,"outstandingMappings":153,"validationFailures":14,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-ex51-execution-advice-trade-initiation-C01-00.xml","excludedPaths":0,"externalPaths":63,"outstandingMappings":7,"validationFailures":10,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-ex52-execution-advice-trade-partial-novation-C02-00.xml","excludedPaths":0,"externalPaths":94,"outstandingMappings":20,"validationFailures":6,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10.xml","excludedPaths":0,"externalPaths":94,"outstandingMappings":20,"validationFailures":6,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-ex58-execution-advice-trade-initiation-F01-00.xml","excludedPaths":0,"externalPaths":62,"outstandingMappings":7,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-ex63-execution-advice-trade-initiation.xml","excludedPaths":0,"externalPaths":101,"outstandingMappings":7,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-new-alpha-trade-CFTC-SEC-and-canada.xml","excludedPaths":0,"externalPaths":249,"outstandingMappings":138,"validationFailures":14,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-new-beta-trade-CFTC-SEC-and-canada.xml","excludedPaths":0,"externalPaths":225,"outstandingMappings":122,"validationFailures":14,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-new-trade-CFTC-SEC-and-canada.xml","excludedPaths":0,"externalPaths":271,"outstandingMappings":159,"validationFailures":14,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-new-trade-CFTC-clearing.xml","excludedPaths":0,"externalPaths":197,"outstandingMappings":98,"validationFailures":17,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-partial-termination-xccy-swap.xml","excludedPaths":0,"externalPaths":158,"outstandingMappings":32,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_CrossCurrency_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-partial-termination-xccy.xml","excludedPaths":0,"externalPaths":125,"outstandingMappings":66,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"ForeignExchange_Spot_Forward","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-partial-termination.xml","excludedPaths":0,"externalPaths":136,"outstandingMappings":28,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}] \ No newline at end of file +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-cleared-alpha-trade-CFTC-SEC-and-canada.xml","excludedPaths":0,"externalPaths":264,"outstandingMappings":153,"validationFailures":15,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-ex51-execution-advice-trade-initiation-C01-00.xml","excludedPaths":0,"externalPaths":63,"outstandingMappings":7,"validationFailures":11,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-ex52-execution-advice-trade-partial-novation-C02-00.xml","excludedPaths":0,"externalPaths":94,"outstandingMappings":20,"validationFailures":7,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-ex53-execution-advice-trade-partial-novation-correction-C02-10.xml","excludedPaths":0,"externalPaths":94,"outstandingMappings":20,"validationFailures":7,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-ex58-execution-advice-trade-initiation-F01-00.xml","excludedPaths":0,"externalPaths":62,"outstandingMappings":7,"validationFailures":6,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-ex63-execution-advice-trade-initiation.xml","excludedPaths":0,"externalPaths":101,"outstandingMappings":7,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-new-alpha-trade-CFTC-SEC-and-canada.xml","excludedPaths":0,"externalPaths":249,"outstandingMappings":138,"validationFailures":15,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-new-beta-trade-CFTC-SEC-and-canada.xml","excludedPaths":0,"externalPaths":225,"outstandingMappings":122,"validationFailures":15,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-new-trade-CFTC-SEC-and-canada.xml","excludedPaths":0,"externalPaths":271,"outstandingMappings":159,"validationFailures":15,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-new-trade-CFTC-clearing.xml","excludedPaths":0,"externalPaths":197,"outstandingMappings":98,"validationFailures":18,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-partial-termination-xccy-swap.xml","excludedPaths":0,"externalPaths":158,"outstandingMappings":32,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_CrossCurrency_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-partial-termination-xccy.xml","excludedPaths":0,"externalPaths":125,"outstandingMappings":66,"validationFailures":6,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"ForeignExchange_Spot_Forward","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/fpml-5-10/processes/msg-partial-termination.xml","excludedPaths":0,"externalPaths":136,"outstandingMappings":28,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}] \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/dtcc-11-0/DDL_NewTrade1-func-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/dtcc-11-0/DDL_NewTrade1-func-output.json index 4b96759b83..f7ea0ce761 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/dtcc-11-0/DDL_NewTrade1-func-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/dtcc-11-0/DDL_NewTrade1-func-output.json @@ -448,6 +448,9 @@ "globalKey" : "a7568501" } } ] + }, + "meta" : { + "globalKey" : "c40bbf1b" } }, "meta" : { @@ -928,6 +931,9 @@ "globalKey" : "a7568501" } } ] + }, + "meta" : { + "globalKey" : "c40bbf1b" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/cancellation-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/cancellation-input.json index 5ab0e04657..191dad510c 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/cancellation-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/cancellation-input.json @@ -338,6 +338,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -590,6 +593,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/cancellation-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/cancellation-output.json index ae6c9a6d9f..26ae21ea24 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/cancellation-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/cancellation-output.json @@ -141,7 +141,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -343,6 +343,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -395,7 +398,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -598,6 +601,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -821,7 +827,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1024,6 +1030,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1246,7 +1255,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1448,6 +1457,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/clearing-via-novation-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/clearing-via-novation-output.json index 24e13098c6..5cfda2b5f6 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/clearing-via-novation-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/clearing-via-novation-output.json @@ -129,7 +129,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -332,6 +332,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -569,7 +572,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -772,6 +775,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -990,7 +996,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1193,6 +1199,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1411,7 +1420,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1614,6 +1623,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/clearing-via-open-offer-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/clearing-via-open-offer-output.json index 6b46022327..783b7bcd45 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/clearing-via-open-offer-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/clearing-via-open-offer-output.json @@ -30,7 +30,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -233,6 +233,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -462,7 +465,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -665,6 +668,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -903,7 +909,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1106,6 +1112,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1349,7 +1358,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1552,6 +1561,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-interest-payment-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-interest-payment-input.json index 28ead6b20e..7d6768b00c 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-interest-payment-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-interest-payment-input.json @@ -253,6 +253,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -503,6 +506,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-interest-payment-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-interest-payment-output.json index 94f9d2b472..61f60d24c4 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-interest-payment-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-interest-payment-output.json @@ -255,6 +255,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -305,7 +308,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -508,6 +511,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -970,6 +976,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-rate-change-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-rate-change-input.json index 6cc9e4d403..d6dbafcfcf 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-rate-change-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-rate-change-input.json @@ -257,6 +257,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -509,6 +512,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-rate-change-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-rate-change-output.json index 22ba15fe10..00cc41f9a1 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-rate-change-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/on-demand-rate-change-output.json @@ -60,7 +60,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -262,6 +262,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -314,7 +317,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -517,6 +520,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -740,7 +746,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -943,6 +949,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1165,7 +1174,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1367,6 +1376,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/pair-off-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/pair-off-input.json index c23e04730d..6c209bf8ba 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/pair-off-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/pair-off-input.json @@ -213,6 +213,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -695,6 +698,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1094,6 +1100,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1576,6 +1585,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/pair-off-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/pair-off-output.json index 5c8ce795f4..2bb91a09ab 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/pair-off-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/pair-off-output.json @@ -15,7 +15,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -218,6 +218,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -500,7 +503,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -703,6 +706,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -902,7 +908,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1105,6 +1111,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1387,7 +1396,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1590,6 +1599,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1813,7 +1825,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -2016,6 +2028,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -2286,7 +2301,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -2489,6 +2504,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/repo-execution-func-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/repo-execution-func-output.json index 380687bfb4..02a244caeb 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/repo-execution-func-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/repo-execution-func-output.json @@ -14,7 +14,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -217,6 +217,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -449,7 +452,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -652,6 +655,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/roll-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/roll-input.json index 0009e555bb..d8ed686ce1 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/roll-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/roll-input.json @@ -338,6 +338,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -590,6 +593,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/roll-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/roll-output.json index 12c26844d2..605fb50d28 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/roll-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/roll-output.json @@ -141,7 +141,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -343,6 +343,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -395,7 +398,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -598,6 +601,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -820,7 +826,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1023,6 +1029,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1245,7 +1254,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1447,6 +1456,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/shaping-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/shaping-input.json index 0033bfb186..44097c1461 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/shaping-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/shaping-input.json @@ -234,6 +234,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -741,6 +744,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1248,6 +1254,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1782,6 +1791,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/shaping-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/shaping-output.json index 4ec37882ec..08a48788b6 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/shaping-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/repo-and-bond/shaping-output.json @@ -36,7 +36,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -239,6 +239,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -546,7 +549,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -749,6 +752,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1056,7 +1062,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1259,6 +1265,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -1593,7 +1602,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1796,6 +1805,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -2019,7 +2031,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -2222,6 +2234,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -2444,7 +2459,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -2647,6 +2662,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -2883,7 +2901,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -3086,6 +3104,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, @@ -3322,7 +3343,7 @@ } }, { "source" : "ISDA", - "productQualifier" : "RepurchaseAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -3525,6 +3546,9 @@ } } } ] + }, + "meta" : { + "globalKey" : "ff69d2cf" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/allocation/allocation-sec-lending-func-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/allocation/allocation-sec-lending-func-input.json index 85c819efb5..eb9edefa0f 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/allocation/allocation-sec-lending-func-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/allocation/allocation-sec-lending-func-input.json @@ -258,7 +258,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -419,107 +419,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, + } ], "meta" : { - "globalKey" : "7548eca6" + "globalKey" : "3b19750e" } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, - "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -529,15 +555,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -717,14 +746,14 @@ } } ], "meta" : { - "globalKey" : "ccd899e9" + "globalKey" : "b3a75a8c" } }, "state" : { "positionState" : "Executed" }, "meta" : { - "globalKey" : "a185ab38" + "globalKey" : "fa6cf1b" } } } diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/allocation/allocation-sec-lending-func-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/allocation/allocation-sec-lending-func-output.json index af2405d000..4a2f7f545b 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/allocation/allocation-sec-lending-func-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/allocation/allocation-sec-lending-func-output.json @@ -230,7 +230,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -391,107 +391,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2256" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", - "meta" : { - "globalKey" : "3f2296" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" + "globalKey" : "3b19750e" } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -501,15 +527,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -689,14 +718,14 @@ } } ], "meta" : { - "globalKey" : "ccd899e9" + "globalKey" : "b3a75a8c" } }, "state" : { "positionState" : "Executed" }, "meta" : { - "globalKey" : "a185ab38" + "globalKey" : "fa6cf1b" } } } @@ -728,7 +757,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -889,107 +918,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2256" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", - "meta" : { - "globalKey" : "3f2296" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -999,15 +1054,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -1210,11 +1268,11 @@ "role" : "AgentLender" } ], "meta" : { - "globalKey" : "15fdf316" + "globalKey" : "ee6d4bf9" } }, "meta" : { - "globalKey" : "15fdf316" + "globalKey" : "ee6d4bf9" } }, { "trade" : { @@ -1242,7 +1300,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1403,107 +1461,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2256" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", - "meta" : { - "globalKey" : "3f2296" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" + "globalKey" : "3b19750e" } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1513,15 +1597,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -1724,11 +1811,11 @@ "role" : "AgentLender" } ], "meta" : { - "globalKey" : "e56e91fc" + "globalKey" : "951b633d" } }, "meta" : { - "globalKey" : "e56e91fc" + "globalKey" : "951b633d" } }, { "trade" : { @@ -1756,7 +1843,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1917,107 +2004,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -2027,15 +2140,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -2215,7 +2331,7 @@ } } ], "meta" : { - "globalKey" : "721dcd72" + "globalKey" : "58ec8e15" } }, "state" : { @@ -2225,10 +2341,10 @@ "positionState" : "Closed" }, "meta" : { - "globalKey" : "a965e901" + "globalKey" : "13cda024" } } ], "meta" : { - "globalKey" : "a50d4fce" + "globalKey" : "bf40601a" } } \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/block-execution-instruction.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/block-execution-instruction.json index adabca59ad..11a30fe808 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/block-execution-instruction.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/block-execution-instruction.json @@ -4,7 +4,7 @@ "productTaxonomy": [ { "source": "ISDA", - "productQualifier": "SecurityLendingAgreement" + "productQualifier": "SecuritiesFinance" } ], "economicTerms": { @@ -107,76 +107,94 @@ } } } - ], - "assetPayout": [ + ] + }, + "collateral": { + "collateralPortfolio": [ { - "payerReceiver": { - "payer": "Party1", - "receiver": "Party2" - }, - "assetLeg": [ - { - "settlementDate": { - "adjustableDate": { - "dateAdjustments": { - "businessDayConvention": "NONE" - }, - "adjustedDate": { - "value": "2020-09-22" - } - } - }, - "deliveryMethod": "DeliveryVersusPayment" - }, - { - "settlementDate": { - "adjustableDate": { - "dateAdjustments": { - "businessDayConvention": "NONE" - }, - "adjustedDate": { - "value": "2020-10-22" - } - } - }, - "deliveryMethod": "DeliveryVersusPayment" - } - ], - "securityInformation": { - "security": { - "productIdentifier": [ - { - "value": { - "identifier": { - "value": "ST001" - }, - "source": "SEDOL" + "value": { + "collateralPosition": [ + { + "product": { + "contractualProduct": { + "economicTerms": { + "payout": { + "assetPayout": [ + { + "payerReceiver": { + "payer": "Party1", + "receiver": "Party2" + }, + "assetLeg": [ + { + "settlementDate": { + "adjustableDate": { + "dateAdjustments": { + "businessDayConvention": "NONE" + }, + "adjustedDate": { + "value": "2020-09-22" + } + } + }, + "deliveryMethod": "DeliveryVersusPayment" + }, + { + "settlementDate": { + "adjustableDate": { + "dateAdjustments": { + "businessDayConvention": "NONE" + }, + "adjustedDate": { + "value": "2020-10-22" + } + } + }, + "deliveryMethod": "DeliveryVersusPayment" + } + ], + "securityInformation": { + "security": { + "productIdentifier": [ + { + "value": { + "identifier": { + "value": "ST001" + }, + "source": "SEDOL" + } + } + ], + "securityType": "Equity" + } + }, + "durationType": { + "durationType": "Term" + }, + "minimumFee": { + "value": 0, + "unit": { + "currency": { + "value": "USD" + } + } + }, + "dividendTerms": { + "manufacturedIncomeRequirement": { + "totalRatio": 1 + } + } + } + ] + } + } } } - ], - "securityType": "Equity" - } - }, - "durationType": { - "durationType": "Term" - }, - "minimumFee": { - "value": 0, - "unit": { - "currency": { - "value": "USD" } - } - }, - "dividendTerms": { - "manufacturedIncomeRequirement": { - "totalRatio": 1 - } + ] } } - ] - }, - "collateral": { + ], "collateralProvisions": { "collateralType": "Cash", "eligibleCollateral": [ diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/create-security-lending-invoice-func-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/create-security-lending-invoice-func-input.json index f104198642..60da078073 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/create-security-lending-invoice-func-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/create-security-lending-invoice-func-input.json @@ -63,7 +63,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -224,107 +224,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, + } ], "meta" : { - "globalKey" : "7548eca6" + "globalKey" : "3b19750e" } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, - "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -334,15 +360,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -538,7 +567,7 @@ } } ], "meta" : { - "globalKey" : "4e6014a5" + "globalKey" : "bdb68f08" } }, "state" : { @@ -694,7 +723,7 @@ } } ], "meta" : { - "globalKey" : "bd82914b" + "globalKey" : "ba4119c8" } } }, @@ -994,7 +1023,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1155,107 +1184,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" + "globalKey" : "3b19750e" } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1265,15 +1320,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -1469,7 +1527,7 @@ } } ], "meta" : { - "globalKey" : "724b67db" + "globalKey" : "e1a1e23e" } }, "transferHistory" : [ { @@ -1622,7 +1680,7 @@ } } ], "meta" : { - "globalKey" : "acacc04" + "globalKey" : "799b4fc1" } } }, @@ -1766,7 +1824,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1927,107 +1985,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" + "globalKey" : "3b19750e" } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -2037,15 +2121,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -2241,7 +2328,7 @@ } } ], "meta" : { - "globalKey" : "724b67db" + "globalKey" : "e1a1e23e" } }, "transferHistory" : [ { @@ -2542,7 +2629,7 @@ } } ], "meta" : { - "globalKey" : "30932f4c" + "globalKey" : "ebbf596f" } } }, diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/create-security-lending-invoice-func-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/create-security-lending-invoice-func-output.json index da5d9d3ba5..c8efb0a727 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/create-security-lending-invoice-func-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/create-security-lending-invoice-func-output.json @@ -63,7 +63,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -224,107 +224,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, + } ], "meta" : { - "globalKey" : "7548eca6" + "globalKey" : "3b19750e" } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, - "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -334,15 +360,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -538,7 +567,7 @@ } } ], "meta" : { - "globalKey" : "4e6014a5" + "globalKey" : "bdb68f08" } }, "state" : { @@ -1088,7 +1117,7 @@ } } ], "meta" : { - "globalKey" : "f4588ec0" + "globalKey" : "2be1453d" } } }, @@ -1180,7 +1209,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1341,107 +1370,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" + "globalKey" : "3b19750e" } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1451,15 +1506,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -1655,7 +1713,7 @@ } } ], "meta" : { - "globalKey" : "724b67db" + "globalKey" : "e1a1e23e" } }, "resetHistory" : [ { @@ -1981,7 +2039,7 @@ } } ], "meta" : { - "globalKey" : "bf54da2b" + "globalKey" : "295a504e" } } }, @@ -2073,7 +2131,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -2234,107 +2292,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" + "globalKey" : "3b19750e" } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -2344,15 +2428,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -2548,7 +2635,7 @@ } } ], "meta" : { - "globalKey" : "724b67db" + "globalKey" : "e1a1e23e" } }, "resetHistory" : [ { @@ -3090,7 +3177,7 @@ } } ], "meta" : { - "globalKey" : "8fb6e427" + "globalKey" : "280699a4" } } }, @@ -3156,6 +3243,6 @@ "recordEndDate" : "2020-10-22" } ], "meta" : { - "globalKey" : "770c8538" + "globalKey" : "72dc8475" } } \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/full-return-settlement-workflow-func-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/full-return-settlement-workflow-func-input.json index dab438bea0..ca282a2d9f 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/full-return-settlement-workflow-func-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/full-return-settlement-workflow-func-input.json @@ -25,7 +25,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -186,107 +186,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, + } ], "meta" : { - "globalKey" : "7548eca6" + "globalKey" : "3b19750e" } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, - "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -296,15 +322,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -500,7 +529,7 @@ } } ], "meta" : { - "globalKey" : "4e6014a5" + "globalKey" : "bdb68f08" } }, "state" : { @@ -656,7 +685,7 @@ } } ], "meta" : { - "globalKey" : "bd82914b" + "globalKey" : "ba4119c8" } }, "returnInstruction" : { diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/full-return-settlement-workflow-func-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/full-return-settlement-workflow-func-output.json index f1ae307d3e..f07f2ef5d2 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/full-return-settlement-workflow-func-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/full-return-settlement-workflow-func-output.json @@ -28,7 +28,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -189,107 +189,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -299,15 +325,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -503,7 +532,7 @@ } } ], "meta" : { - "globalKey" : "58e8bd6e" + "globalKey" : "c83f37d1" } }, "state" : { @@ -659,11 +688,11 @@ } } ], "meta" : { - "globalKey" : "a8a64125" + "globalKey" : "a564c9a2" } } ], "meta" : { - "globalKey" : "a447b5f0" + "globalKey" : "ea876a77" } }, "messageInformation" : { @@ -687,7 +716,7 @@ } ], "action" : "New", "meta" : { - "globalKey" : "c6ceb243" + "globalKey" : "73150a" } }, { "proposedEvent" : { @@ -873,7 +902,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1034,107 +1063,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1144,15 +1199,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -1348,7 +1406,7 @@ } } ], "meta" : { - "globalKey" : "58e8bd6e" + "globalKey" : "c83f37d1" } }, "state" : { @@ -1504,14 +1562,14 @@ } } ], "meta" : { - "globalKey" : "a8a64125" + "globalKey" : "a564c9a2" } } } } ] }, "previousWorkflowStep" : { - "globalReference" : "eb2853c3" + "globalReference" : "6518ea0a" }, "messageInformation" : { "messageId" : { @@ -1533,7 +1591,7 @@ } } ], "meta" : { - "globalKey" : "251b68d2" + "globalKey" : "61af4817" } }, { "businessEvent" : { @@ -1719,7 +1777,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1880,107 +1938,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1990,15 +2074,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -2194,7 +2281,7 @@ } } ], "meta" : { - "globalKey" : "58e8bd6e" + "globalKey" : "c83f37d1" } }, "state" : { @@ -2350,7 +2437,7 @@ } } ], "meta" : { - "globalKey" : "a8a64125" + "globalKey" : "a564c9a2" } } } @@ -2382,7 +2469,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -2543,107 +2630,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2256" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", - "meta" : { - "globalKey" : "3f2296" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -2653,15 +2766,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -2857,7 +2973,7 @@ } } ], "meta" : { - "globalKey" : "58e8bd6e" + "globalKey" : "c83f37d1" } }, "state" : { @@ -3164,15 +3280,15 @@ } } ], "meta" : { - "globalKey" : "9ac3b309" + "globalKey" : "31b813ac" } } ], "meta" : { - "globalKey" : "ec7ab052" + "globalKey" : "6668849e" } }, "previousWorkflowStep" : { - "globalReference" : "cd058452" + "globalReference" : "8ed73c97" }, "messageInformation" : { "messageId" : { @@ -3194,7 +3310,7 @@ } } ], "meta" : { - "globalKey" : "8fd1ba76" + "globalKey" : "f5747eaa" } } ] } \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/new-settlement-workflow-func-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/new-settlement-workflow-func-input.json index faadf83291..20abd77bbe 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/new-settlement-workflow-func-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/new-settlement-workflow-func-input.json @@ -101,85 +101,102 @@ } } } - ], - "assetPayout": [ + ] + }, + "collateral": { + "collateralPortfolio": [ { - "payerReceiver": { - "payer": "Party1", - "receiver": "Party2" - }, - "assetLeg": [ - { - "settlementDate": { - "adjustableDate": { - "dateAdjustments": { - "businessDayConvention": "NONE" - }, - "adjustedDate": { - "value": "2020-09-22" - } - } - }, - "deliveryMethod": "DeliveryVersusPayment" - }, - { - "settlementDate": { - "adjustableDate": { - "dateAdjustments": { - "businessDayConvention": "NONE" - }, - "adjustedDate": { - "value": "2020-10-22" - } - } - }, - "deliveryMethod": "DeliveryVersusPayment" - } - ], - "securityInformation": { - "security": { - "productIdentifier": [ - { - "value": { - "identifier": { - "value": "ST001" - }, - "source": "SEDOL" - } + "value": { + "collateralPosition": [ + { + "product": { + "contractualProduct": { + "economicTerms": { + "payout": { + "assetPayout": [ + { + "payerReceiver": { + "payer": "Party1", + "receiver": "Party2" + }, + "assetLeg": [ + { + "settlementDate": { + "adjustableDate": { + "dateAdjustments": { + "businessDayConvention": "NONE" + }, + "adjustedDate": { + "value": "2020-09-22" + } + } + }, + "deliveryMethod": "DeliveryVersusPayment" + }, + { + "settlementDate": { + "adjustableDate": { + "dateAdjustments": { + "businessDayConvention": "NONE" + }, + "adjustedDate": { + "value": "2020-10-22" + } + } + }, + "deliveryMethod": "DeliveryVersusPayment" + } + ], + "securityInformation": { + "security": { + "productIdentifier": [ + { + "value": { + "identifier": { + "value": "ST001" + }, + "source": "SEDOL" + } + } + ], + "securityType": "Equity" + } + }, + "durationType": { + "durationType": "Term" + }, + "minimumFee": { + "value": 0, + "unit": { + "currency": { + "value": "USD" + } + } + }, + "dividendTerms": { + "manufacturedIncomeRequirement": { + "totalRatio": 1 + } + } + } + ] } - ], - "securityType": "Equity" - } - }, - "durationType": { - "durationType": "Term" - }, - "minimumFee": { - "value": 0, - "unit": { - "currency": { - "value": "USD" } } - }, - "dividendTerms": { - "manufacturedIncomeRequirement": { - "totalRatio": 1 - } } - } - ] - }, - "collateral": { + } ] + } + } + ] , "collateralProvisions": { "collateralType": "Cash", "eligibleCollateral": [ { - "treatment": { - "valuationTreatment": { - "marginPercentage": 0.02 - } - } + "treatment": { + "valuationTreatment": { + "marginPercentage": 0.02 + } + } } ] } diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/new-settlement-workflow-func-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/new-settlement-workflow-func-output.json index 53e27cfa67..6a4b507ffd 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/new-settlement-workflow-func-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/new-settlement-workflow-func-output.json @@ -9,7 +9,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -170,107 +170,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" + "globalKey" : "3b19750e" } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -280,15 +306,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "priceQuantity" : [ { @@ -529,7 +558,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -690,107 +719,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -800,15 +855,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -1004,18 +1062,18 @@ } } ], "meta" : { - "globalKey" : "4e6014a5" + "globalKey" : "bdb68f08" } }, "state" : { "positionState" : "Executed" }, "meta" : { - "globalKey" : "df1966f4" + "globalKey" : "d2bad497" } } ], "meta" : { - "globalKey" : "c2c46704" + "globalKey" : "7b5e4e4" } }, "messageInformation" : { @@ -1039,7 +1097,7 @@ } ], "action" : "New", "meta" : { - "globalKey" : "6d845d97" + "globalKey" : "5e46377" } }, { "proposedEvent" : { @@ -1225,7 +1283,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1386,107 +1444,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1496,15 +1580,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -1700,21 +1787,21 @@ } } ], "meta" : { - "globalKey" : "4e6014a5" + "globalKey" : "bdb68f08" } }, "state" : { "positionState" : "Executed" }, "meta" : { - "globalKey" : "df1966f4" + "globalKey" : "d2bad497" } } } } ] }, "previousWorkflowStep" : { - "globalReference" : "6d845d97" + "globalReference" : "5e46377" }, "messageInformation" : { "messageId" : { @@ -1736,7 +1823,7 @@ } } ], "meta" : { - "globalKey" : "dc7f2159" + "globalKey" : "6157ad0c" } }, { "businessEvent" : { @@ -1922,7 +2009,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -2083,107 +2170,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" + "globalKey" : "3b19750e" } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -2193,15 +2306,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -2397,14 +2513,14 @@ } } ], "meta" : { - "globalKey" : "4e6014a5" + "globalKey" : "bdb68f08" } }, "state" : { "positionState" : "Executed" }, "meta" : { - "globalKey" : "df1966f4" + "globalKey" : "d2bad497" } } } @@ -2436,7 +2552,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -2597,107 +2713,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" + "globalKey" : "3b19750e" } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -2707,15 +2849,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -2911,7 +3056,7 @@ } } ], "meta" : { - "globalKey" : "4e6014a5" + "globalKey" : "bdb68f08" } }, "state" : { @@ -3067,15 +3212,15 @@ } } ], "meta" : { - "globalKey" : "bd82914b" + "globalKey" : "ba4119c8" } } ], "meta" : { - "globalKey" : "7315e3fb" + "globalKey" : "f70c0c4b" } }, "previousWorkflowStep" : { - "globalReference" : "c0902559" + "globalReference" : "7cda290c" }, "messageInformation" : { "messageId" : { @@ -3097,7 +3242,7 @@ } } ], "meta" : { - "globalKey" : "2a314a6d" + "globalKey" : "d9d5d01d" } } ] } \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/part-return-settlement-workflow-func-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/part-return-settlement-workflow-func-input.json index 410cb99adc..0604ba9c36 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/part-return-settlement-workflow-func-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/part-return-settlement-workflow-func-input.json @@ -25,7 +25,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -186,107 +186,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, + } ], "meta" : { - "globalKey" : "7548eca6" + "globalKey" : "3b19750e" } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, - "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -296,15 +322,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -500,7 +529,7 @@ } } ], "meta" : { - "globalKey" : "4e6014a5" + "globalKey" : "bdb68f08" } }, "state" : { @@ -656,7 +685,7 @@ } } ], "meta" : { - "globalKey" : "bd82914b" + "globalKey" : "ba4119c8" } }, "returnInstruction" : { diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/part-return-settlement-workflow-func-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/part-return-settlement-workflow-func-output.json index 9f9c8183f3..751342c21d 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/part-return-settlement-workflow-func-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/part-return-settlement-workflow-func-output.json @@ -28,7 +28,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -189,107 +189,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -299,15 +325,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -503,7 +532,7 @@ } } ], "meta" : { - "globalKey" : "724b67db" + "globalKey" : "e1a1e23e" } }, "transferHistory" : [ { @@ -656,11 +685,11 @@ } } ], "meta" : { - "globalKey" : "acacc04" + "globalKey" : "799b4fc1" } } ], "meta" : { - "globalKey" : "28ff267c" + "globalKey" : "943abe49" } }, "messageInformation" : { @@ -684,7 +713,7 @@ } ], "action" : "New", "meta" : { - "globalKey" : "1c567002" + "globalKey" : "c41e968f" } }, { "proposedEvent" : { @@ -870,7 +899,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1031,107 +1060,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1141,15 +1196,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -1345,7 +1403,7 @@ } } ], "meta" : { - "globalKey" : "724b67db" + "globalKey" : "e1a1e23e" } }, "transferHistory" : [ { @@ -1498,14 +1556,14 @@ } } ], "meta" : { - "globalKey" : "acacc04" + "globalKey" : "799b4fc1" } } } } ] }, "previousWorkflowStep" : { - "globalReference" : "72911782" + "globalReference" : "5913748f" }, "messageInformation" : { "messageId" : { @@ -1527,7 +1585,7 @@ } } ], "meta" : { - "globalKey" : "10a25a0" + "globalKey" : "4a099c55" } }, { "businessEvent" : { @@ -1713,7 +1771,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1874,107 +1932,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1984,15 +2068,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -2188,7 +2275,7 @@ } } ], "meta" : { - "globalKey" : "724b67db" + "globalKey" : "e1a1e23e" } }, "transferHistory" : [ { @@ -2341,7 +2428,7 @@ } } ], "meta" : { - "globalKey" : "acacc04" + "globalKey" : "799b4fc1" } } } @@ -2373,7 +2460,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -2534,107 +2621,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -2644,15 +2757,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -2848,7 +2964,7 @@ } } ], "meta" : { - "globalKey" : "724b67db" + "globalKey" : "e1a1e23e" } }, "transferHistory" : [ { @@ -3149,15 +3265,15 @@ } } ], "meta" : { - "globalKey" : "30932f4c" + "globalKey" : "ebbf596f" } } ], "meta" : { - "globalKey" : "77ce833e" + "globalKey" : "3ed307a8" } }, "previousWorkflowStep" : { - "globalReference" : "fae2fae0" + "globalReference" : "5fd25f15" }, "messageInformation" : { "messageId" : { @@ -3179,7 +3295,7 @@ } } ], "meta" : { - "globalKey" : "beb44391" + "globalKey" : "f603b8e7" } } ] } \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/reallocation/reallocation-pre-settled-func-input.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/reallocation/reallocation-pre-settled-func-input.json index 4a1a2439b2..b1d2b700d6 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/reallocation/reallocation-pre-settled-func-input.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/reallocation/reallocation-pre-settled-func-input.json @@ -163,7 +163,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -324,107 +324,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, + } ], "meta" : { - "globalKey" : "7548eca6" + "globalKey" : "3b19750e" } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, - "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -434,15 +460,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -645,11 +674,11 @@ "role" : "AgentLender" } ], "meta" : { - "globalKey" : "83eb484e" + "globalKey" : "276c64cf" } }, "meta" : { - "globalKey" : "83eb484e" + "globalKey" : "276c64cf" } } } diff --git a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/reallocation/reallocation-pre-settled-func-output.json b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/reallocation/reallocation-pre-settled-func-output.json index aa9a92b9fd..71c556fb45 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/reallocation/reallocation-pre-settled-func-output.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/functions/sec-lending/reallocation/reallocation-pre-settled-func-output.json @@ -145,7 +145,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -306,107 +306,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" + "globalKey" : "3b19750e" } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 - } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -416,15 +442,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -627,11 +656,11 @@ "role" : "AgentLender" } ], "meta" : { - "globalKey" : "83eb484e" + "globalKey" : "276c64cf" } }, "meta" : { - "globalKey" : "83eb484e" + "globalKey" : "276c64cf" } } } @@ -663,7 +692,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -824,107 +853,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2256" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", - "meta" : { - "globalKey" : "3f2296" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -934,15 +989,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -1182,11 +1240,11 @@ "role" : "AgentLender" } ], "meta" : { - "globalKey" : "4a4db28e" + "globalKey" : "e49f89f1" } }, "meta" : { - "globalKey" : "4a4db28e" + "globalKey" : "e49f89f1" } }, { "trade" : { @@ -1214,7 +1272,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1375,107 +1433,133 @@ "globalKey" : "98fd77d9" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", - "meta" : { - "globalKey" : "3f2256" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - }, { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-10-22", + "meta" : { + "globalKey" : "98fd77d9" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + }, { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-10-22", + "meta" : { + "globalKey" : "3f2296" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "value" : { + "identifier" : { + "value" : "ST001" + }, + "source" : "SEDOL", + "meta" : { + "globalKey" : "a4ff65ff" + } + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7548eca6" + } + }, + "durationType" : { + "durationType" : "Term" + }, + "minimumFee" : { + "value" : 0, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1 + } + }, + "meta" : { + "globalKey" : "3b19750e" + } + } ], + "meta" : { + "globalKey" : "3b19750e" + } + } + }, "meta" : { - "globalKey" : "3f2296" + "globalKey" : "3b19750e" } }, "meta" : { - "globalKey" : "24a738" - } - }, - "meta" : { - "globalKey" : "24a738" - } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "value" : { - "identifier" : { - "value" : "ST001" - }, - "source" : "SEDOL", - "meta" : { - "globalKey" : "a4ff65ff" - } + "globalKey" : "3b19750e" } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7548eca6" - } - }, - "durationType" : { - "durationType" : "Term" - }, - "minimumFee" : { - "value" : 0, - "unit" : { - "currency" : { - "value" : "USD" } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1 + "globalKey" : "3b19750e" } - }, - "meta" : { - "globalKey" : "3b19750e" } } ], - "meta" : { - "globalKey" : "43b3b6a7" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1485,15 +1569,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "121818c1" } } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "meta" : { - "globalKey" : "43fbc31c" + "globalKey" : "f7fe0d6f" } }, "tradeLot" : [ { @@ -1696,14 +1783,14 @@ "role" : "AgentLender" } ], "meta" : { - "globalKey" : "edc1676a" + "globalKey" : "914283eb" } }, "meta" : { - "globalKey" : "edc1676a" + "globalKey" : "914283eb" } } ], "meta" : { - "globalKey" : "59f4216b" + "globalKey" : "ed6df130" } } \ No newline at end of file diff --git a/rosetta-source/src/main/resources/cdm-sample-files/native-cdm-events/expectations.json b/rosetta-source/src/main/resources/cdm-sample-files/native-cdm-events/expectations.json index cf8f13d9dc..7b1a3d0ba7 100644 --- a/rosetta-source/src/main/resources/cdm-sample-files/native-cdm-events/expectations.json +++ b/rosetta-source/src/main/resources/cdm-sample-files/native-cdm-events/expectations.json @@ -1,16 +1,16 @@ [ -{"fileName":"cdm-sample-files/native-cdm-events/Example-01-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-02-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-03-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-04-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-05-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-06-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-07-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-07-Submission-2.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-07-Submission-3.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":1,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-08-Submission-1.xml","excludedPaths":0,"externalPaths":172,"outstandingMappings":30,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-09-Submission-1.xml","excludedPaths":0,"externalPaths":145,"outstandingMappings":28,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-10-Submission-1.xml","excludedPaths":0,"externalPaths":144,"outstandingMappings":32,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-11-Submission-1.xml","excludedPaths":0,"externalPaths":122,"outstandingMappings":28,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-12-Submission-1.xml","excludedPaths":0,"externalPaths":94,"outstandingMappings":42,"validationFailures":4,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, -{"fileName":"cdm-sample-files/native-cdm-events/Example-12-Submission-2.xml","excludedPaths":0,"externalPaths":94,"outstandingMappings":42,"validationFailures":4,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}] \ No newline at end of file +{"fileName":"cdm-sample-files/native-cdm-events/Example-01-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-02-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-03-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-04-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-05-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-06-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-07-Submission-1.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-07-Submission-2.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-07-Submission-3.xml","excludedPaths":0,"externalPaths":129,"outstandingMappings":31,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-08-Submission-1.xml","excludedPaths":0,"externalPaths":172,"outstandingMappings":30,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-09-Submission-1.xml","excludedPaths":0,"externalPaths":145,"outstandingMappings":28,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"},{"qualifiedName":"InterestRate_Option_Swaption","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":2}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-10-Submission-1.xml","excludedPaths":0,"externalPaths":144,"outstandingMappings":32,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-11-Submission-1.xml","excludedPaths":0,"externalPaths":122,"outstandingMappings":28,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"InterestRate_IRSwap_FixedFloat","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-12-Submission-1.xml","excludedPaths":0,"externalPaths":94,"outstandingMappings":42,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}, +{"fileName":"cdm-sample-files/native-cdm-events/Example-12-Submission-2.xml","excludedPaths":0,"externalPaths":94,"outstandingMappings":42,"validationFailures":5,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"CreditDefaultSwap_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}}] \ No newline at end of file diff --git a/rosetta-source/src/main/resources/result-json-files/dtcc-11-0/DDL_NewTrade1.json b/rosetta-source/src/main/resources/result-json-files/dtcc-11-0/DDL_NewTrade1.json index a36cb3b431..c3b4c7565a 100644 --- a/rosetta-source/src/main/resources/result-json-files/dtcc-11-0/DDL_NewTrade1.json +++ b/rosetta-source/src/main/resources/result-json-files/dtcc-11-0/DDL_NewTrade1.json @@ -448,6 +448,9 @@ "globalKey" : "a7568501" } } ] + }, + "meta" : { + "globalKey" : "75638bce" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fis/isla1.json b/rosetta-source/src/main/resources/result-json-files/fis/isla1.json index e3ed24fe6e..33d7ef39aa 100644 --- a/rosetta-source/src/main/resources/result-json-files/fis/isla1.json +++ b/rosetta-source/src/main/resources/result-json-files/fis/isla1.json @@ -3,7 +3,7 @@ "eventDate" : "2020-09-22", "instruction" : [ { "before" : { - "globalReference" : "909134c6", + "globalReference" : "ce158064", "externalReference" : "TradeState" } } ], @@ -30,7 +30,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -148,78 +148,104 @@ "globalKey" : "d3c969a8" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", + "meta" : { + "globalKey" : "d3c969a8" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "address" : { + "scope" : "DOCUMENT", + "value" : "productIdentifier-1" + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7a5b92c5" + } + }, + "durationType" : { + "durationType" : "Open" + }, + "minimumFee" : { + "value" : 0.00, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1.00 + } + }, + "meta" : { + "globalKey" : "37f53f11" + } + } ], + "meta" : { + "globalKey" : "37f53f11" + } + } + }, "meta" : { - "globalKey" : "3f2256" + "globalKey" : "37f53f11" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "37f53f11" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "address" : { - "scope" : "DOCUMENT", - "value" : "productIdentifier-1" - } - } ], - "securityType" : "Equity" - }, + } ], "meta" : { - "globalKey" : "7a5b92c5" + "globalKey" : "37f53f11" } - }, - "durationType" : { - "durationType" : "Open" - }, - "minimumFee" : { - "value" : 0.00, - "unit" : { - "currency" : { - "value" : "USD" - } - }, - "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1.00 - } - }, - "meta" : { - "globalKey" : "37f53f11" } } ], - "meta" : { - "globalKey" : "36ab7869" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -229,15 +255,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "8109035" } } }, "meta" : { - "globalKey" : "4d3de56" + "globalKey" : "ce36c232" } }, "meta" : { - "globalKey" : "4d3de56" + "globalKey" : "ce36c232" } }, "tradeLot" : [ { @@ -399,11 +428,11 @@ } }, "meta" : { - "globalKey" : "909134c6" + "globalKey" : "ce158064" } }, "meta" : { - "globalKey" : "909134c6", + "globalKey" : "ce158064", "externalKey" : "TradeState" } }, { @@ -429,7 +458,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -547,78 +576,104 @@ "globalKey" : "d3c969a8" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", + "meta" : { + "globalKey" : "d3c969a8" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "address" : { + "scope" : "DOCUMENT", + "value" : "productIdentifier-1" + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7a5b92c5" + } + }, + "durationType" : { + "durationType" : "Open" + }, + "minimumFee" : { + "value" : 0.00, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1.00 + } + }, + "meta" : { + "globalKey" : "37f53f11" + } + } ], + "meta" : { + "globalKey" : "37f53f11" + } + } + }, "meta" : { - "globalKey" : "3f2256" + "globalKey" : "37f53f11" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "37f53f11" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "address" : { - "scope" : "DOCUMENT", - "value" : "productIdentifier-1" - } - } ], - "securityType" : "Equity" - }, + } ], "meta" : { - "globalKey" : "7a5b92c5" + "globalKey" : "37f53f11" } - }, - "durationType" : { - "durationType" : "Open" - }, - "minimumFee" : { - "value" : 0.00, - "unit" : { - "currency" : { - "value" : "USD" - } - }, - "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1.00 - } - }, - "meta" : { - "globalKey" : "37f53f11" } } ], - "meta" : { - "globalKey" : "36ab7869" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -628,15 +683,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "8109035" } } }, "meta" : { - "globalKey" : "4d3de56" + "globalKey" : "ce36c232" } }, "meta" : { - "globalKey" : "4d3de56" + "globalKey" : "ce36c232" } }, "tradeLot" : [ { @@ -814,11 +872,11 @@ } }, "meta" : { - "globalKey" : "222d841f" + "globalKey" : "4626213d" } }, "meta" : { - "globalKey" : "222d841f" + "globalKey" : "4626213d" } }, { "trade" : { @@ -843,7 +901,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -961,78 +1019,104 @@ "globalKey" : "d3c969a8" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", + "meta" : { + "globalKey" : "d3c969a8" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "address" : { + "scope" : "DOCUMENT", + "value" : "productIdentifier-1" + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7a5b92c5" + } + }, + "durationType" : { + "durationType" : "Open" + }, + "minimumFee" : { + "value" : 0.00, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1.00 + } + }, + "meta" : { + "globalKey" : "37f53f11" + } + } ], + "meta" : { + "globalKey" : "37f53f11" + } + } + }, "meta" : { - "globalKey" : "3f2256" + "globalKey" : "37f53f11" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "37f53f11" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "address" : { - "scope" : "DOCUMENT", - "value" : "productIdentifier-1" - } - } ], - "securityType" : "Equity" - }, - "meta" : { - "globalKey" : "7a5b92c5" - } - }, - "durationType" : { - "durationType" : "Open" - }, - "minimumFee" : { - "value" : 0.00, - "unit" : { - "currency" : { - "value" : "USD" - } - }, + } ], "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1.00 + "globalKey" : "37f53f11" } - }, - "meta" : { - "globalKey" : "37f53f11" } } ], - "meta" : { - "globalKey" : "36ab7869" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1042,15 +1126,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "8109035" } } }, "meta" : { - "globalKey" : "4d3de56" + "globalKey" : "ce36c232" } }, "meta" : { - "globalKey" : "4d3de56" + "globalKey" : "ce36c232" } }, "tradeLot" : [ { @@ -1228,11 +1315,11 @@ } }, "meta" : { - "globalKey" : "6c1b835e" + "globalKey" : "9014207c" } }, "meta" : { - "globalKey" : "6c1b835e" + "globalKey" : "9014207c" } }, { "trade" : { @@ -1257,7 +1344,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1375,78 +1462,104 @@ "globalKey" : "d3c969a8" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", + "meta" : { + "globalKey" : "d3c969a8" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "address" : { + "scope" : "DOCUMENT", + "value" : "productIdentifier-1" + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7a5b92c5" + } + }, + "durationType" : { + "durationType" : "Open" + }, + "minimumFee" : { + "value" : 0.00, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1.00 + } + }, + "meta" : { + "globalKey" : "37f53f11" + } + } ], + "meta" : { + "globalKey" : "37f53f11" + } + } + }, "meta" : { - "globalKey" : "3f2256" + "globalKey" : "37f53f11" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "37f53f11" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "address" : { - "scope" : "DOCUMENT", - "value" : "productIdentifier-1" - } - } ], - "securityType" : "Equity" - }, + } ], "meta" : { - "globalKey" : "7a5b92c5" - } - }, - "durationType" : { - "durationType" : "Open" - }, - "minimumFee" : { - "value" : 0.00, - "unit" : { - "currency" : { - "value" : "USD" - } - }, - "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1.00 + "globalKey" : "37f53f11" } - }, - "meta" : { - "globalKey" : "37f53f11" } } ], - "meta" : { - "globalKey" : "36ab7869" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1456,15 +1569,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "8109035" } } }, "meta" : { - "globalKey" : "4d3de56" + "globalKey" : "ce36c232" } }, "meta" : { - "globalKey" : "4d3de56" + "globalKey" : "ce36c232" } }, "tradeLot" : [ { @@ -1642,11 +1758,11 @@ } }, "meta" : { - "globalKey" : "4f536984" + "globalKey" : "734c06a2" } }, "meta" : { - "globalKey" : "4f536984" + "globalKey" : "734c06a2" } }, { "trade" : { @@ -1671,7 +1787,7 @@ "contractualProduct" : { "productTaxonomy" : [ { "source" : "ISDA", - "productQualifier" : "SecurityLendingAgreement" + "productQualifier" : "SecuritiesFinance" } ], "economicTerms" : { "effectiveDate" : { @@ -1789,78 +1905,104 @@ "globalKey" : "d3c969a8" } } ], - "assetPayout" : [ { - "payerReceiver" : { - "payer" : "Party1", - "receiver" : "Party2" - }, - "assetLeg" : [ { - "settlementDate" : { - "adjustableDate" : { - "dateAdjustments" : { - "businessDayConvention" : "NONE", - "meta" : { - "globalKey" : "24a738" - } - }, - "adjustedDate" : { - "value" : "2020-09-22", + "meta" : { + "globalKey" : "d3c969a8" + } + }, + "collateral" : { + "collateralPortfolio" : [ { + "value" : { + "collateralPosition" : [ { + "product" : { + "contractualProduct" : { + "economicTerms" : { + "payout" : { + "assetPayout" : [ { + "payerReceiver" : { + "payer" : "Party1", + "receiver" : "Party2" + }, + "assetLeg" : [ { + "settlementDate" : { + "adjustableDate" : { + "dateAdjustments" : { + "businessDayConvention" : "NONE", + "meta" : { + "globalKey" : "24a738" + } + }, + "adjustedDate" : { + "value" : "2020-09-22", + "meta" : { + "globalKey" : "3f2256" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "meta" : { + "globalKey" : "24a738" + } + }, + "deliveryMethod" : "DeliveryVersusPayment" + } ], + "securityInformation" : { + "security" : { + "productIdentifier" : [ { + "address" : { + "scope" : "DOCUMENT", + "value" : "productIdentifier-1" + } + } ], + "securityType" : "Equity" + }, + "meta" : { + "globalKey" : "7a5b92c5" + } + }, + "durationType" : { + "durationType" : "Open" + }, + "minimumFee" : { + "value" : 0.00, + "unit" : { + "currency" : { + "value" : "USD" + } + }, + "meta" : { + "globalKey" : "171b36" + } + }, + "dividendTerms" : { + "manufacturedIncomeRequirement" : { + "totalRatio" : 1.00 + } + }, + "meta" : { + "globalKey" : "37f53f11" + } + } ], + "meta" : { + "globalKey" : "37f53f11" + } + } + }, "meta" : { - "globalKey" : "3f2256" + "globalKey" : "37f53f11" } }, "meta" : { - "globalKey" : "24a738" + "globalKey" : "37f53f11" } - }, - "meta" : { - "globalKey" : "24a738" } - }, - "deliveryMethod" : "DeliveryVersusPayment" - } ], - "securityInformation" : { - "security" : { - "productIdentifier" : [ { - "address" : { - "scope" : "DOCUMENT", - "value" : "productIdentifier-1" - } - } ], - "securityType" : "Equity" - }, + } ], "meta" : { - "globalKey" : "7a5b92c5" + "globalKey" : "37f53f11" } - }, - "durationType" : { - "durationType" : "Open" - }, - "minimumFee" : { - "value" : 0.00, - "unit" : { - "currency" : { - "value" : "USD" - } - }, - "meta" : { - "globalKey" : "171b36" - } - }, - "dividendTerms" : { - "manufacturedIncomeRequirement" : { - "totalRatio" : 1.00 - } - }, - "meta" : { - "globalKey" : "37f53f11" } } ], - "meta" : { - "globalKey" : "36ab7869" - } - }, - "collateral" : { "collateralProvisions" : { "collateralType" : "Cash", "eligibleCollateral" : [ { @@ -1870,15 +2012,18 @@ } } } ] + }, + "meta" : { + "globalKey" : "8109035" } } }, "meta" : { - "globalKey" : "4d3de56" + "globalKey" : "ce36c232" } }, "meta" : { - "globalKey" : "4d3de56" + "globalKey" : "ce36c232" } }, "tradeLot" : [ { @@ -2056,15 +2201,15 @@ } }, "meta" : { - "globalKey" : "ea79ebb2" + "globalKey" : "e7288d0" } }, "meta" : { - "globalKey" : "ea79ebb2" + "globalKey" : "e7288d0" } } ], "meta" : { - "globalKey" : "12f2d96a" + "globalKey" : "dbbe4098" } }, "timestamp" : [ { @@ -2072,6 +2217,6 @@ "qualification" : "eventCreationDateTime" } ], "meta" : { - "globalKey" : "790f775" + "globalKey" : "b5cd1987" } } \ No newline at end of file diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/credit-derivatives/cd-indamt-ex01-short-us-corp-fixreg.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/credit-derivatives/cd-indamt-ex01-short-us-corp-fixreg.json index 28cfa7ead9..08715c6e2d 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/credit-derivatives/cd-indamt-ex01-short-us-corp-fixreg.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/credit-derivatives/cd-indamt-ex01-short-us-corp-fixreg.json @@ -371,6 +371,9 @@ "globalKey" : "b30a47c0" } } ] + }, + "meta" : { + "globalKey" : "2e1f0b97" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/credit-derivatives/cds-ELCDS-ReferenceObligation.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/credit-derivatives/cds-ELCDS-ReferenceObligation.json index 2c3b634e2f..b2d3d7dbfc 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/credit-derivatives/cds-ELCDS-ReferenceObligation.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/credit-derivatives/cds-ELCDS-ReferenceObligation.json @@ -439,6 +439,9 @@ "globalKey" : "a7568501" } } ] + }, + "meta" : { + "globalKey" : "df5990da" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex22-equityOptionTransactionSupplement-index-option-asian-dates.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex22-equityOptionTransactionSupplement-index-option-asian-dates.json index cccd43a4ac..ea85e69c2e 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex22-equityOptionTransactionSupplement-index-option-asian-dates.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex22-equityOptionTransactionSupplement-index-option-asian-dates.json @@ -98,6 +98,9 @@ "globalKey" : "9e2bea61" } } ] + }, + "meta" : { + "globalKey" : "e752ce78" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex23-equityOptionTransactionSupplement-index-option-cliquet.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex23-equityOptionTransactionSupplement-index-option-cliquet.json index cccd43a4ac..ea85e69c2e 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex23-equityOptionTransactionSupplement-index-option-cliquet.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex23-equityOptionTransactionSupplement-index-option-cliquet.json @@ -98,6 +98,9 @@ "globalKey" : "9e2bea61" } } ] + }, + "meta" : { + "globalKey" : "e752ce78" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex24-equityOptionTransactionSupplement-index-option-asian-schedule.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex24-equityOptionTransactionSupplement-index-option-asian-schedule.json index 84e633c489..af87c2b8be 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex24-equityOptionTransactionSupplement-index-option-asian-schedule.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex24-equityOptionTransactionSupplement-index-option-asian-schedule.json @@ -98,6 +98,9 @@ "globalKey" : "9e2bea61" } } ] + }, + "meta" : { + "globalKey" : "e752ce78" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex25-equityOptionTransactionSupplement-index-option-knock-in-knock-out-features.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex25-equityOptionTransactionSupplement-index-option-knock-in-knock-out-features.json index cccd43a4ac..ea85e69c2e 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex25-equityOptionTransactionSupplement-index-option-knock-in-knock-out-features.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-options/eqd-ex25-equityOptionTransactionSupplement-index-option-knock-in-knock-out-features.json @@ -98,6 +98,9 @@ "globalKey" : "9e2bea61" } } ] + }, + "meta" : { + "globalKey" : "e752ce78" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/eqs-ex18-pan-asia-interdealer-index-swap-short-form.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/eqs-ex18-pan-asia-interdealer-index-swap-short-form.json index a9c072425d..ae982a73ae 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/eqs-ex18-pan-asia-interdealer-index-swap-short-form.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/eqs-ex18-pan-asia-interdealer-index-swap-short-form.json @@ -670,6 +670,9 @@ "globalKey" : "a93dc25d" } } ] + }, + "meta" : { + "globalKey" : "24528634" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/eqs-ex19-european-interdealer-fair-value-share-swap-short-form.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/eqs-ex19-european-interdealer-fair-value-share-swap-short-form.json index f4f4a5b67b..b591aba84c 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/eqs-ex19-european-interdealer-fair-value-share-swap-short-form.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/eqs-ex19-european-interdealer-fair-value-share-swap-short-form.json @@ -672,6 +672,9 @@ "globalKey" : "a93dc25d" } } ] + }, + "meta" : { + "globalKey" : "24528634" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/trs-ex01-equity-basket.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/trs-ex01-equity-basket.json index 4064f26945..825037c2a8 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/trs-ex01-equity-basket.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/trs-ex01-equity-basket.json @@ -842,6 +842,9 @@ "globalKey" : "3e2a590e" } } ] + }, + "meta" : { + "globalKey" : "bf796397" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/trs-ex02-single-equity.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/trs-ex02-single-equity.json index e67fd0ae5d..b540461fdd 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/trs-ex02-single-equity.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/incomplete-products/equity-swaps/trs-ex02-single-equity.json @@ -699,6 +699,9 @@ "globalKey" : "4791510e" } } ] + }, + "meta" : { + "globalKey" : "c8e05b97" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/credit/cd-indamt-ex01-short-us-corp-fixreg-versioned.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/credit/cd-indamt-ex01-short-us-corp-fixreg-versioned.json index 6f907428de..4a5aa3722d 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/credit/cd-indamt-ex01-short-us-corp-fixreg-versioned.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/credit/cd-indamt-ex01-short-us-corp-fixreg-versioned.json @@ -362,6 +362,9 @@ "globalKey" : "b30a47c0" } } ] + }, + "meta" : { + "globalKey" : "c462525b" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/credit/cds-ELCDS-ReferenceObligation-collateral-versioned.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/credit/cds-ELCDS-ReferenceObligation-collateral-versioned.json index 3f60bd7711..40ea881d70 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/credit/cds-ELCDS-ReferenceObligation-collateral-versioned.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/credit/cds-ELCDS-ReferenceObligation-collateral-versioned.json @@ -454,6 +454,9 @@ "globalKey" : "5a68dca8" } } ] + }, + "meta" : { + "globalKey" : "3976c3ab" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/dividend-swaps/div-ex02-dividend-swap-collateral.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/dividend-swaps/div-ex02-dividend-swap-collateral.json index 09b9bb04e4..bb7214b0ae 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/dividend-swaps/div-ex02-dividend-swap-collateral.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/dividend-swaps/div-ex02-dividend-swap-collateral.json @@ -574,6 +574,9 @@ "globalKey" : "8e52f851" } } ] + }, + "meta" : { + "globalKey" : "3b4160f1" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/equity/eqs-ex09-compounding-swap.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/equity/eqs-ex09-compounding-swap.json index b963b579e1..74f52dcdbc 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/equity/eqs-ex09-compounding-swap.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-10/products/equity/eqs-ex09-compounding-swap.json @@ -549,6 +549,9 @@ "globalKey" : "a93dc25d" } } ] + }, + "meta" : { + "globalKey" : "82570ba8" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/credit/cd-indamt-ex01-short-us-corp-fixreg.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/credit/cd-indamt-ex01-short-us-corp-fixreg.json index 34caeef734..7f40af2bbf 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/credit/cd-indamt-ex01-short-us-corp-fixreg.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/credit/cd-indamt-ex01-short-us-corp-fixreg.json @@ -371,6 +371,9 @@ "globalKey" : "b30a47c0" } } ] + }, + "meta" : { + "globalKey" : "2e1f0b97" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/credit/cds-ELCDS-ReferenceObligation.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/credit/cds-ELCDS-ReferenceObligation.json index 2c3b634e2f..b2d3d7dbfc 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/credit/cds-ELCDS-ReferenceObligation.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/credit/cds-ELCDS-ReferenceObligation.json @@ -439,6 +439,9 @@ "globalKey" : "a7568501" } } ] + }, + "meta" : { + "globalKey" : "df5990da" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex09-compounding-swap.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex09-compounding-swap.json index b963b579e1..74f52dcdbc 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex09-compounding-swap.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex09-compounding-swap.json @@ -549,6 +549,9 @@ "globalKey" : "a93dc25d" } } ] + }, + "meta" : { + "globalKey" : "82570ba8" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex18-pan-asia-interdealer-index-swap-short-form.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex18-pan-asia-interdealer-index-swap-short-form.json index bebac5ea8e..5804b1869f 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex18-pan-asia-interdealer-index-swap-short-form.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex18-pan-asia-interdealer-index-swap-short-form.json @@ -670,6 +670,9 @@ "globalKey" : "a93dc25d" } } ] + }, + "meta" : { + "globalKey" : "24528634" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex19-european-interdealer-fair-value-share-swap-short-form.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex19-european-interdealer-fair-value-share-swap-short-form.json index ddcf5b5ffb..a59eda9e31 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex19-european-interdealer-fair-value-share-swap-short-form.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/eqs-ex19-european-interdealer-fair-value-share-swap-short-form.json @@ -672,6 +672,9 @@ "globalKey" : "a93dc25d" } } ] + }, + "meta" : { + "globalKey" : "24528634" } }, "meta" : { diff --git a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/trs-ex02-single-equity.json b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/trs-ex02-single-equity.json index e373ba96fb..021bb6f9a8 100644 --- a/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/trs-ex02-single-equity.json +++ b/rosetta-source/src/main/resources/result-json-files/fpml-5-12/products/equity/trs-ex02-single-equity.json @@ -699,6 +699,9 @@ "globalKey" : "4791510e" } } ] + }, + "meta" : { + "globalKey" : "c8e05b97" } }, "meta" : { diff --git a/rosetta-source/src/main/rosetta/event-common-enum.rosetta b/rosetta-source/src/main/rosetta/event-common-enum.rosetta index 1077b73ed6..7d60743c0b 100644 --- a/rosetta-source/src/main/rosetta/event-common-enum.rosetta +++ b/rosetta-source/src/main/rosetta/event-common-enum.rosetta @@ -4,50 +4,59 @@ version "${project.version}" import cdm.base.* enum ConfirmationStatusEnum: <"Enumeration for the different types of confirmation status."> - Confirmed - Unconfirmed + Confirmed + Unconfirmed enum AffirmationStatusEnum: <"Enumeration for the different types of affirmation status."> - Affirmed - Unaffirmed - + Affirmed + Unaffirmed + enum ExecutionTypeEnum: <"The enumerated values to specify how a contract has been executed, e.g. electronically, verbally, ..."> - Electronic <"Execution via electronic execution facility, derivatives contract market, or other electronic message such as an instant message."> - OffFacility <"Bilateral execution between counterparties not pursuant to the rules of a SEF or DCM."> - // ICMA-P2 - OnVenue <"Execution via a platform that may or may not be covered by a regulatory defintion. OnVenue is intended to distinguish trades executed on a trading platform from those executed via phone, email or messaging apps. The role and details of the venue are included in the party attribute of the trade. The general rule is that if the parties utilitzed the services of the platform to execute the trade then it would be considered OnVenue."> - + Electronic <"Execution via electronic execution facility, derivatives contract market, or other electronic message such as an instant message."> + OffFacility <"Bilateral execution between counterparties not pursuant to the rules of a SEF or DCM."> + // ICMA-P2 + OnVenue <"Execution via a platform that may or may not be covered by a regulatory defintion. OnVenue is intended to distinguish trades executed on a trading platform from those executed via phone, email or messaging apps. The role and details of the venue are included in the party attribute of the trade. The general rule is that if the parties utilitzed the services of the platform to execute the trade then it would be considered OnVenue."> + enum ActionEnum: <"The enumeration values to specify the actions associated with transactions."> - New <"A new instance of a transaction event, which is also characterized by the fact that the eventIdentifier has an associated version 1."> - Correct <"A correction of a prior instance of the transaction event. The eventIdentifier has an associated version greater than 1."> - Cancel <"A cancellation of a prior instance of the transaction event. The eventIdentifier has an associated version greater than 1."> + New <"A new instance of a transaction event, which is also characterized by the fact that the eventIdentifier has an associated version 1."> + Correct <"A correction of a prior instance of the transaction event. The eventIdentifier has an associated version greater than 1."> + Cancel <"A cancellation of a prior instance of the transaction event. The eventIdentifier has an associated version greater than 1."> enum AssetTransferTypeEnum: <"The qualification of the type of asset transfer."> - FreeOfPayment <"The transfer of assets takes place without a corresponding exchange of payment."> + FreeOfPayment <"The transfer of assets takes place without a corresponding exchange of payment."> enum EventIntentEnum: <"The enumeration values to qualify the intent associated with a transaction event."> - Allocation <"The intent is to allocate one or more trades as part of an allocated block trade."> - CashFlow <"The intent is to designate a stand-alone cash transfer as a result of Trade contracual terms e.g. incurred by payout for instance a Performance Amount or a Floating Rate Amount. The particular CashFlow at stake shall be further specified in priceTransferEnum or transferTypeEnum. For clarity, such intentEnum value shall not be used whenever a cash transfer is not stand-alone but is instead embedded in another Event as part of the composable modelling e.g. Decrease with Fees, Cross-Currency Notional Reset, etc. or any other Event whenever including a cash transfer with other features. For clarity, a principal payment related to a Principal Exhange is excluded as well, because a dedicated intentEnum value exists for this event i.e. PrincipalExchange value."> - Clearing <"The intent is to clear the contract."> - Compression <"The intent is to compress multiple trades as part of a netting or compression event."> - ContractFormation <"The intent is to form a contract from an execution."> - ContractTermsAmendment <"The intent is to amend the terms of the contract through renegotiation."> - CorporateActionAdjustment <"The intent is to take into effect the occurrence of a Corporate Action and the particular Corporate Action at stake shall be further specified in CorporateActionTypeEnum."> - CreditEvent <"The intent is to take into effect the occurrence of a Credit Event."> - Decrease <"The intent is to Decrease the quantity or notional of the contract."> + Allocation <"The intent is to allocate one or more trades as part of an allocated block trade."> + CashFlow <"The intent is to designate a stand-alone cash transfer as a result of Trade contracual terms e.g. incurred by payout for instance a Performance Amount or a Floating Rate Amount. The particular CashFlow at stake shall be further specified in priceTransferEnum or transferTypeEnum. For clarity, such intentEnum value shall not be used whenever a cash transfer is not stand-alone but is instead embedded in another Event as part of the composable modelling e.g. Decrease with Fees, Cross-Currency Notional Reset, etc. or any other Event whenever including a cash transfer with other features. For clarity, a principal payment related to a Principal Exhange is excluded as well, because a dedicated intentEnum value exists for this event i.e. PrincipalExchange value."> + Clearing <"The intent is to clear the contract."> + Compression <"The intent is to compress multiple trades as part of a netting or compression event."> + ContractFormation <"The intent is to form a contract from an execution."> + ContractTermsAmendment <"The intent is to amend the terms of the contract through renegotiation."> + CorporateActionAdjustment <"The intent is to take into effect the occurrence of a Corporate Action and the particular Corporate Action at stake shall be further specified in CorporateActionTypeEnum."> + CreditEvent <"The intent is to take into effect the occurrence of a Credit Event."> + Decrease <"The intent is to Decrease the quantity or notional of the contract."> EarlyTerminationProvision <"The intent is to fully unwind the Trade, as a result of the application of Trade contractual terms (e.g. an obligation to do so before Termination Date as part of any kind of Early Termination terms) as defined within the CDM EarlyTerminationProvision data type. Accordingly, increase and decrease of positions which result from negotiation by the parties shall not be designated by such intentEnum. For clarity, partial exercise of an option before its expiration date is excluded as well, though related to Trade contract terms, because a dedicated intentEnum value exists for this event i.e. OptionExercise value."> - Increase <"The intent is to Increase the quantity or notional of the contract."> - IndexTransition <"The intent is to replace an interest rate index by another one during the life of a trade and add a transition spread on top of this index (and on top of the spreads already defined in the trade, if any). "> + Increase <"The intent is to Increase the quantity or notional of the contract."> + IndexTransition <"The intent is to replace an interest rate index by another one during the life of a trade and add a transition spread on top of this index (and on top of the spreads already defined in the trade, if any). "> NotionalReset <"The intent is to increase or to decrease the notional of the Trade, in accordance with Notional Reset features e.g. could apply for Cross Currency Swaps, Equity Performance Swaps, etc."> - NotionalStep <"The intent is to increase or to decrease the notional of the Trade, in accordance with Step features attached to a Payout Quantity."> - Novation <"The intent is to novate the contract."> - ObservationRecord <"The intent is to record any kind of stand-alone obervervations e.g. internal data recording, usage of CDM for recording and/or exchanging data as part of pricing 'consensus' processing, etc. For clarity, such intentEnum value shall not be used whenever an observation is not stand-alone but is instead embedded in another Event as part of the composable modelling e.g. CashFlow to which an observation of prices is associated, etc."> + NotionalStep <"The intent is to increase or to decrease the notional of the Trade, in accordance with Step features attached to a Payout Quantity."> + Novation <"The intent is to novate the contract."> + ObservationRecord <"The intent is to record any kind of stand-alone obervervations e.g. internal data recording, usage of CDM for recording and/or exchanging data as part of pricing 'consensus' processing, etc. For clarity, such intentEnum value shall not be used whenever an observation is not stand-alone but is instead embedded in another Event as part of the composable modelling e.g. CashFlow to which an observation of prices is associated, etc."> OptionExercise <"The intent is to Exercise a contract that is made of one or several option payout legs. For clarity, such intentEnum value shall not be used whenever an optional right is exercised in relation with a Trade which composition includes other types of payout legs e.g. right to call or to cancel before Termination Date as part of any kind of Early Termination terms other than genuine bermuda or american style features described in option payout. "> - OptionalExtension <"The intent is to extend the trade through exercise of an optional right as defined within the CDM OptionProvision data type."> - OptionalCancellation <"The intent is to cancel the trade through exercise of an optional right as defined within the CDM OptionProvision data type."> - PrincipalExchange <"The intent is to pay or to receive a cash transfer, in accordance with Principal Exchange features."> - Reallocation <"The intent is to reallocate one or more trades as part of an allocated block trade."> - Repurchase <"The intent is to close a repo transaction through repurchase."> + OptionalExtension <"The intent is to extend the trade through exercise of an optional right as defined within the CDM OptionProvision data type."> + OptionalCancellation <"The intent is to cancel the trade through exercise of an optional right as defined within the CDM OptionProvision data type."> + PrincipalExchange <"The intent is to pay or to receive a cash transfer, in accordance with Principal Exchange features."> + Reallocation <"The intent is to reallocate one or more trades as part of an allocated block trade."> + Repurchase <"The intent is to close a repo transaction through repurchase."> + +enum PositionEventIntentEnum: + PositionCreation <"The intent is to form a position from a fully formed contract."> + CorporateActionAdjustment <"The intent is to take into effect the occurrence of a Corporate Action and the particular Corporate Action at stake shall be further specified in CorporateActionTypeEnum."> + Decrease <"The intent is to Decrease the quantity of the position."> + Increase <"The intent is to Increase the quantity of the position."> + Transfer <"The intent is to transfer the position to another clearing member."> + OptionExercise <"The intent is to Exercise a position or part of a position."> + Valuation <"The intent is to update the valuation of the position."> enum RecordAmountTypeEnum: <"The enumeration of the account level for the billing summary."> AccountTotal @@ -55,94 +64,94 @@ enum RecordAmountTypeEnum: <"The enumeration of the account level for the billin ParentTotal enum TransferStatusEnum: <"The enumeration values to specify the transfer status."> - Disputed <"The transfer is disputed."> - Instructed <"The transfer has been instructed."> - Pending <"The transfer is pending instruction."> - Settled <"The transfer has been settled."> - Netted <"The transfer has been netted into a separate Transfer."> + Disputed <"The transfer is disputed."> + Instructed <"The transfer has been instructed."> + Pending <"The transfer is pending instruction."> + Settled <"The transfer has been settled."> + Netted <"The transfer has been netted into a separate Transfer."> enum InstructionFunctionEnum: <"The enumeration values indicating the BusinessEvent function associated input instructions."> - Execution - ContractFormation - QuantityChange - Renegotiation - Compression + Execution + ContractFormation + QuantityChange + Renegotiation + Compression enum CallTypeEnum: <"Represents the enumeration values that indicate the intended status of message type, such as expected call, notification of a call or a margin call."> - MarginCall <"Identifies an actionable Margin Call."> - Notification <"Identifies a notification of a Margin Call for legal obligation to notify other party to initiate a margin call when notifying party is calculation or valuation agent."> - ExpectedCall <"Identifies an expected Margin Call instruction for either party to notify the other or their service provider of an expected margin call movement."> - + MarginCall <"Identifies an actionable Margin Call."> + Notification <"Identifies a notification of a Margin Call for legal obligation to notify other party to initiate a margin call when notifying party is calculation or valuation agent."> + ExpectedCall <"Identifies an expected Margin Call instruction for either party to notify the other or their service provider of an expected margin call movement."> + enum MarginCallActionEnum: <"Represents the enumeration values to identify the collateral action instruction."> - Delivery <"Indicates an instruction of a new collateral asset delivery."> - Return <"Indicates an instruction for a return of a principals collateral asset delivery."> + Delivery <"Indicates an instruction of a new collateral asset delivery."> + Return <"Indicates an instruction for a return of a principals collateral asset delivery."> enum CollateralStatusEnum: <"Represents the enumeration list to identify the settlement status of the collateral."> - FullAmount <"Indicates the collateral balance amount in full, inclusive of any pre-agreed collateral positions in transit for settlement."> - SettledAmount <"Indicates the collateral is settled and not an in transit pre-agreed collateral amount/s."> - InTransitAmount <"Indicates collateral amount in transit settlement cycle only, excluding settled collateral amount/s."> + FullAmount <"Indicates the collateral balance amount in full, inclusive of any pre-agreed collateral positions in transit for settlement."> + SettledAmount <"Indicates the collateral is settled and not an in transit pre-agreed collateral amount/s."> + InTransitAmount <"Indicates collateral amount in transit settlement cycle only, excluding settled collateral amount/s."> enum MarginCallResponseTypeEnum: <"Represents the enumeration values to define the response type to a margin call."> - AgreeinFull <"Specifies a 'Full Agreement' to Margin Call."> - PartiallyAgree <"Specifies a 'Partial agreement' to Margin Call."> - Dispute <"Specifies a 'Full Dispute' to a Margin call."> + AgreeinFull <"Specifies a 'Full Agreement' to Margin Call."> + PartiallyAgree <"Specifies a 'Partial agreement' to Margin Call."> + Dispute <"Specifies a 'Full Dispute' to a Margin call."> enum RegMarginTypeEnum: <"Represents the enumeration values to specify the margin type in relation to bilateral or regulatory obligation."> - VM <"Indicates Variation Margin"> - RegIM <"Indicates Regulatory Initial Margin"> - NonRegIM <"Indicates Non Regulatory Initial margin or independent amount"> + VM <"Indicates Variation Margin"> + RegIM <"Indicates Regulatory Initial Margin"> + NonRegIM <"Indicates Non Regulatory Initial margin or independent amount"> enum RegIMRoleEnum: <"Represents the enumeration values to specify the role of the party in relation to a regulatory initial margin call."> - Pledgor <"Indicates 'Pledgor' party of initial margin call."> - Secured <"Indicates 'Secured' party of initial margin call."> + Pledgor <"Indicates 'Pledgor' party of initial margin call."> + Secured <"Indicates 'Secured' party of initial margin call."> enum HaircutIndicatorEnum: <"Represents the enumeration indicators to specify if an asset or group of assets valuation is based on any valuation treatment haircut."> - PreHaircut <"Indicates Pre haircut value"> - PostHaircut <"Indicates Post haircut value"> + PreHaircut <"Indicates Pre haircut value"> + PostHaircut <"Indicates Post haircut value"> enum PerformanceTransferTypeEnum: <"The enumerated values to specify the origin of a performance transfer"> - Commodity - Correlation - Dividend - Equity - Interest - Volatility - Variance + Commodity + Correlation + Dividend + Equity + Interest + Volatility + Variance enum CorporateActionTypeEnum: <"The enumerated values to specify the origin of a corporate action transfer."> - CashDividend <"Corporate action triggered by the distribution of a cash dividend."> - StockDividend <"Corporate action triggered by the distribution of a stock dividend."> - StockSplit <"Corporate action triggered by a stock split. A stock split or stock divide increases the number of shares in a public company. The price is adjusted such that the before and after market capitalization of the company remains the same and dilutiondoes not occur. The value maps closely to the ISO code (SPLF) defined as a distribution of subsidiary stock to the shareholders of the parent company without a surrender of shares."> - ReverseStockSplit <"Corporate action triggered by a reverse split. A reverse stock split or reverse split is a process by a company of issuing to each shareholder in that company a smaller number of new shares in proportion to that shareholder's original shares that are subsequently canceled. A reverse stock split is also called a stock merge. The reduction in the number of issued shares is accompanied by a proportional increase in the share price. The value maps closely to the ISO code (SPLR) defined as a decrease in a company's number of outstanding equities without any change in the shareholder's equity or the aggregate market value at the time of the split. Equity price and nominal value are increased accordingly."> - SpinOff <"Corporate action triggered by a spin Off. A spin-out, also known as a spin-off or a starburst, refers to a type of corporate action where a company splits off sections of itself as a separate business. The value maps closely to the ISO code (SOFF) defined as a a distribution of subsidiary stock to the shareholders of the parent company without a surrender of shares. Spin-off represents a form of divestiture usually resulting in an independent company or in an existing company. For example, demerger, distribution, unbundling."> - Merger <"Corporate action triggered by a merger. Mergers and acquisitions (abbreviated M&A) is an aspect of corporate strategy, corporate finance and management dealing with the buying, selling, dividing and combining of different companies and similar entities that can help an enterprise grow rapidly in its sector or location of origin, or a new field or new location, without creating a subsidiary, other child entity or using a joint venture. The distinction between a merger and an acquisition has become increasingly blurred in various respects (particularly in terms of the ultimate economic outcome), although it has not completely disappeared in all situations. The value maps closely to the ISO code (MRGR) defined as an offer made to shareholders, normally by a third party, requesting them to sell (tender) or exchange their equities."> - Delisting <"Corporate action triggered by the removal of a security from a stock exchange."> - StockNameChange <"Corporate action triggered by a change in the name used to trade the security."> - StockIdentifierChange <"Corporate action triggered by a change in the code used to trade the security."> - RightsIssue <"Corporate action triggered by an issuance to shareholders of rights to purchase additional shares at a discount."> - Takeover <"Corporate action triggered by a takeover. A takeover is the purchase of onecompany (the target) by another (the acquirer, or bidder). The value maps to the ISO code (TEND) but is finer grained than TEND which emcompasses Tender/Acquisition/Takeover/Purchase Offer/Buyback. ISO defines the TEND code as an offer made to shareholders, normally by a third party, requesting them to sell (tender) or exchange their equities."> - StockReclassification <"Corporate action triggered by a Stock Reclassification."> - BonusIssue <"Corporate action triggered by a bonus issue. A bonus issue or bonus share is a free share of stock given to current shareholders in a company, based upon the number of shares that the shareholder already owns. While the issue of bonus shares increases the total number of shares issued and owned, it does not change the value of the company. The value maps closely to the ISO code (BONU) defined as a bonus, scrip or capitalisation issue. Security holders receive additional assets free of payment from the issuer, in proportion to their holding."> - ClassAction <"Corporate action triggered by a Class Action. An action where an individual represents a group in a court claim. The judgment from the suit is for all the members of the group (class). The value maps closely to the ISO code (CLSA) defined as the situation where interested parties seek restitution for financial loss. The security holder may be offered the opportunity to join a class action proceeding and would need to respond with an instruction."> - EarlyRedemption <"Corporate action triggered by an early redemption. The value maps closely to the ISO code (MCAL) defined as the redemption of an entire issue outstanding of securities, for example, bonds, preferred equity, funds, by the issuer or its agent, for example, asset manager, before final maturity."> - Liquidation <"Corporate action triggered by a liquidation. When a business or firm is terminated or bankrupt, its assets are sold (liquidated) and the proceeds pay creditors. Any leftovers are distributed to shareholders. The value maps closely to the ISO code (LIQU) defined as a distribution of cash, assets or both. Debt may be paid in order of priority based on preferred claims to assets specified by the security."> + CashDividend <"Corporate action triggered by the distribution of a cash dividend."> + StockDividend <"Corporate action triggered by the distribution of a stock dividend."> + StockSplit <"Corporate action triggered by a stock split. A stock split or stock divide increases the number of shares in a public company. The price is adjusted such that the before and after market capitalization of the company remains the same and dilutiondoes not occur. The value maps closely to the ISO code (SPLF) defined as a distribution of subsidiary stock to the shareholders of the parent company without a surrender of shares."> + ReverseStockSplit <"Corporate action triggered by a reverse split. A reverse stock split or reverse split is a process by a company of issuing to each shareholder in that company a smaller number of new shares in proportion to that shareholder's original shares that are subsequently canceled. A reverse stock split is also called a stock merge. The reduction in the number of issued shares is accompanied by a proportional increase in the share price. The value maps closely to the ISO code (SPLR) defined as a decrease in a company's number of outstanding equities without any change in the shareholder's equity or the aggregate market value at the time of the split. Equity price and nominal value are increased accordingly."> + SpinOff <"Corporate action triggered by a spin Off. A spin-out, also known as a spin-off or a starburst, refers to a type of corporate action where a company splits off sections of itself as a separate business. The value maps closely to the ISO code (SOFF) defined as a a distribution of subsidiary stock to the shareholders of the parent company without a surrender of shares. Spin-off represents a form of divestiture usually resulting in an independent company or in an existing company. For example, demerger, distribution, unbundling."> + Merger <"Corporate action triggered by a merger. Mergers and acquisitions (abbreviated M&A) is an aspect of corporate strategy, corporate finance and management dealing with the buying, selling, dividing and combining of different companies and similar entities that can help an enterprise grow rapidly in its sector or location of origin, or a new field or new location, without creating a subsidiary, other child entity or using a joint venture. The distinction between a merger and an acquisition has become increasingly blurred in various respects (particularly in terms of the ultimate economic outcome), although it has not completely disappeared in all situations. The value maps closely to the ISO code (MRGR) defined as an offer made to shareholders, normally by a third party, requesting them to sell (tender) or exchange their equities."> + Delisting <"Corporate action triggered by the removal of a security from a stock exchange."> + StockNameChange <"Corporate action triggered by a change in the name used to trade the security."> + StockIdentifierChange <"Corporate action triggered by a change in the code used to trade the security."> + RightsIssue <"Corporate action triggered by an issuance to shareholders of rights to purchase additional shares at a discount."> + Takeover <"Corporate action triggered by a takeover. A takeover is the purchase of onecompany (the target) by another (the acquirer, or bidder). The value maps to the ISO code (TEND) but is finer grained than TEND which emcompasses Tender/Acquisition/Takeover/Purchase Offer/Buyback. ISO defines the TEND code as an offer made to shareholders, normally by a third party, requesting them to sell (tender) or exchange their equities."> + StockReclassification <"Corporate action triggered by a Stock Reclassification."> + BonusIssue <"Corporate action triggered by a bonus issue. A bonus issue or bonus share is a free share of stock given to current shareholders in a company, based upon the number of shares that the shareholder already owns. While the issue of bonus shares increases the total number of shares issued and owned, it does not change the value of the company. The value maps closely to the ISO code (BONU) defined as a bonus, scrip or capitalisation issue. Security holders receive additional assets free of payment from the issuer, in proportion to their holding."> + ClassAction <"Corporate action triggered by a Class Action. An action where an individual represents a group in a court claim. The judgment from the suit is for all the members of the group (class). The value maps closely to the ISO code (CLSA) defined as the situation where interested parties seek restitution for financial loss. The security holder may be offered the opportunity to join a class action proceeding and would need to respond with an instruction."> + EarlyRedemption <"Corporate action triggered by an early redemption. The value maps closely to the ISO code (MCAL) defined as the redemption of an entire issue outstanding of securities, for example, bonds, preferred equity, funds, by the issuer or its agent, for example, asset manager, before final maturity."> + Liquidation <"Corporate action triggered by a liquidation. When a business or firm is terminated or bankrupt, its assets are sold (liquidated) and the proceeds pay creditors. Any leftovers are distributed to shareholders. The value maps closely to the ISO code (LIQU) defined as a distribution of cash, assets or both. Debt may be paid in order of priority based on preferred claims to assets specified by the security."> enum CreditEventTypeEnum: <"Represents the enumerated values to specify a credit event type."> [docReference ISDA FpML_Coding_Scheme schemeLocation "http://www.fpml.org/coding-scheme/credit-event-type"] - Bankruptcy <"The reference entity has been dissolved or has become insolvent. It also covers events that may be a precursor to insolvency such as instigation of bankruptcy or insolvency proceedings. Sovereign trades are not subject to Bankruptcy as 'technically' a Sovereign cannot become bankrupt. ISDA 2003 Term: Bankruptcy."> - DistressedRatingsDowngrade <"Results from the fact that the rating of the reference obligation is downgraded to a distressed rating level. From a usage standpoint, this credit event is typically not applicable in case of RMBS trades."> - FailureToPay <"This credit event triggers, after the expiration of any applicable grace period, if the reference entity fails to make due payments in an aggregrate amount of not less than the payment requirement on one or more obligations (e.g. a missed coupon payment). ISDA 2003 Term: Failure to Pay."> - FailureToPayInterest <"Corresponds to the failure by the Reference Entity to pay an expected interest amount or the payment of an actual interest amount that is less than the expected interest amount. ISDA 2003 Term: Failure to Pay Interest."> - FailureToPayPrincipal <"Corresponds to the failure by the Reference Entity to pay an expected principal amount or the payment of an actual principal amount that is less than the expected principal amount. ISDA 2003 Term: Failure to Pay Principal."> - GovernmentalIntervention <"A governmental intervention is an event resulting from an action by a governmental authority that materially impacts the reference entity's obligations, such as an interest rate reduction, principal reduction, deferral of interest or principal, change in priority ranking, or change in currency or composition of payment. ISDA 2014 Term: Governmental Intervention."> - ImpliedWritedown <"Results from the fact that losses occur to the underlying instruments that do not result in reductions of the outstanding principal of the reference obligation."> - MaturityExtension <"Results from the fact that the underlier fails to make principal payments as expected."> - ObligationAcceleration <"One or more of the obligations have been declared due and payable before they would otherwise have been due and payable as a result of, or on the basis of, the occurrence of a default, event of default or other similar condition or event other than failure to pay (preferred by the market over Obligation Default, because more definitive and encompasses the definition of Obligation Default - this is more favorable to the Seller). Subject to the default requirement amount. ISDA 2003 Term: Obligation Acceleration."> - ObligationDefault <"One or more of the obligations have become capable of being declared due and payable before they would otherwise have been due and payable as a result of, or on the basis of, the occurrence of a default, event of default or other similar condition or event other than failure to pay. ISDA 2003 Term: Obligation Default."> - RepudiationMoratorium <"The reference entity, or a governmental authority, either refuses to recognise or challenges the validity of one or more obligations of the reference entity, or imposes a moratorium thereby postponing payments on one or more of the obligations of the reference entity. Subject to the default requirement amount. ISDA 2003 Term: Repudiation/Moratorium."> - Restructuring <"A restructuring is an event that materially impacts the reference entity's obligations, such as an interest rate reduction, principal reduction, deferral of interest or principal, change in priority ranking, or change in currency or composition of payment. ISDA 2003 Term: Restructuring."> - Writedown <"Results from the fact that the underlier writes down its outstanding principal amount."> + Bankruptcy <"The reference entity has been dissolved or has become insolvent. It also covers events that may be a precursor to insolvency such as instigation of bankruptcy or insolvency proceedings. Sovereign trades are not subject to Bankruptcy as 'technically' a Sovereign cannot become bankrupt. ISDA 2003 Term: Bankruptcy."> + DistressedRatingsDowngrade <"Results from the fact that the rating of the reference obligation is downgraded to a distressed rating level. From a usage standpoint, this credit event is typically not applicable in case of RMBS trades."> + FailureToPay <"This credit event triggers, after the expiration of any applicable grace period, if the reference entity fails to make due payments in an aggregrate amount of not less than the payment requirement on one or more obligations (e.g. a missed coupon payment). ISDA 2003 Term: Failure to Pay."> + FailureToPayInterest <"Corresponds to the failure by the Reference Entity to pay an expected interest amount or the payment of an actual interest amount that is less than the expected interest amount. ISDA 2003 Term: Failure to Pay Interest."> + FailureToPayPrincipal <"Corresponds to the failure by the Reference Entity to pay an expected principal amount or the payment of an actual principal amount that is less than the expected principal amount. ISDA 2003 Term: Failure to Pay Principal."> + GovernmentalIntervention <"A governmental intervention is an event resulting from an action by a governmental authority that materially impacts the reference entity's obligations, such as an interest rate reduction, principal reduction, deferral of interest or principal, change in priority ranking, or change in currency or composition of payment. ISDA 2014 Term: Governmental Intervention."> + ImpliedWritedown <"Results from the fact that losses occur to the underlying instruments that do not result in reductions of the outstanding principal of the reference obligation."> + MaturityExtension <"Results from the fact that the underlier fails to make principal payments as expected."> + ObligationAcceleration <"One or more of the obligations have been declared due and payable before they would otherwise have been due and payable as a result of, or on the basis of, the occurrence of a default, event of default or other similar condition or event other than failure to pay (preferred by the market over Obligation Default, because more definitive and encompasses the definition of Obligation Default - this is more favorable to the Seller). Subject to the default requirement amount. ISDA 2003 Term: Obligation Acceleration."> + ObligationDefault <"One or more of the obligations have become capable of being declared due and payable before they would otherwise have been due and payable as a result of, or on the basis of, the occurrence of a default, event of default or other similar condition or event other than failure to pay. ISDA 2003 Term: Obligation Default."> + RepudiationMoratorium <"The reference entity, or a governmental authority, either refuses to recognise or challenges the validity of one or more obligations of the reference entity, or imposes a moratorium thereby postponing payments on one or more of the obligations of the reference entity. Subject to the default requirement amount. ISDA 2003 Term: Repudiation/Moratorium."> + Restructuring <"A restructuring is an event that materially impacts the reference entity's obligations, such as an interest rate reduction, principal reduction, deferral of interest or principal, change in priority ranking, or change in currency or composition of payment. ISDA 2003 Term: Restructuring."> + Writedown <"Results from the fact that the underlier writes down its outstanding principal amount."> enum ValuationTypeEnum: <"Method used for the valuation of the transaction by the valuation party."> MarkToMarket <"Mark-to-Market"> @@ -150,3 +159,7 @@ enum ValuationTypeEnum: <"Method used for the valuation of the transaction by th enum ValuationSourceEnum: <"Source for the valuation of the transaction by the valuation party."> CentralCounterparty <"Central Counterparty's Valuation"> + +enum PriceTimingEnum: + ClosingPrice <"The last price anyone paid for a share of a product during the business hours of the exchange where the product is traded on a business day."> + OpeningPrice <"The first price anyone paid for a share of a product during the business hours of the exchange where the product is traded on a business day."> diff --git a/rosetta-source/src/main/rosetta/event-common-func.rosetta b/rosetta-source/src/main/rosetta/event-common-func.rosetta index 9e3d4d692d..91cd457df2 100644 --- a/rosetta-source/src/main/rosetta/event-common-func.rosetta +++ b/rosetta-source/src/main/rosetta/event-common-func.rosetta @@ -642,7 +642,8 @@ func Create_AssetTransfer: <"Defines how Transfer that represents an exchange of transfer Transfer (1..1) alias assetPayout: - instruction -> tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> assetPayout only-element + instruction -> tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> collateral -> + collateralPortfolio -> collateralPosition -> product -> contractualProduct -> economicTerms -> payout -> assetPayout only-element alias tradeQuantity: <"Security quantity obtained by filtering on the trade quantity"> FilterQuantityByFinancialUnit( @@ -709,8 +710,10 @@ func Create_AssetTransfer: <"Defines how Transfer that represents an exchange of set transfer -> settlementDate -> adjustedDate: instruction -> date set transfer -> settlementOrigin -> assetPayout: - if instruction -> tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> assetPayout exists - then instruction -> tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> assetPayout only-element + if instruction -> tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> collateral -> + collateralPortfolio -> collateralPosition -> product -> contractualProduct -> economicTerms -> payout -> assetPayout exists + then instruction -> tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> collateral -> + collateralPortfolio -> collateralPosition -> product -> contractualProduct -> economicTerms -> payout -> assetPayout only-element as-key func ResolveTransfer: <"Defines how to calculate the amount due to be transferred after a Reset Event."> @@ -759,7 +762,8 @@ func SecurityFinanceCashSettlementAmount: cashSettlementAmount Transfer (1..1) alias assetPayout: - tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> assetPayout only-element + tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> collateral -> + collateralPortfolio -> collateralPosition -> product -> contractualProduct -> economicTerms -> payout -> assetPayout only-element alias collateral: tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> collateral @@ -1226,7 +1230,8 @@ func ResolveSecurityFinanceBillingAmount: <"Calculates the billing amount for a tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> interestRatePayout only-element alias assetPayout: <"The security finance payout that represents the securities lent."> - tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> assetPayout only-element + tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> collateral -> + collateralPortfolio -> collateralPosition -> product -> contractualProduct -> economicTerms -> payout -> assetPayout only-element alias collateral: tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> collateral @@ -1358,7 +1363,8 @@ func Qualify_Repurchase: <"The qualification of a repurchase event from the fact is_event boolean (1..1) set is_event: businessEvent -> intent = EventIntentEnum -> Repurchase - and businessEvent -> after -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> assetPayout exists + and businessEvent -> after -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> collateral -> + collateralPortfolio -> collateralPosition -> product -> contractualProduct -> economicTerms -> payout -> assetPayout exists and (businessEvent -> instruction count = 1 and (businessEvent -> instruction -> primitiveInstruction -> quantityChange, businessEvent -> instruction -> primitiveInstruction -> transfer) only exists) and QuantityDecreasedToZero( diff --git a/rosetta-source/src/main/rosetta/event-common-type.rosetta b/rosetta-source/src/main/rosetta/event-common-type.rosetta index cf0f989186..f6e544d303 100644 --- a/rosetta-source/src/main/rosetta/event-common-type.rosetta +++ b/rosetta-source/src/main/rosetta/event-common-type.rosetta @@ -26,241 +26,260 @@ import cdm.event.position.* type Confirmation: <"A class to specify a trade confirmation."> - identifier Identifier (1..*) <"The identifier(s) associated with the trade and resulting confirmation."> - party Party (1..*) <"The parties associated with the trade."> - partyRole PartyRole (1..*) <"The role(s) that party(ies) may have in relation to the trade"> - lineage Lineage (0..1) <"The lineage attribute provides a linkage to previous lifecycle events and associated data."> - status ConfirmationStatusEnum (1..1) + identifier Identifier (1..*) <"The identifier(s) associated with the trade and resulting confirmation."> + party Party (1..*) <"The parties associated with the trade."> + partyRole PartyRole (1..*) <"The role(s) that party(ies) may have in relation to the trade"> + lineage Lineage (0..1) <"The lineage attribute provides a linkage to previous lifecycle events and associated data."> + status ConfirmationStatusEnum (1..1) - condition BothBuyerAndSellerPartyRolesMustExist: <"For an security confirmation, both buyer and seller party roles must exist."> - if lineage -> tradeReference -> tradableProduct -> product -> security exists - then partyRole -> role contains PartyRoleEnum -> Buyer - or partyRole -> role contains PartyRoleEnum -> Seller + condition BothBuyerAndSellerPartyRolesMustExist: <"For an security confirmation, both buyer and seller party roles must exist."> + if lineage -> tradeReference -> tradableProduct -> product -> security exists + then partyRole -> role contains PartyRoleEnum -> Buyer + or partyRole -> role contains PartyRoleEnum -> Seller type Affirmation: <"A class to specify a trade affirmation."> - identifier Identifier (1..*) <"The identifier(s) associated with the trade and resulting confirmation."> - party Party (1..*) <"The parties associated with the trade."> - partyRole PartyRole (1..*) <"The role(s) that party(ies) may have in relation to the trade"> - lineage Lineage (0..1) <"The lineage attribute provides a linkage to previous lifecycle events and associated data."> - status AffirmationStatusEnum (1..1) + identifier Identifier (1..*) <"The identifier(s) associated with the trade and resulting confirmation."> + party Party (1..*) <"The parties associated with the trade."> + partyRole PartyRole (1..*) <"The role(s) that party(ies) may have in relation to the trade"> + lineage Lineage (0..1) <"The lineage attribute provides a linkage to previous lifecycle events and associated data."> + status AffirmationStatusEnum (1..1) - condition BothBuyerAndSellerPartyRolesMustExist: <"For an security affirmation, both buyer and seller party roles must exist."> - if lineage -> tradeReference -> tradableProduct -> product -> security exists - then partyRole -> role contains PartyRoleEnum -> Buyer - or partyRole -> role contains PartyRoleEnum -> Seller + condition BothBuyerAndSellerPartyRolesMustExist: <"For an security affirmation, both buyer and seller party roles must exist."> + if lineage -> tradeReference -> tradableProduct -> product -> security exists + then partyRole -> role contains PartyRoleEnum -> Buyer + or partyRole -> role contains PartyRoleEnum -> Seller type ContractFormationInstruction: <"Specifies instructions to create a fully formed contract, with optional legal agreements."> - legalAgreement LegalAgreement (0..*) <"Optional legal agreements associated to the contract being formed, for instance a master agreement."> - condition ExecutedAgreements: <"The full formation of a contract can only be completed with executed legal agreements."> - if legalAgreement exists + legalAgreement LegalAgreement (0..*) <"Optional legal agreements associated to the contract being formed, for instance a master agreement."> + condition ExecutedAgreements: <"The full formation of a contract can only be completed with executed legal agreements."> + if legalAgreement exists then legalAgreement -> agreementDate exists type Instruction: <"Instruction to a function that will be used to perform a business event"> - [rootType] - primitiveInstruction PrimitiveInstruction (0..1) <"Specifies the primitive instructions that will be used to call primitive event functions."> - before TradeState (0..1) <"Specifies the trade state that will be acted on by the primitive event functions."> - [metadata reference] + [rootType] + primitiveInstruction PrimitiveInstruction (0..1) <"Specifies the primitive instructions that will be used to call primitive event functions."> + before TradeState (0..1) <"Specifies the trade state that will be acted on by the primitive event functions."> + [metadata reference] - condition ExclusiveSplitPrimitive: <"A split primitive is exclusive and cannot be combined with other primitives. Instead, the primitive instructions to be applied to each branch of the split must be specified as breakdowns in the split instruction itself."> - if primitiveInstruction -> split exists + condition ExclusiveSplitPrimitive: <"A split primitive is exclusive and cannot be combined with other primitives. Instead, the primitive instructions to be applied to each branch of the split must be specified as breakdowns in the split instruction itself."> + if primitiveInstruction -> split exists then primitiveInstruction -> split only exists - condition NewTrade: <"There must be no before trade state if the primitive instructions contain an execution, and vice versa. An instruction only handles 1 trade at a time."> - (if primitiveInstruction -> execution exists then before is absent) - and (if before is absent then primitiveInstruction -> execution exists) + condition NewTrade: <"There must be no before trade state if the primitive instructions contain an execution, and vice versa. An instruction only handles 1 trade at a time."> + (if primitiveInstruction -> execution exists then before is absent) + and (if before is absent then primitiveInstruction -> execution exists) type PrimitiveInstruction: <"A Primitive Instruction describes the inputs required to pass into the corresponding PrimitiveEvent function."> - contractFormation ContractFormationInstruction (0..1) <"Specifies instructions describing an contract formation primitive event."> - execution ExecutionInstruction (0..1) <"Specifies instructions describing an execution primitive event."> - exercise ExerciseInstruction (0..1) <"Specifies instructions describing an exercise primitive event."> - partyChange PartyChangeInstruction (0..1) <"Specifies instructions describing a party change primitive event."> - quantityChange QuantityChangeInstruction (0..1) <"Specifies instructions describing an quantity change primitive event."> - reset ResetInstruction (0..1) <"Specifies instructions describing a reset event."> - split SplitInstruction (0..1) <"Specifies instructions to split a trade into multiple branches."> - termsChange TermsChangeInstruction (0..1) <"Specifies instructions describing a terms change primitive event."> - transfer TransferInstruction (0..1) <"Specifies instructions describing a transfer primitive event."> + contractFormation ContractFormationInstruction (0..1) <"Specifies instructions describing an contract formation primitive event."> + execution ExecutionInstruction (0..1) <"Specifies instructions describing an execution primitive event."> + exercise ExerciseInstruction (0..1) <"Specifies instructions describing an exercise primitive event."> + partyChange PartyChangeInstruction (0..1) <"Specifies instructions describing a party change primitive event."> + quantityChange QuantityChangeInstruction (0..1) <"Specifies instructions describing an quantity change primitive event."> + reset ResetInstruction (0..1) <"Specifies instructions describing a reset event."> + split SplitInstruction (0..1) <"Specifies instructions to split a trade into multiple branches."> + termsChange TermsChangeInstruction (0..1) <"Specifies instructions describing a terms change primitive event."> + transfer TransferInstruction (0..1) <"Specifies instructions describing a transfer primitive event."> indexTransition IndexTransitionInstruction (0..1) <"Specifies inputs needed to process a Index Transition business event."> stockSplit StockSplitInstruction (0..1) <"Specifies inputs needed to process a Stock Split business event."> - observation ObservationInstruction (0..1) <"Specifies inputs needed to process an observation."> + observation ObservationInstruction (0..1) <"Specifies inputs needed to process an observation."> type BusinessEvent extends EventInstruction: <"A business event represents a life cycle event of a trade. The combination of the state changes results in a qualifiable life cycle event. An example of a Business Event is a PartialTermination which is a defined by a quantity change primitive event."> - [metadata key] - [rootType] - - eventQualifier string (0..1) <"The CDM event qualifier, which corresponds to the outcome of the isEvent qualification logic which qualifies the lifecycle event as a function of its features (e.g. PartialTermination, ClearingSubmission, Novation, ...)."> + [metadata key] + [rootType] + + eventQualifier string (0..1) <"The CDM event qualifier, which corresponds to the outcome of the isEvent qualification logic which qualifies the lifecycle event as a function of its features (e.g. PartialTermination, ClearingSubmission, Novation, ...)."> after TradeState (0..*) <"Specifies the after trade state(s) created."> condition EventDate: eventDate exists +type CounterpartyPositionBusinessEvent: <"A business event represents a life cycle event of a position. The combination of the state changes results in a qualifiable life cycle event."> + intent PositionEventIntentEnum (1..1) <"The intent attribute is meant to be specified when the event qualification cannot be programmatically inferred from the event features. As a result it is only associated with those primitives that can give way to such ambiguity, the quantityChange being one of those."> + corporateActionIntent CorporateActionTypeEnum (0..1) <"The intent of a corporate action on the position."> + eventDate date (0..1) <"Specifies the date on which the event is taking place. This date is equal to the trade date in the case of a simple execution. However it can be different from the trade date, for example in the case of a partial termination."> + effectiveDate date (0..1) <"The date on which the event contractually takes effect, when different from the event date."> + packageInformation IdentifiedList (0..1) <"Specifies the package information in case the business event represents several trades executed as a package (hence this attribute is optional). The package information is only instantiated once at the business event level to preserve referential integrity, whereas individual trades make reference to it to identify that they are part of a package."> + after CounterpartyPositionState (0..1) <"Specifies the after position state(s) created."> + type ObservationInstruction: <"Specifies inputs needed to process an observation."> - observationEvent ObservationEvent (1..1) <"Contains all information related to an observation."> + observationEvent ObservationEvent (1..1) <"Contains all information related to an observation."> type ExecutionInstruction: <"Specifies instructions for execution of a transaction, consisting of a product, price, quantity, parties, trade identifier, execution details, and settlement terms."> - product Product (1..1) <"Defines the financial product to be executed and contract formed."> - priceQuantity PriceQuantity (1..*) <"Defines the prices (e.g. spread, equity price, FX rate), quantities (e.g. currency amount, no. shares) and settlement terms (e.g. initial fee, broker fee, up-front cds payment or option premium settlement) associated with the constituents of the transacted product."> - counterparty Counterparty (2..2) <"Maps two defined parties to counterparty enums for the transacted product."> - ancillaryParty AncillaryParty (0..*) <"Maps any ancillary parties, e.g. parties involved in the transaction that are not one of the two principal parties."> - parties Party (2..*) <"Defines all parties to that execution, including agents and brokers."> - partyRoles PartyRole (0..*) <"Defines the role(s) that party(ies) may have in relation to the execution."> - executionDetails ExecutionDetails (1..1) <"Specifies the type and venue of execution, e.g. via voice, or electronically."> - tradeDate date (1..1) <"Denotes the trade/execution date."> - [metadata id] - tradeTime TimeZone (0..1) <"Denotes the trade time and timezone as agreed by the parties to the trade."> + product Product (1..1) <"Defines the financial product to be executed and contract formed."> + priceQuantity PriceQuantity (1..*) <"Defines the prices (e.g. spread, equity price, FX rate), quantities (e.g. currency amount, no. shares) and settlement terms (e.g. initial fee, broker fee, up-front cds payment or option premium settlement) associated with the constituents of the transacted product."> + counterparty Counterparty (2..2) <"Maps two defined parties to counterparty enums for the transacted product."> + ancillaryParty AncillaryParty (0..*) <"Maps any ancillary parties, e.g. parties involved in the transaction that are not one of the two principal parties."> + parties Party (2..*) <"Defines all parties to that execution, including agents and brokers."> + partyRoles PartyRole (0..*) <"Defines the role(s) that party(ies) may have in relation to the execution."> + executionDetails ExecutionDetails (1..1) <"Specifies the type and venue of execution, e.g. via voice, or electronically."> + tradeDate date (1..1) <"Denotes the trade/execution date."> + [metadata id] + tradeTime TimeZone (0..1) <"Denotes the trade time and timezone as agreed by the parties to the trade."> [metadata id] - tradeIdentifier TradeIdentifier (1..*) <"Denotes one or more identifiers associated with the transaction."> - collateral Collateral (0..1) <"Detail the collateral requirement anticipated with the transaction."> + tradeIdentifier TradeIdentifier (1..*) <"Denotes one or more identifiers associated with the transaction."> + collateral Collateral (0..1) <"Detail the collateral requirement anticipated with the transaction."> type ExerciseInstruction: <"Specifies the information required to communicate the choices made by the exercising party, in a financial product endowing the party with at least one option."> - exerciseQuantity PrimitiveInstruction (1..1) <"Contains instructions for exercising the option including a quantity change, and optionally a transfer."> - exerciseOption OptionPayout (0..1) <"Specifies the Option Payout being exercised on the trade."> - [metadata reference] - exerciseDate AdjustableOrAdjustedDate (0..1) <"Specifies the date on which an option contained within the financial product would be exercised. The date may be omitted if the contractual product allows for only a single date of exercise (European exercise)."> - exerciseTime BusinessCenterTime (0..1) <"Specifies the time at which an option contained within the financial product woulld be exercised. The time may be omitted if the contractual product allows for only a single time of exercise (European exercise). "> - replacementTradeIdentifier TradeIdentifier (0..*) <"Specifies the trade identifier to apply to the replacement trade for physical exercise."> - + exerciseQuantity PrimitiveInstruction (1..1) <"Contains instructions for exercising the option including a quantity change, and optionally a transfer."> + exerciseOption OptionPayout (0..1) <"Specifies the Option Payout being exercised on the trade."> + [metadata reference] + exerciseDate AdjustableOrAdjustedDate (0..1) <"Specifies the date on which an option contained within the financial product would be exercised. The date may be omitted if the contractual product allows for only a single date of exercise (European exercise)."> + exerciseTime BusinessCenterTime (0..1) <"Specifies the time at which an option contained within the financial product woulld be exercised. The time may be omitted if the contractual product allows for only a single time of exercise (European exercise). "> + replacementTradeIdentifier TradeIdentifier (0..*) <"Specifies the trade identifier to apply to the replacement trade for physical exercise."> + type ResetInstruction: <"Defines the information needed to create a Reset Business Event. "> - payout Payout (1..1) - [metadata reference] - rateRecordDate date (0..1) <"Specifies the 'Rate Record Day' for a Fallback rate. Fallback rate fixing processes typically set the fixing rate in arrears, i.e., the Fallback Rate corresponding to a Rate Record Date is set at the end of the interest accural period. When this applies, Reset->resetDate occurs at the end of the interest period, and the Reset->rateRecordDate occurs near the start of the interest period. The Reset->rateRecordDate and Reset->observations->observationIdentifier->observationDate will differ if a Fallback rate is unavailable on the Rate Record Date, and the latest previous available rate is used as the observation."> - resetDate date (1..1) <"Specifies the date on which the reset is occuring."> + payout Payout (1..1) + [metadata reference] + rateRecordDate date (0..1) <"Specifies the 'Rate Record Day' for a Fallback rate. Fallback rate fixing processes typically set the fixing rate in arrears, i.e., the Fallback Rate corresponding to a Rate Record Date is set at the end of the interest accural period. When this applies, Reset->resetDate occurs at the end of the interest period, and the Reset->rateRecordDate occurs near the start of the interest period. The Reset->rateRecordDate and Reset->observations->observationIdentifier->observationDate will differ if a Fallback rate is unavailable on the Rate Record Date, and the latest previous available rate is used as the observation."> + resetDate date (1..1) <"Specifies the date on which the reset is occuring."> type CalculateTransferInstruction: <"Defines the tradeState or payout on which to create a Transfer along with all necessary resets."> - tradeState TradeState (1..1) - payout Payout (1..1) - [metadata reference] - resets Reset (0..*) - payerReceiver PayerReceiver (0..1) - quantity Quantity (0..1) <"Specifies quantity amount returned if not the full amount from the TradeState, e.g. partial return"> - date date (0..1) + tradeState TradeState (1..1) + payout Payout (1..1) + [metadata reference] + resets Reset (0..*) + payerReceiver PayerReceiver (0..1) + quantity Quantity (0..1) <"Specifies quantity amount returned if not the full amount from the TradeState, e.g. partial return"> + date date (0..1) type TransferInstruction: <"Defines the payout on which to create a Transfer along with all necessary resets."> - transferState TransferState (0..*) <"Specifies the terms and state of a transfers."> + transferState TransferState (0..*) <"Specifies the terms and state of a transfers."> type QuantityChangeInstruction: <"Instructions required to create a Quantity Change Primitive Event, which can be either an increase, a decrease or a replacement. An increase adds a new trade lot to the original trade, whereas a decrease subtracts from an existing trade lot's quantity. A replacement updates the quantity of an existing trade lot to the new value."> - change PriceQuantity (1..*) <"Quantity by which the trade is being increased, decreased or replaced, and the price at which such quantity change is agreed. The quantity change should always be specified as a positive number, with the direction (increase/decrease/replacement) being specified by the direction enumeration. A fee can also be associated to the quantity change by specifying a Price component of type CashPrice, including the corresponding settlement date and direction."> - direction QuantityChangeDirectionEnum (1..1) <"Direction of the quantity change specified as either an increase, decrease or replacement."> - lotIdentifier Identifier (0..*) <"Identifier for the new lot (in case of increase) or for the existing lot to be changed(in case of decrease or replacement). This optional attribute is mandatory in case of a decrease or replacement if the initial trade state contains multiple trade lots."> + change PriceQuantity (1..*) <"Quantity by which the trade is being increased, decreased or replaced, and the price at which such quantity change is agreed. The quantity change should always be specified as a positive number, with the direction (increase/decrease/replacement) being specified by the direction enumeration. A fee can also be associated to the quantity change by specifying a Price component of type CashPrice, including the corresponding settlement date and direction."> + direction QuantityChangeDirectionEnum (1..1) <"Direction of the quantity change specified as either an increase, decrease or replacement."> + lotIdentifier Identifier (0..*) <"Identifier for the new lot (in case of increase) or for the existing lot to be changed(in case of decrease or replacement). This optional attribute is mandatory in case of a decrease or replacement if the initial trade state contains multiple trade lots."> type IndexTransitionInstruction: <"Defines the information needed to create a Index Transition Business Event."> - priceQuantity PriceQuantity (1..*) <"Specifies both new floating rate index and spread adjustment for each leg to be updated. The spread adjustment accounts for the difference between the old floating rate index relative to the new one. This spread amount is added to the existing spread to determine the new spread, which is applied from the specified effective date forward. In the case of the IBOR Fallback Rate Adjustments, the adjustment spread (also known as the Fallback Adjustment) accounts for two distinctions: i) the fact that the replacement Risk-Free Rate is an overnight rate while IBORs have term structures (e.g., 1, 3, 6-month LIBOR); and (ii) the historical spread differential between IBORs and their term equivalent Overnight Risk-Free Rate compounded rates."> - effectiveDate date (1..1) <"Specifies the effective date of the index transition event. This is first date on which the floating rate calculation will use the new floating rate index and adjusted spread in the floating rate calculation."> - cashTransfer Transfer (0..1) <"Specifies the cash transfer that can optionally be tied to an index transition event."> + priceQuantity PriceQuantity (1..*) <"Specifies both new floating rate index and spread adjustment for each leg to be updated. The spread adjustment accounts for the difference between the old floating rate index relative to the new one. This spread amount is added to the existing spread to determine the new spread, which is applied from the specified effective date forward. In the case of the IBOR Fallback Rate Adjustments, the adjustment spread (also known as the Fallback Adjustment) accounts for two distinctions: i) the fact that the replacement Risk-Free Rate is an overnight rate while IBORs have term structures (e.g., 1, 3, 6-month LIBOR); and (ii) the historical spread differential between IBORs and their term equivalent Overnight Risk-Free Rate compounded rates."> + effectiveDate date (1..1) <"Specifies the effective date of the index transition event. This is first date on which the floating rate calculation will use the new floating rate index and adjusted spread in the floating rate calculation."> + cashTransfer Transfer (0..1) <"Specifies the cash transfer that can optionally be tied to an index transition event."> - condition PriceQuantity: - priceQuantity -> price -> priceType contains PriceTypeEnum -> InterestRate - and priceQuantity -> observable -> rateOption exists - and priceQuantity -> quantity is absent + condition PriceQuantity: + priceQuantity -> price -> priceType contains PriceTypeEnum -> InterestRate + and priceQuantity -> observable -> rateOption exists + and priceQuantity -> quantity is absent type TermsChangeInstruction: <"Specifies instructions for terms change consisting of the new transaction terms, and the renegotiation fee."> - product Product (0..1) <"product to be changed"> - ancillaryParty AncillaryParty (0..*) <"ancillary party to be changed"> - adjustment NotionalAdjustmentEnum (0..1) + product Product (0..1) <"product to be changed"> + ancillaryParty AncillaryParty (0..*) <"ancillary party to be changed"> + adjustment NotionalAdjustmentEnum (0..1) - condition AtLeastOneOf: + condition AtLeastOneOf: (product exists or ancillaryParty exists or adjustment exists) type SplitInstruction: <"Specifies instructions for a split, consisting of a breakdown of instructions to be applied to each branch of the split. This instruction can be used to duplicate a trade, as in a clearing scenario, or to split a trade into smaller quantities (in which case each breakdown instruction needs to include a quantity change), as in an allocation."> - // Should cardinality be (2..*)? - breakdown PrimitiveInstruction (1..*) <"Each split breakdown specifies the set of primitive instructions to be applied to a single branch of that split. N split breakdowns result in N output trades, which include the original trade. Instructions for how to handle the original trade (e.g. if it must be closed) must be specified in one of the breakdowns."> + // Should cardinality be (2..*)? + breakdown PrimitiveInstruction (1..*) <"Each split breakdown specifies the set of primitive instructions to be applied to a single branch of that split. N split breakdowns result in N output trades, which include the original trade. Instructions for how to handle the original trade (e.g. if it must be closed) must be specified in one of the breakdowns."> type PartyChangeInstruction: <"Specifies instruction to change the party on a trade. This primitive instruction is used in a number of scenarios including: clearing, allocation and novation. The instrution must include a trade identifier, because a change of party effectively results in a different trade."> - counterparty Counterparty (1..1) <"The new counterparty who is stepping into the trade. The stepping out counterparty is inferred based on the counterparty role that is being updated."> - ancillaryParty AncillaryParty (0..1) <"Specifies an ancillary party to be added onto the new transaction, e.g. the original executing party in an allocation."> - partyRole PartyRole (0..1) <"Specifies an additional party roles to be added on to the new transaction."> + counterparty Counterparty (1..1) <"The new counterparty who is stepping into the trade. The stepping out counterparty is inferred based on the counterparty role that is being updated."> + ancillaryParty AncillaryParty (0..1) <"Specifies an ancillary party to be added onto the new transaction, e.g. the original executing party in an allocation."> + partyRole PartyRole (0..1) <"Specifies an additional party roles to be added on to the new transaction."> tradeId TradeIdentifier (1..*) <"The identifier to be assigned to the new trade post change of party."> type TradeState: <"Defines the fundamental financial information that can be changed by a Primitive Event and by extension any business or life-cycle event. Each TradeState specifies where a Trade is in its life-cycle. TradeState is a root type and as such, can be created independently to any other CDM data type, but can also be used as part of the CDM Event Model."> - [metadata key] - [rootType] - trade Trade (1..1) <"Represents the Trade that has been effected by a business or life-cycle event."> - state State (0..1) <"Represents the State of the Trade through its life-cycle."> - resetHistory Reset (0..*) <"Represents the updated Trade attributes which can change as the result of a reset event. Only the changed values are captured, leaving the remaining data attributes empty. See Create_Reset function for further details on how TradeState is used in the Reset event. The TradeState data type is used to maintain backwards compatibility with the current Reset mechanism."> - transferHistory TransferState (0..*) <"Represents the updated Trade attributes which can change as the result of a transfer event."> - observationHistory ObservationEvent (0..*) <"Represents the observed events related to a particular product or process, such as credit events or corporate actions."> + [metadata key] + [rootType] + trade Trade (1..1) <"Represents the Trade that has been effected by a business or life-cycle event."> + state State (0..1) <"Represents the State of the Trade through its life-cycle."> + resetHistory Reset (0..*) <"Represents the updated Trade attributes which can change as the result of a reset event. Only the changed values are captured, leaving the remaining data attributes empty. See Create_Reset function for further details on how TradeState is used in the Reset event. The TradeState data type is used to maintain backwards compatibility with the current Reset mechanism."> + transferHistory TransferState (0..*) <"Represents the updated Trade attributes which can change as the result of a transfer event."> + observationHistory ObservationEvent (0..*) <"Represents the observed events related to a particular product or process, such as credit events or corporate actions."> + valuationHistory Valuation (0..*) + +type CounterpartyPositionState: <"Defines the fundamental financial information that can be changed by a Primitive Event and by extension any business or life-cycle event. Each PositionState specifies where a Position is in its life-cycle. PositionState is a root type and as such, can be created independently to any other CDM data type, but can also be used as part of the CDM Event Model."> + [metadata key] + [rootType] + counterpartyPosition CounterpartyPosition (1..1) <"Represents the Position that has been effected by a business or life-cycle event."> + state State (0..1) <"Represents the State of the Position through its life-cycle."> + observationHistory ObservationEvent (0..*) <"Represents the observed events related to a particular product or process, such as credit events or corporate actions."> valuationHistory Valuation (0..*) type ObservationEvent: <"Specifies the necessary information to create any observation event."> - creditEvent CreditEvent (0..1) <"Specifies the necessary information to create a credit event."> - corporateAction CorporateAction (0..1) <"Specifies the necessary information to create a corporate action."> + creditEvent CreditEvent (0..1) <"Specifies the necessary information to create a credit event."> + corporateAction CorporateAction (0..1) <"Specifies the necessary information to create a corporate action."> - condition: + condition: one-of type Reset: <"Defines the reset value or fixing value produced in cashflow calculations, during the life-cycle of a financial instrument. The reset process defined in Create_Reset function joins product definition details with observations to compute the reset value."> - [metadata key] - resetValue Price (1..1) <"Specifies the reset or fixing value. The fixing value could be a cash price, interest rate, or other value."> - resetDate date (1..1) <"Specifies the date on which the reset occurred."> - rateRecordDate date (0..1) <"Specifies the 'Rate Record Day' for a Fallback rate. Fallback rate fixing processes typically set the fixing rate in arrears, i.e., the Fallback Rate corresponding to a Rate Record Date is set at the end of the interest accural period. When this applies, Reset->resetDate occurs at the end of the interest period, and the Reset->rateRecordDate occurs near the start of the interest period. The Reset->rateRecordDate and Reset->observations->observationIdentifier->observationDate will differ if a Fallback rate is unavailable on the Rate Record Date, and the latest previous available rate is used as the observation."> - observations Observation (1..*) <"Represents an audit of the observations used to produce the reset value. If multiple observations were necessary to produce the reset value, the aggregation method should be defined on the payout."> - [metadata reference] - averagingMethodology AveragingCalculation (0..1) <"Identifies the aggregation method to use in the case where multiple observations are used to compute the reset value and the method is not defined in a payout."> + [metadata key] + resetValue Price (1..1) <"Specifies the reset or fixing value. The fixing value could be a cash price, interest rate, or other value."> + resetDate date (1..1) <"Specifies the date on which the reset occurred."> + rateRecordDate date (0..1) <"Specifies the 'Rate Record Day' for a Fallback rate. Fallback rate fixing processes typically set the fixing rate in arrears, i.e., the Fallback Rate corresponding to a Rate Record Date is set at the end of the interest accural period. When this applies, Reset->resetDate occurs at the end of the interest period, and the Reset->rateRecordDate occurs near the start of the interest period. The Reset->rateRecordDate and Reset->observations->observationIdentifier->observationDate will differ if a Fallback rate is unavailable on the Rate Record Date, and the latest previous available rate is used as the observation."> + observations Observation (1..*) <"Represents an audit of the observations used to produce the reset value. If multiple observations were necessary to produce the reset value, the aggregation method should be defined on the payout."> + [metadata reference] + averagingMethodology AveragingCalculation (0..1) <"Identifies the aggregation method to use in the case where multiple observations are used to compute the reset value and the method is not defined in a payout."> - condition AveragingMethodologyExists: <"Ensures an averaging method is defined when more than one observation is used to compute the reset."> - if observations count > 1 then averagingMethodology exists + condition AveragingMethodologyExists: <"Ensures an averaging method is defined when more than one observation is used to compute the reset."> + if observations count > 1 then averagingMethodology exists type State: <"Defines the state of a trade at a point in the Trade's life cycle. Trades have many state dimensions, all of which are represented here. For example, states useful for position keeping are represented alongside those needed for regulatory reporting."> - closedState ClosedState (0..1) <"Represents the qualification of what led to the trade's closure alongside the dates on which this closure took effect."> - positionState PositionStatusEnum (0..1) <"Identifies the state of the position, to distinguish if just executed, formed, already settled, closed, etc."> + closedState ClosedState (0..1) <"Represents the qualification of what led to the trade's closure alongside the dates on which this closure took effect."> + positionState PositionStatusEnum (0..1) <"Identifies the state of the position, to distinguish if just executed, formed, already settled, closed, etc."> - condition ClosedStateExists: <"When the position state is identified as closed, the closed state must also be specified."> - if positionState = PositionStatusEnum -> Closed + condition ClosedStateExists: <"When the position state is identified as closed, the closed state must also be specified."> + if positionState = PositionStatusEnum -> Closed then closedState exists type TransferState: <"Defines the fundamental financial information associated with a Transfer event. Each TransferState specifies where a Transfer is in its life-cycle. TransferState is a root type and as such, can be created independently to any other CDM data type, but can also be used as part of the CDM Event Model."> - [metadata key] - [rootType] - transfer Transfer (1..1) <"Represents the Transfer that has been effected by a business or life-cycle event."> - transferStatus TransferStatusEnum (0..1) <"Represents the State of the Transfer through its life-cycle."> + [metadata key] + [rootType] + transfer Transfer (1..1) <"Represents the Transfer that has been effected by a business or life-cycle event."> + transferStatus TransferStatusEnum (0..1) <"Represents the State of the Transfer through its life-cycle."> type Transfer extends TransferBase: <"Defines the movement of cash, securities or commodities between two parties on a date."> - settlementOrigin SettlementOrigin (0..1) <"Represents the origin to the transfer as a reference for lineage purposes, whether it originated from trade level settlement terms or from payment terms on an economic payout."> - resetOrigin Reset (0..1) <"Represents the reset and observation values that were used to determine the transfer amount."> - transferExpression TransferExpression (1..1) <"Specifies a transfer expression (cash price, performance amount, scheduled payment amount, etc.) to define the nature of the transfer amount and its source."> + settlementOrigin SettlementOrigin (0..1) <"Represents the origin to the transfer as a reference for lineage purposes, whether it originated from trade level settlement terms or from payment terms on an economic payout."> + resetOrigin Reset (0..1) <"Represents the reset and observation values that were used to determine the transfer amount."> + transferExpression TransferExpression (1..1) <"Specifies a transfer expression (cash price, performance amount, scheduled payment amount, etc.) to define the nature of the transfer amount and its source."> type TransferExpression: <"Specifies a transfer expression (cash price, performance amount, scheduled payment amount, etc.) to define the nature of the transfer amount and its source."> - priceTransfer FeeTypeEnum (0..1) <"Specifies a transfer amount exchanged as a price or fee for entering into a Business Event, e.g. Premium, Termination fee, Novation fee."> - scheduledTransfer ScheduledTransfer (0..1) <"Specifies a transfer created from a scheduled or contingent event on a contract, e.g. Exercise, Performance, Credit Event"> + priceTransfer FeeTypeEnum (0..1) <"Specifies a transfer amount exchanged as a price or fee for entering into a Business Event, e.g. Premium, Termination fee, Novation fee."> + scheduledTransfer ScheduledTransfer (0..1) <"Specifies a transfer created from a scheduled or contingent event on a contract, e.g. Exercise, Performance, Credit Event"> - condition: + condition: one-of type ScheduledTransfer: - transferType ScheduledTransferEnum (1..1) <"Specifies a transfer created from a scheduled or contingent event on a contract, e.g. Exercise, Performance, Credit Event"> - corporateActionTransferType CorporateActionTypeEnum (0..1) + transferType ScheduledTransferEnum (1..1) <"Specifies a transfer created from a scheduled or contingent event on a contract, e.g. Exercise, Performance, Credit Event"> + corporateActionTransferType CorporateActionTypeEnum (0..1) - condition CorporateActionTransferTypeExists: <"When transfer type is Performance or Transfer then the type of event must be specified."> - if transferType = ScheduledTransferEnum -> CorporateAction + condition CorporateActionTransferTypeExists: <"When transfer type is Performance or Transfer then the type of event must be specified."> + if transferType = ScheduledTransferEnum -> CorporateAction then corporateActionTransferType exists type SettlementOrigin: <"Defines the origin to the transfer as a reference for lineage purposes, whether it originated from trade level settlement terms or from payment terms on an economic payout."> - commodityPayout CommodityPayout (0..1) <"Represents a reference to an Commodity Payout."> - [metadata reference] - creditDefaultPayout CreditDefaultPayout (0..1) <"Represents a reference to a Credit Default Payout."> - [metadata reference] - forwardPayout ForwardPayout (0..1) <"Represents a reference to a Forward Payout."> - [metadata reference] - interestRatePayout InterestRatePayout (0..1) <"Represents a reference to an Interest Rate Payout."> - [metadata reference] - optionPayout OptionPayout (0..1) <"Represents a reference to an Option Payout."> - [metadata reference] - assetPayout AssetPayout (0..1) <"Represents a reference to an Asset Payout."> - [metadata reference] - settlementTerms SettlementTerms (0..1) <"Represents a reference to settlement terms, which may have been specified at execution."> - [metadata reference] - performancePayout PerformancePayout (0..1) <"Represents a reference to a Performance Payout."> - [metadata reference] - fixedPricePayout FixedPricePayout (0..1) <"Represents a reference to a Fixed Price Payout"> - [metadata reference] - - condition: - one-of + commodityPayout CommodityPayout (0..1) <"Represents a reference to an Commodity Payout."> + [metadata reference] + creditDefaultPayout CreditDefaultPayout (0..1) <"Represents a reference to a Credit Default Payout."> + [metadata reference] + forwardPayout ForwardPayout (0..1) <"Represents a reference to a Forward Payout."> + [metadata reference] + interestRatePayout InterestRatePayout (0..1) <"Represents a reference to an Interest Rate Payout."> + [metadata reference] + optionPayout OptionPayout (0..1) <"Represents a reference to an Option Payout."> + [metadata reference] + assetPayout AssetPayout (0..1) <"Represents a reference to an Asset Payout."> + [metadata reference] + settlementTerms SettlementTerms (0..1) <"Represents a reference to settlement terms, which may have been specified at execution."> + [metadata reference] + performancePayout PerformancePayout (0..1) <"Represents a reference to a Performance Payout."> + [metadata reference] + fixedPricePayout FixedPricePayout (0..1) <"Represents a reference to a Fixed Price Payout"> + [metadata reference] + + condition: + one-of type TradeIdentifier extends Identifier: <"Defines a trade identifier as a special case of the generic identifier type, that also includes the trade identifier class."> - identifierType TradeIdentifierTypeEnum (0..1) <"The enumerated classification of the identifier. Optional as a trade identifier may be party-specific, in which case it may not correspond to any established classification."> + identifierType TradeIdentifierTypeEnum (0..1) <"The enumerated classification of the identifier. Optional as a trade identifier may be party-specific, in which case it may not correspond to any established classification."> + +type PositionIdentifier extends Identifier: <"Defines a position identifier as a special case of the generic identifier type, that also includes the position identifier class."> + identifierType TradeIdentifierTypeEnum (0..1) <"The enumerated classification of the identifier. Optional as a position identifier may be party-specific, in which case it may not correspond to any established classification."> type Valuation: <"Defines the value of an investment, asset, or security"> amount Money (1..1) <"Current value of the outstanding contract"> @@ -268,55 +287,57 @@ type Valuation: <"Defines the value of an investment, asset, or security"> method ValuationTypeEnum (0..1) <"Method used for the valuation of the transaction by the valuation party."> source ValuationSourceEnum (0..1) <"Source of the valuation of the transaction by the valuation party."> delta number (0..1) <"The ratio of the change in the price of a derivative transaction to the change in the price of the underlying. This field is applicable only to options and swaptions."> + valuationTiming PriceTimingEnum (0..1) <"Denotes when the valuation was sourced during a business day."> + priceComponent Price (0..1) <"Denotes the price used to compute the valuation."> condition ValuationType: <"The below condition ensures one and only one of the two attributes: 'Valuation Method' or 'Valuation Source' is allowed. Valuation of a trade or a portfolio is either internally calculated (via M2Market or M2Model methods) or supplied from an external source (e.g Central Counterparty's Valuation). Valuation cannot be based upon internal calculations and external source at the same time."> required choice method, source type Trade: <"Defines the output of a financial transaction between parties - a Business Event. A Trade impacts the financial position (i.e. the balance sheet) of involved parties."> - [metadata key] + [metadata key] [docReference ICMA GMRA namingConvention "Transaction" provision "As defined in the GMRA, paragraph 1(a) and 1(b) Referring to the agreement between Buyer and Seller in which a Seller agrees to sell Securities against the payment of the purchase price by Buyer to Seller, with a simultaneous agreement by Buyer to sell to Seller Equivalent Securities at a future date. May be a Repurchase Transaction or Buy/Sell Back Transaction."] - tradeIdentifier TradeIdentifier (1..*) <"Represents the identifier(s) that uniquely identify a trade for an identity issuer. A trade can include multiple identifiers, for example a trade that is reportable to both the CFTC and ESMA, and then has an associated USI (Unique Swap Identifier) UTI (Unique Trade Identifier)."> - tradeDate date (1..1) <"Specifies the date which the trade was agreed."> + tradeIdentifier TradeIdentifier (1..*) <"Represents the identifier(s) that uniquely identify a trade for an identity issuer. A trade can include multiple identifiers, for example a trade that is reportable to both the CFTC and ESMA, and then has an associated USI (Unique Swap Identifier) UTI (Unique Trade Identifier)."> + tradeDate date (1..1) <"Specifies the date which the trade was agreed."> [metadata id] - tradeTime TimeZone (0..1) <"Denotes the trade time and timezone as agreed by the parties to the trade."> + tradeTime TimeZone (0..1) <"Denotes the trade time and timezone as agreed by the parties to the trade."> [metadata id] - tradableProduct TradableProduct (1..1) <"Represents the financial instrument The corresponding FpML construct is the product abstract element and the associated substitution group."> - party Party (0..*) <"Represents the parties to the trade. The cardinality is optional to address the case where the trade is defined within a BusinessEvent data type, in which case the party is specified in BusinessEvent."> - partyRole PartyRole (0..*) <"Represents the role each specified party takes in the trade. further to the principal roles, payer and receiver."> - executionDetails ExecutionDetails (0..1) <"Represents information specific to trades that arose from executions."> - contractDetails ContractDetails (0..1) <"Represents information specific to trades involving contractual products."> + tradableProduct TradableProduct (1..1) <"Represents the financial instrument The corresponding FpML construct is the product abstract element and the associated substitution group."> + party Party (0..*) <"Represents the parties to the trade. The cardinality is optional to address the case where the trade is defined within a BusinessEvent data type, in which case the party is specified in BusinessEvent."> + partyRole PartyRole (0..*) <"Represents the role each specified party takes in the trade. further to the principal roles, payer and receiver."> + executionDetails ExecutionDetails (0..1) <"Represents information specific to trades that arose from executions."> + contractDetails ContractDetails (0..1) <"Represents information specific to trades involving contractual products."> clearedDate date (0..1) <"Specifies the date on which a trade is cleared (novated) through a central counterparty clearing service."> [deprecated] collateral Collateral (0..1) <"Represents the collateral obligations of a party."> - account Account (0..*) <"Represents a party's granular account information, which may be used in subsequent internal processing."> - [deprecated] - - // condition SecurityPartyRole: <"When the executed product is a security, both ExecutingEntity and Counterparty party roles must exist."> - // if tradableProduct -> product -> security exists - // then partyRole -> role contains PartyRoleEnum -> ExecutingEntity and partyRole -> role contains PartyRoleEnum -> Counterparty - condition SecurityPartyRoleBuyerSeller: <"When the executed product is a security, both buyer and seller party roles must exist."> - if tradableProduct -> product -> security exists - then partyRole -> role contains PartyRoleEnum -> Buyer - and partyRole -> role contains PartyRoleEnum -> Seller - - condition SecurityPrice: <"When the executed product is a security, the price must be specified."> - if tradableProduct -> product -> security exists - then tradableProduct -> tradeLot -> priceQuantity -> price exists - - condition SettlementTerms: <"When the executed product is a security, the settlement terms must be specified."> - if tradableProduct -> product -> security exists - then tradableProduct -> tradeLot only-element -> priceQuantity -> settlementTerms exists - - condition PackageTrade: <"When the trade is part of a package as specified in the execution details, the trade identifier must be found as one of the package components."> - if executionDetails -> packageReference exists - then executionDetails -> packageReference -> componentId -> assignedIdentifier contains tradeIdentifier -> assignedIdentifier - - condition DeliverableObligationsPhysicalSettlementMatrix: <"The below set of credit deliverable obligation provisions are specified as optional boolean in FpML and the CDM because they would be specified as part of the Physical Settlement Matrix when such document governs the contract terms. As a result, this data rule specifies that those provisions cannot be omitted if the Credit Derivatives Physical Settlement Matrix doesn't governs the terms of the contract."> - 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 + account Account (0..*) <"Represents a party's granular account information, which may be used in subsequent internal processing."> + [deprecated] + + // condition SecurityPartyRole: <"When the executed product is a security, both ExecutingEntity and Counterparty party roles must exist."> + // if tradableProduct -> product -> security exists + // then partyRole -> role contains PartyRoleEnum -> ExecutingEntity and partyRole -> role contains PartyRoleEnum -> Counterparty + condition SecurityPartyRoleBuyerSeller: <"When the executed product is a security, both buyer and seller party roles must exist."> + if tradableProduct -> product -> security exists + then partyRole -> role contains PartyRoleEnum -> Buyer + and partyRole -> role contains PartyRoleEnum -> Seller + + condition SecurityPrice: <"When the executed product is a security, the price must be specified."> + if tradableProduct -> product -> security exists + then tradableProduct -> tradeLot -> priceQuantity -> price exists + + condition SettlementTerms: <"When the executed product is a security, the settlement terms must be specified."> + if tradableProduct -> product -> security exists + then tradableProduct -> tradeLot only-element -> priceQuantity -> settlementTerms exists + + condition PackageTrade: <"When the trade is part of a package as specified in the execution details, the trade identifier must be found as one of the package components."> + if executionDetails -> packageReference exists + then executionDetails -> packageReference -> componentId -> assignedIdentifier contains tradeIdentifier -> assignedIdentifier + + condition DeliverableObligationsPhysicalSettlementMatrix: <"The below set of credit deliverable obligation provisions are specified as optional boolean in FpML and the CDM because they would be specified as part of the Physical Settlement Matrix when such document governs the contract terms. As a result, this data rule specifies that those provisions cannot be omitted if the Credit Derivatives Physical Settlement Matrix doesn't governs the terms of the contract."> + 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 @@ -328,248 +349,248 @@ type Trade: <"Defines the output of a financial transaction between parties - a 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) - - condition ObligationsPhysicalSettlementMatrix: <"The below set of obligation of the reference entity are specified as optional boolean in FpML and the CDM because they would be specified as part of the Physical Settlement Matrix when such document governs the contract terms. As a result, this data rule specifies that those provisions cannot be omitted if the Physical Settlement Matrix governs the terms of the contract. This data rule also applies to cash settled contracts because those could still end-up being physically settled, in case the case where an auction could not take place because of, say, liquidity considerations."> - 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 -> 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) + + condition ObligationsPhysicalSettlementMatrix: <"The below set of obligation of the reference entity are specified as optional boolean in FpML and the CDM because they would be specified as part of the Physical Settlement Matrix when such document governs the contract terms. As a result, this data rule specifies that those provisions cannot be omitted if the Physical Settlement Matrix governs the terms of the contract. This data rule also applies to cash settled contracts because those could still end-up being physically settled, in case the case where an auction could not take place because of, say, liquidity considerations."> + 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 + 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) - condition CreditEventsPhysicalSettlementMatrix: <"The below set of credit events are specified as optional boolean in FpML and the CDM because they would be specified as part of the Physical Settlement Matrix when such document governs the contract terms. As a result, this data rule specifies that those provisions can only be omitted if the Physical Settlement Matrix governs the terms of the contract. This data rule also applies to cash settled contracts because those could still end-up being physically settled, in the case where an auction could not take place because of, say, liquidity considerations."> - 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 + condition CreditEventsPhysicalSettlementMatrix: <"The below set of credit events are specified as optional boolean in FpML and the CDM because they would be specified as part of the Physical Settlement Matrix when such document governs the contract terms. As a result, this data rule specifies that those provisions can only be omitted if the Physical Settlement Matrix governs the terms of the contract. This data rule also applies to cash settled contracts because those could still end-up being physically settled, in the case where an auction could not take place because of, say, liquidity considerations."> + 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) - condition RestructuringPhysicalSettlementMatrix: <"The below multiple holder obligation restructuring provisions is specified as optional boolean in FpML and the CDM because they would be specified as part of the Physical Settlement Matrix when such document governs the contract terms. As a result, this data rule specifies that this provision can only be omitted if the Physical Settlement Matrix governs the terms of the contract. This data rule also applies to cash settled contracts because those could still end-up being physically settled, in the case where an auction could not take place because of, say, liquidity considerations."> - 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 - - condition AdditionalFixedPaymentsMortgages: <"The below set of additional fixed payment provisions are specified as optional boolean in FpML and the CDM because they only apply to mortgage credit default swaps. As a result, this data rule specifies that those provisions are required if the contract corresponds to a mortgage credit default swap. The provision related to the existence of the Contractual Term Supplement is meant to address the case where the underlier is a mortgage index."> - 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) - - condition FloatingAmountEventsMortgages: <"The below set of floating amount events provisions are specified as optional boolean in FpML and the CDM because they only apply to mortgage credit default swaps. As a result, this data rule specifies that those provisions are required if the contract corresponds to a mortgage credit default swap. The provision related to the existence of the Contractual Term Supplement is meant to address the case where the underlier is a mortgage index."> - 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) - - condition CreditEventsMortgages: <"The below set of credit events provisions are specified as optional boolean in FpML and the CDM because they only apply to mortgage credit default swaps. As a result, this data rule specifies that those provisions are required if the contract corresponds to a mortgage credit default swap. The provision related to the existence of the Contractual Term Supplement is meant to address the case where the underlier is a mortgage index."> - 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) - - condition HedgingParty: <"FpML specifies that there cannot be more than 2 hedging parties."> - if partyRole -> role contains PartyRoleEnum -> HedgingParty - then FilterPartyRole(partyRole, PartyRoleEnum -> HedgingParty) count <= 2 - - condition DeterminingParty: <"FpML specifies that there cannot be more than 2 determining parties."> - if partyRole -> role contains PartyRoleEnum -> DeterminingParty - then FilterPartyRole(partyRole, PartyRoleEnum -> DeterminingParty) count <= 2 - - condition BarrierDerterminationAgent: <"FpML specifies that there cannot be more than 1 barrier determination agent."> - if partyRole -> role contains PartyRoleEnum -> BarrierDeterminationAgent - then FilterPartyRole(partyRole, PartyRoleEnum -> BarrierDeterminationAgent) count <= 1 - - condition ClearedDate: <"If the cleared date exists, it needs to be on or after the trade date."> - if clearedDate exists then clearedDate >= tradeDate - - condition FpML_cd_1: <"FpML validation rule cd-1 - If referenceInformation exists, tradeDate must be before effectiveDate/unadjustedDate."> - 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 - - condition FpML_cd_7: <"FpML validation rule cd-7 - If condition LongForm is true, then effectiveDate/dateAdjustments exists."> - 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 - - condition FpML_cd_8: <"FpML validation rule cd-8 - If condition LongForm is true, and if scheduledTerminationDate exists then scheduledTerminationDate/dateAdjustments exists."> - 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 - - condition FpML_cd_11: <"FpML validation rule cd-11 - If condition LongForm is true, and if condition ISDA2003 is true, then allGuarantees must exist."> - 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 - - condition FpML_cd_19: <"FpML validation rule cd-19 - If the condition ISDA1999Credit is true, then the following elements must not exist: protectionTerms/creditEvents/creditEventNotice/businessCenter, protectionTerms/creditEvents/restructuring/multipleHolderObligation, protectionTerms/creditEvents/restructuring/multipleCreditEventNotices, generalTerms/referenceInformation/allGuarantees, generalTerms/indexReferenceInformation, generalTerms/substitution, generalTerms/modifiedEquityDelivery."> - 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 - - condition FpML_cd_20: <"FpML validation rule cd-20 - If the condition ISDA2003 is true, then protectionTerms/obligations/notContingent must not exist."> - if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any = ContractualDefinitionsEnum -> ISDA2003CreditDerivatives - then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations -> notContingent is absent - - condition FpML_cd_23: <"FpML validation rule cd-23 - If the condition LongForm is true, then cashSettlementTerms or physicalSettlementTerms must exist."> - 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 - - condition FpML_cd_24: <"FpML validation rule cd-24 - If the condition LongForm is true, then the following elements must exist: protectionTerms/creditEvents/creditEventNotice, protectionTerms/obligations, generalTerms/referenceInformation/referencePrice."> - 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 - - condition FpML_cd_25: <"FpML validation rule cd-25 - If the condition LongForm is true, and if physicalSettlementTerms exists, then physicalSettlementTerms must contain settlementCurrency, physicalSettlementPeriod, escrow and deliverableObligations/accruedInterest."> - 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 - - condition FpML_cd_32: <"FpML validation rule cd-32 - If condition LongForm is true, and if fixedAmountCalculation/calculationAmount exists, then fixedAmountCalculation/dayCountFraction must exist."> - 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 - - condition FpML_ird_8: <"FpML validation rule ird-8 - If the same party is specified as the payer and receiver, then different accounts must be specified."> - if tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> interestRatePayout exists + condition RestructuringPhysicalSettlementMatrix: <"The below multiple holder obligation restructuring provisions is specified as optional boolean in FpML and the CDM because they would be specified as part of the Physical Settlement Matrix when such document governs the contract terms. As a result, this data rule specifies that this provision can only be omitted if the Physical Settlement Matrix governs the terms of the contract. This data rule also applies to cash settled contracts because those could still end-up being physically settled, in the case where an auction could not take place because of, say, liquidity considerations."> + 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 + + condition AdditionalFixedPaymentsMortgages: <"The below set of additional fixed payment provisions are specified as optional boolean in FpML and the CDM because they only apply to mortgage credit default swaps. As a result, this data rule specifies that those provisions are required if the contract corresponds to a mortgage credit default swap. The provision related to the existence of the Contractual Term Supplement is meant to address the case where the underlier is a mortgage index."> + 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) + + condition FloatingAmountEventsMortgages: <"The below set of floating amount events provisions are specified as optional boolean in FpML and the CDM because they only apply to mortgage credit default swaps. As a result, this data rule specifies that those provisions are required if the contract corresponds to a mortgage credit default swap. The provision related to the existence of the Contractual Term Supplement is meant to address the case where the underlier is a mortgage index."> + 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) + + condition CreditEventsMortgages: <"The below set of credit events provisions are specified as optional boolean in FpML and the CDM because they only apply to mortgage credit default swaps. As a result, this data rule specifies that those provisions are required if the contract corresponds to a mortgage credit default swap. The provision related to the existence of the Contractual Term Supplement is meant to address the case where the underlier is a mortgage index."> + 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) + + condition HedgingParty: <"FpML specifies that there cannot be more than 2 hedging parties."> + if partyRole -> role contains PartyRoleEnum -> HedgingParty + then FilterPartyRole(partyRole, PartyRoleEnum -> HedgingParty) count <= 2 + + condition DeterminingParty: <"FpML specifies that there cannot be more than 2 determining parties."> + if partyRole -> role contains PartyRoleEnum -> DeterminingParty + then FilterPartyRole(partyRole, PartyRoleEnum -> DeterminingParty) count <= 2 + + condition BarrierDerterminationAgent: <"FpML specifies that there cannot be more than 1 barrier determination agent."> + if partyRole -> role contains PartyRoleEnum -> BarrierDeterminationAgent + then FilterPartyRole(partyRole, PartyRoleEnum -> BarrierDeterminationAgent) count <= 1 + + condition ClearedDate: <"If the cleared date exists, it needs to be on or after the trade date."> + if clearedDate exists then clearedDate >= tradeDate + + condition FpML_cd_1: <"FpML validation rule cd-1 - If referenceInformation exists, tradeDate must be before effectiveDate/unadjustedDate."> + 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 + + condition FpML_cd_7: <"FpML validation rule cd-7 - If condition LongForm is true, then effectiveDate/dateAdjustments exists."> + 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 + + condition FpML_cd_8: <"FpML validation rule cd-8 - If condition LongForm is true, and if scheduledTerminationDate exists then scheduledTerminationDate/dateAdjustments exists."> + 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 + + condition FpML_cd_11: <"FpML validation rule cd-11 - If condition LongForm is true, and if condition ISDA2003 is true, then allGuarantees must exist."> + 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 + + condition FpML_cd_19: <"FpML validation rule cd-19 - If the condition ISDA1999Credit is true, then the following elements must not exist: protectionTerms/creditEvents/creditEventNotice/businessCenter, protectionTerms/creditEvents/restructuring/multipleHolderObligation, protectionTerms/creditEvents/restructuring/multipleCreditEventNotices, generalTerms/referenceInformation/allGuarantees, generalTerms/indexReferenceInformation, generalTerms/substitution, generalTerms/modifiedEquityDelivery."> + 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 + + condition FpML_cd_20: <"FpML validation rule cd-20 - If the condition ISDA2003 is true, then protectionTerms/obligations/notContingent must not exist."> + if contractDetails -> documentation -> legalAgreementIdentification -> agreementName -> contractualDefinitionsType any = ContractualDefinitionsEnum -> ISDA2003CreditDerivatives + then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> creditDefaultPayout -> protectionTerms -> obligations -> notContingent is absent + + condition FpML_cd_23: <"FpML validation rule cd-23 - If the condition LongForm is true, then cashSettlementTerms or physicalSettlementTerms must exist."> + 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 + + condition FpML_cd_24: <"FpML validation rule cd-24 - If the condition LongForm is true, then the following elements must exist: protectionTerms/creditEvents/creditEventNotice, protectionTerms/obligations, generalTerms/referenceInformation/referencePrice."> + 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 + + condition FpML_cd_25: <"FpML validation rule cd-25 - If the condition LongForm is true, and if physicalSettlementTerms exists, then physicalSettlementTerms must contain settlementCurrency, physicalSettlementPeriod, escrow and deliverableObligations/accruedInterest."> + 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 + + condition FpML_cd_32: <"FpML validation rule cd-32 - If condition LongForm is true, and if fixedAmountCalculation/calculationAmount exists, then fixedAmountCalculation/dayCountFraction must exist."> + 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 + + condition FpML_ird_8: <"FpML validation rule ird-8 - If the same party is specified as the payer and receiver, then different accounts must be specified."> + if tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> interestRatePayout exists then FpmlIrd8(tradableProduct, account) = True condition ExtraordinaryEvents: <"Extraordinary events provisions must be associated with an equity payout."> - if contractDetails -> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms -> equityAdditionalTerms -> extraordinaryEvents exists + if contractDetails -> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms -> equityAdditionalTerms -> extraordinaryEvents exists then tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> performancePayout -> returnTerms -> priceReturnTerms exists // and performancePayout underlier must be security - or tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> optionPayout -> underlier -> security exists + or tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> optionPayout -> underlier -> security exists condition DisruptionEventsDeterminingParty: 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 + and if tradableProduct -> ancillaryParty -> role contains AncillaryRoleEnum -> DisruptionEventsDeterminingParty + then contractDetails -> documentation -> agreementTerms -> agreement -> transactionAdditionalTerms -> equityAdditionalTerms -> extraordinaryEvents -> additionalDisruptionEvents -> determiningParty exists type ExecutionDetails: <"Defines specific attributes that relate to trade executions."> - [metadata key] - - executionType ExecutionTypeEnum (1..1) <"Identifies the type of execution, e.g. via voice, electronically..."> - executionVenue LegalEntity (0..1) <"Represents the venue on which a trade was executed."> - packageReference IdentifiedList (0..1) <"A reference to the package linking the trade with other trades, in case the trade was executed as part of a package (hence this attribute is optional)."> + [metadata key] - condition ExecutionVenue: <"When the execution type is set to 'Electronically', the execution venue must be specified."> - if executionType = ExecutionTypeEnum -> Electronic - then executionVenue exists + executionType ExecutionTypeEnum (1..1) <"Identifies the type of execution, e.g. via voice, electronically..."> + executionVenue LegalEntity (0..1) <"Represents the venue on which a trade was executed."> + packageReference IdentifiedList (0..1) <"A reference to the package linking the trade with other trades, in case the trade was executed as part of a package (hence this attribute is optional)."> + + condition ExecutionVenue: <"When the execution type is set to 'Electronically', the execution venue must be specified."> + if executionType = ExecutionTypeEnum -> Electronic + then executionVenue exists type ContractDetails: <"Defines specific attributes that relate to contractual details of trades."> - [metadata key] - documentation LegalAgreement (0..*) <"Represents the legal document(s) that governs a trade and associated contractual product terms, either as a reference to such documents when specified as part of the CDM, or through identification of some of the key terms of those documents, such as the type of document, the document identifier, the publisher, the document vintage and the agreement date."> - governingLaw GoverningLawEnum (0..1) <"Represents the law governing the trade and associated contractual product terms."> - [metadata scheme] + [metadata key] + documentation LegalAgreement (0..*) <"Represents the legal document(s) that governs a trade and associated contractual product terms, either as a reference to such documents when specified as part of the CDM, or through identification of some of the key terms of those documents, such as the type of document, the document identifier, the publisher, the document vintage and the agreement date."> + governingLaw GoverningLawEnum (0..1) <"Represents the law governing the trade and associated contractual product terms."> + [metadata scheme] - condition ExecutedAgreement: <"Contract details can only only point to executed legal agreements."> - if documentation exists + condition ExecutedAgreement: <"Contract details can only only point to executed legal agreements."> + if documentation exists then documentation -> agreementDate exists type Lineage: <"A class to provide lineage information across lifecycle events through a pointer or set of pointers into the event(s), contract(s) and, possibly, payout components that the event is dependent on or relates to. As an example, if an contractFormation event is corrected, the correction event will have a lineage into the initial event, which takes the form of a globalKey into that initial contract formation event. Two referencing mechanisms are provided as part of the CDM: either the globalKey, which corresponds to the hash value of the CDM class which is referred to, or a reference qualifier which is meant to provide support for the ingestion of xml documents with id/href mechanisms. The CDM recommends the use of the globalKey and provides a default implementation which is accessible in the generated code through org.isda.cdm.globalKey.GlobalKeyHashCalculator. If implementers want to use an alternative hashing mechanism, the API in which they need to plug it is com.rosetta.model.lib.HashFunction."> tradeReference Trade (0..*) [metadata reference] - eventReference WorkflowStep (0..*) <"The reference to the instantiation of an Event object, either through a globalKey or an xml-derived id/href mechanism. The definition associated to the Lineage class provides more details with respect to those referencing approaches, their expected usage and available implementation."> - [metadata reference] - portfolioStateReference PortfolioState (0..*) <"The reference to the previous state of a Portfolio, in a chain of Events leading up to a build of that Portfolio as the holding of Product(s) in specific Quantity(ies). As part of the PortfolioState object, a pointer to the previous PortfolioState is provided through a Lineage object, together with pointer(s) to the Event or set of Events leading up to the current (new) state."> - [metadata reference] + eventReference WorkflowStep (0..*) <"The reference to the instantiation of an Event object, either through a globalKey or an xml-derived id/href mechanism. The definition associated to the Lineage class provides more details with respect to those referencing approaches, their expected usage and available implementation."> + [metadata reference] + portfolioStateReference PortfolioState (0..*) <"The reference to the previous state of a Portfolio, in a chain of Events leading up to a build of that Portfolio as the holding of Product(s) in specific Quantity(ies). As part of the PortfolioState object, a pointer to the previous PortfolioState is provided through a Lineage object, together with pointer(s) to the Event or set of Events leading up to the current (new) state."> + [metadata reference] type StockSplitInstruction: <"Data required to perform a stock split business event."> - adjustmentRatio number (1..1) <"The number that denotes the cumulative quantity of post-split shares issued to shareholders versus the quantity of pre-split shares previously issued to shareholders. This number will be multiplied by existing shares in an equity derivative contract or other positions to determine the post-split number of shares. With regard to any reference to price, the pre-split reference price will be divided by this number to determine the post-split reference price."> - effectiveDate date (1..1) <"The effective date of the stock split, also known as the ex-date. This is the date on which the additional shares are paid to the shareholders, or in the case of a reverse stock split, the number shares held by each shareholder is proportionally reduced. Equity derivative transactions can be amended in firms' internal systems on such date. In most markets, the listed stock price is reduced (or increased for a reverse stock split) to account for the split on the same date, but in some markets the price adjustment occurs on a later date. In either case, equity derivative transactions should be amended on the date that the stocks are paid to the shareholders (or consolidated)."> + adjustmentRatio number (1..1) <"The number that denotes the cumulative quantity of post-split shares issued to shareholders versus the quantity of pre-split shares previously issued to shareholders. This number will be multiplied by existing shares in an equity derivative contract or other positions to determine the post-split number of shares. With regard to any reference to price, the pre-split reference price will be divided by this number to determine the post-split reference price."> + effectiveDate date (1..1) <"The effective date of the stock split, also known as the ex-date. This is the date on which the additional shares are paid to the shareholders, or in the case of a reverse stock split, the number shares held by each shareholder is proportionally reduced. Equity derivative transactions can be amended in firms' internal systems on such date. In most markets, the listed stock price is reduced (or increased for a reverse stock split) to account for the split on the same date, but in some markets the price adjustment occurs on a later date. In either case, equity derivative transactions should be amended on the date that the stocks are paid to the shareholders (or consolidated)."> type CreditEvent: <"Specifies the relevant data regarding a credit event."> - creditEventType CreditEventTypeEnum (1..1) <"The type of credit event taking place."> - eventDeterminationDate date (1..1) <"The date in which the credit event is determined by the Credit Derivatives Determinations Comitee."> - auctionDate date (0..1) <"The date on which the auction is scheduled to occur."> - finalPrice Price (0..1) <"The final price resulting from the auction."> - recoveryPercent number (0..1) <"The percentage of the original value of the asset affected by the credit event that can be recovered."> - publiclyAvailableInformation Resource (0..*) <"A public information source, e.g. a particular newspaper or electronic news service, that may publish relevant information used in the determination of whether or not a credit event has occurred."> - referenceInformation ReferenceInformation (1..1) <"The reference entity, part of a credit basket, impacted by the credit event."> + creditEventType CreditEventTypeEnum (1..1) <"The type of credit event taking place."> + eventDeterminationDate date (1..1) <"The date in which the credit event is determined by the Credit Derivatives Determinations Comitee."> + auctionDate date (0..1) <"The date on which the auction is scheduled to occur."> + finalPrice Price (0..1) <"The final price resulting from the auction."> + recoveryPercent number (0..1) <"The percentage of the original value of the asset affected by the credit event that can be recovered."> + publiclyAvailableInformation Resource (0..*) <"A public information source, e.g. a particular newspaper or electronic news service, that may publish relevant information used in the determination of whether or not a credit event has occurred."> + referenceInformation ReferenceInformation (1..1) <"The reference entity, part of a credit basket, impacted by the credit event."> type CorporateAction: <"Specifies the relevant data regarding a corporate action"> - corporateActionType CorporateActionTypeEnum (1..1) <"The type of corporate action taking place."> - exDate date (1..1) <"The date on which the corporate action is known to have taken place."> - payDate date (1..1) <"The date on which resulting from the corporate action are delivered."> - underlier Product (1..1) <"The entity impacted by the corporate action."> + corporateActionType CorporateActionTypeEnum (1..1) <"The type of corporate action taking place."> + exDate date (1..1) <"The date on which the corporate action is known to have taken place."> + payDate date (1..1) <"The date on which resulting from the corporate action are delivered."> + underlier Product (1..1) <"The entity impacted by the corporate action."> type TransferBase: - identifier Identifier (0..*) <"Represents a unique reference to the transfer."> - [metadata scheme] - quantity NonNegativeQuantity (1..1) <"Represents the amount of the asset to be transferred."> - observable Observable (0..1) <"Represents the object that is subject to the transfer, it could be an asset or a reference."> - payerReceiver PartyReferencePayerReceiver (1..1) <"Represents the parties to the transfer and their role."> - settlementDate AdjustableOrAdjustedOrRelativeDate (1..1) <"Represents the date on which the transfer to due."> + identifier Identifier (0..*) <"Represents a unique reference to the transfer."> + [metadata scheme] + quantity NonNegativeQuantity (1..1) <"Represents the amount of the asset to be transferred."> + observable Observable (0..1) <"Represents the object that is subject to the transfer, it could be an asset or a reference."> + payerReceiver PartyReferencePayerReceiver (1..1) <"Represents the parties to the transfer and their role."> + settlementDate AdjustableOrAdjustedOrRelativeDate (1..1) <"Represents the date on which the transfer to due."> - condition FinancialUnitExists: - if observable exists - then quantity -> unit -> financialUnit exists + condition FinancialUnitExists: + if observable exists + then quantity -> unit -> financialUnit exists type ClearingInstruction: <"All information required to perform the clear life cycle event; the clearing party (CCP), the two parties facing each other on the alpha contract, and optionally the parties acting as clearing members."> - alphaContract TradeState (1..1) <"The contract that will be submitted to the clearing house for clearing. The contract should indicate that it should be cleared by assigning a clearing organisation as a party role."> - clearingParty Party (1..1) <"The Central Counter party (CCP) that the contract will be submitted to for clearing."> - party1 Party (1..1) <"First party facing the CCP if it is clearing for its own account."> - party2 Party (1..1) <"Second party facing the CCP if it is clearing for its own account."> - clearerParty1 Party (0..1) <"Optional party facing the CCP, acting as clearing member for party1."> - clearerParty2 Party (0..1) <"Optional party facing the CCP, acting as clearing member for party2."> - isOpenOffer boolean (0..1) <"Open Offer"> + alphaContract TradeState (1..1) <"The contract that will be submitted to the clearing house for clearing. The contract should indicate that it should be cleared by assigning a clearing organisation as a party role."> + clearingParty Party (1..1) <"The Central Counter party (CCP) that the contract will be submitted to for clearing."> + party1 Party (1..1) <"First party facing the CCP if it is clearing for its own account."> + party2 Party (1..1) <"Second party facing the CCP if it is clearing for its own account."> + clearerParty1 Party (0..1) <"Optional party facing the CCP, acting as clearing member for party1."> + clearerParty2 Party (0..1) <"Optional party facing the CCP, acting as clearing member for party2."> + isOpenOffer boolean (0..1) <"Open Offer"> type ExerciseEvent: <"A data defining: the adjusted dates associated with a particular exercise event."> - [deprecated] - [metadata key] + [deprecated] + [metadata key] - adjustedExerciseDate date (1..1) <"The date on which the option exercise takes place. This date should already be adjusted for any applicable business day convention."> - adjustedRelevantSwapEffectiveDate date (1..1) <"The effective date of the underlying swap associated with a given exercise date. This date should already be adjusted for any applicable business day convention."> - adjustedCashSettlementValuationDate date (0..1) <"The date by which the cash settlement amount must be agreed. This date should already be adjusted for any applicable business day convention."> - adjustedCashSettlementPaymentDate date (0..1) <"The date on which the cash settlement amount is paid. This date should already be adjusted for any applicable business day convention."> - adjustedExerciseFeePaymentDate date (0..1) <"The date on which the exercise fee amount is paid. This date should already be adjusted for any applicable business day convention."> + adjustedExerciseDate date (1..1) <"The date on which the option exercise takes place. This date should already be adjusted for any applicable business day convention."> + adjustedRelevantSwapEffectiveDate date (1..1) <"The effective date of the underlying swap associated with a given exercise date. This date should already be adjusted for any applicable business day convention."> + adjustedCashSettlementValuationDate date (0..1) <"The date by which the cash settlement amount must be agreed. This date should already be adjusted for any applicable business day convention."> + adjustedCashSettlementPaymentDate date (0..1) <"The date on which the cash settlement amount is paid. This date should already be adjusted for any applicable business day convention."> + adjustedExerciseFeePaymentDate date (0..1) <"The date on which the exercise fee amount is paid. This date should already be adjusted for any applicable business day convention."> type ReturnInstruction: <"Specifies the information required to create the return of a Security Finance Transaction."> quantity Quantity (1..*) <"Specifies the quantity of shares and cash to be returned in a partial return event."> @@ -587,10 +608,10 @@ type SecurityLendingInvoice: <"Specifies the information required for inclusion type BillingInstruction: <"Specifies the instructions for creation of a Security Lending billing invoice."> sendingParty Party (1..1) <"The party issuing the invoice"> receivingParty Party (1..1) <"The party receiving the invoice"> - billingStartDate date (1..1) <"The starting date of the period described by this invoice"> - billingEndDate date (1..1) <"The ending date of the period described by this invoice"> - billingRecordInstruction BillingRecordInstruction (1..*) <"Instructions for creating the billing records contained within the invoice"> - billingSummary BillingSummaryInstruction (0..*) <"The billing summaries contained within the invoice"> + billingStartDate date (1..1) <"The starting date of the period described by this invoice"> + billingEndDate date (1..1) <"The ending date of the period described by this invoice"> + billingRecordInstruction BillingRecordInstruction (1..*) <"Instructions for creating the billing records contained within the invoice"> + billingSummary BillingSummaryInstruction (0..*) <"The billing summaries contained within the invoice"> type BillingRecordInstruction: <"Specifies the instructions for creation of a billing record."> tradeState TradeState (1..1) <"The trade for the individual billing record."> @@ -617,111 +638,111 @@ type BillingSummary: <"Specifies individual summaries within a billing invoice." condition GrandTotal: if summaryAmountType = RecordAmountTypeEnum -> GrandTotal - then summaryTransfer exists and summaryTransfer -> payerReceiver is absent + then summaryTransfer exists and summaryTransfer -> payerReceiver is absent condition ParentTotal: if summaryAmountType = RecordAmountTypeEnum -> ParentTotal - then summaryTransfer -> payerReceiver exists - and summaryTransfer -> payerReceiver -> payerAccountReference is absent - and summaryTransfer -> payerReceiver -> receiverAccountReference is absent + then summaryTransfer -> payerReceiver exists + and summaryTransfer -> payerReceiver -> payerAccountReference is absent + and summaryTransfer -> payerReceiver -> receiverAccountReference is absent condition AccountTotal: if summaryAmountType = RecordAmountTypeEnum -> AccountTotal - then summaryTransfer -> payerReceiver -> payerAccountReference exists - and summaryTransfer -> payerReceiver -> receiverAccountReference exists + then summaryTransfer -> payerReceiver -> payerAccountReference exists + and summaryTransfer -> payerReceiver -> receiverAccountReference exists type TradePricingReport: <"The attributes that are specific for consensus based pricing reporting."> - trade Trade (1..1) <"Represents the cosensus based pricing parameters on a trade basis."> - pricingTime TimeZone (1..1) <"The regional exchange close time for the underlying contract,including time zone, at which the trades should be priced. This provides an indication for which regional snapshot should be used for pricing primarily for Global markets where there are multiple regional close times."> - discountingIndex FloatingRateIndexEnum (0..1) <"It specifies the interest payable on collateral delivered under a CSA covering the trade."> + trade Trade (1..1) <"Represents the cosensus based pricing parameters on a trade basis."> + pricingTime TimeZone (1..1) <"The regional exchange close time for the underlying contract,including time zone, at which the trades should be priced. This provides an indication for which regional snapshot should be used for pricing primarily for Global markets where there are multiple regional close times."> + discountingIndex FloatingRateIndexEnum (0..1) <"It specifies the interest payable on collateral delivered under a CSA covering the trade."> type MarginCallBase: <"Represents common attributes required for Issuance and Response to a Margin Call action as a result of a demand for delivery or return of collateral determined under a legal agreement such as a credit support document or equivalent."> - instructionType MarginCallInstructionType (1..1) <"Identifies the enumeration values to specify the call notification type, direction, specific action type."> - party Party (0..*) <"Represents the parties to the margin call. The cardinality is optional to address the case where both parties of the event are specified and a third party if applicable."> - partyRole PartyRole (0..*) <"Represents the role each specified party takes in the margin call. further to the principal roles, payer and receiver."> - clearingBroker Party (0..1) <"Indicates the name of the Clearing Broker FCM/DCM."> - callIdentifier Identifier (0..1) <"Represents a unique Identifier for a margin call message, that can be referenced throughout all points of the process."> - callAgreementType AgreementName (1..1) <"Specifies the legal agreement type the margin call is generated from and governed by."> - agreementMinimumTransferAmount Money (0..1) <"Specifies the collateral legal agreement minimum transfer amount in base currency."> - agreementThreshold Money (0..1) <"Specifies the collateral legal agreement threshold amount in base currency."> - agreementRounding Money (0..1) <"Specifies the collateral legal agreement rounding in base currency."> - regMarginType RegMarginTypeEnum (1..1) <"Identifies margin type and if related regulatory mandate"> - regIMRole RegIMRoleEnum (0..1) <"Indicates the role of the party in an regulatory initial margin call instruction (i.e Pledgor party or Secured party)."> - baseCurrencyExposure MarginCallExposure (0..1) <"Represents the current mark to market value or IM calculation value of the trade portfolio as recorded by the principle (in base currency), to be referenced in a margin call."> - collateralPortfolio CollateralPortfolio (0..1) <"Represents attributes to define the details of collateral assets within a collateral portfolio to be used in margin call messaging and contribute to collateral balances e.g securities in a collateral account recorded by the principal as held or posted."> - [metadata reference] - independentAmountBalance CollateralBalance (0..1) <"Represents additional credit support amount over and above mark to market value."> - - condition RegIMRoleIMOnly: <"Specifies a condition to ensure that RegIMRole (Pledgor or Secured Party)is only applicable if the Reg margin type is defined as RegIM (Regulatory Initial Margin)."> - if regIMRole exists - then regMarginType = RegMarginTypeEnum -> RegIM + instructionType MarginCallInstructionType (1..1) <"Identifies the enumeration values to specify the call notification type, direction, specific action type."> + party Party (0..*) <"Represents the parties to the margin call. The cardinality is optional to address the case where both parties of the event are specified and a third party if applicable."> + partyRole PartyRole (0..*) <"Represents the role each specified party takes in the margin call. further to the principal roles, payer and receiver."> + clearingBroker Party (0..1) <"Indicates the name of the Clearing Broker FCM/DCM."> + callIdentifier Identifier (0..1) <"Represents a unique Identifier for a margin call message, that can be referenced throughout all points of the process."> + callAgreementType AgreementName (1..1) <"Specifies the legal agreement type the margin call is generated from and governed by."> + agreementMinimumTransferAmount Money (0..1) <"Specifies the collateral legal agreement minimum transfer amount in base currency."> + agreementThreshold Money (0..1) <"Specifies the collateral legal agreement threshold amount in base currency."> + agreementRounding Money (0..1) <"Specifies the collateral legal agreement rounding in base currency."> + regMarginType RegMarginTypeEnum (1..1) <"Identifies margin type and if related regulatory mandate"> + regIMRole RegIMRoleEnum (0..1) <"Indicates the role of the party in an regulatory initial margin call instruction (i.e Pledgor party or Secured party)."> + baseCurrencyExposure MarginCallExposure (0..1) <"Represents the current mark to market value or IM calculation value of the trade portfolio as recorded by the principle (in base currency), to be referenced in a margin call."> + collateralPortfolio CollateralPortfolio (0..1) <"Represents attributes to define the details of collateral assets within a collateral portfolio to be used in margin call messaging and contribute to collateral balances e.g securities in a collateral account recorded by the principal as held or posted."> + [metadata reference] + independentAmountBalance CollateralBalance (0..1) <"Represents additional credit support amount over and above mark to market value."> + + condition RegIMRoleIMOnly: <"Specifies a condition to ensure that RegIMRole (Pledgor or Secured Party)is only applicable if the Reg margin type is defined as RegIM (Regulatory Initial Margin)."> + if regIMRole exists + then regMarginType = RegMarginTypeEnum -> RegIM type Exposure: <"Represents the current mark to market value or IM calculation value of the trade portfolio as recorded by the principle (in base currency)."> - tradePortfolio PortfolioState (1..1) <"Represents a Portfolio that describes all the positions held at a given time, in various states which can be either traded, settled, etc., with lineage information to the previous state."> - [metadata reference] - aggregateValue Money (1..1) <"Represents the aggregate value of the portfolio in base currency."> - calculationDateTime zonedDateTime (0..1) <"Indicates the date when the exposure is calculated if different from valuation date."> - valuationDateTime zonedDateTime (1..1) <"Indicates the valuation date of the exposure underlying the calculation."> -// possible function/instructions needed for calculation of portfolio and aggregating to a base currency value// + tradePortfolio PortfolioState (1..1) <"Represents a Portfolio that describes all the positions held at a given time, in various states which can be either traded, settled, etc., with lineage information to the previous state."> + [metadata reference] + aggregateValue Money (1..1) <"Represents the aggregate value of the portfolio in base currency."> + calculationDateTime zonedDateTime (0..1) <"Indicates the date when the exposure is calculated if different from valuation date."> + valuationDateTime zonedDateTime (1..1) <"Indicates the valuation date of the exposure underlying the calculation."> + // possible function/instructions needed for calculation of portfolio and aggregating to a base currency value// type MarginCallExposure extends MarginCallBase: <"Represents attributes required for mark to market value or IM calculation value of the trade portfolio as recorded by the principle (in base currency)."> - overallExposure Exposure (1..1) <"Represents the whole overall mark to market value or IM calculation value of the trade portfolio as recorded by the principle (in base currency)."> - simmIMExposure Exposure (0..1) <"Represents Initial Margin (IM) exposure derived from ISDA SIMM calculation."> - scheduleGridIMExposure Exposure (0..1) <"Represents Initial Margin (IM) exposure derived from schedule or Grid calculation."> + overallExposure Exposure (1..1) <"Represents the whole overall mark to market value or IM calculation value of the trade portfolio as recorded by the principle (in base currency)."> + simmIMExposure Exposure (0..1) <"Represents Initial Margin (IM) exposure derived from ISDA SIMM calculation."> + scheduleGridIMExposure Exposure (0..1) <"Represents Initial Margin (IM) exposure derived from schedule or Grid calculation."> - condition OverallExposureSumOfSimmAndScheduleIM: <"Represents a condition to ensure that if Simm IM exposure and Schedule/Grid IM exposure are specified the sum value must equate to overall exposure amount."> - 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) + condition OverallExposureSumOfSimmAndScheduleIM: <"Represents a condition to ensure that if Simm IM exposure and Schedule/Grid IM exposure are specified the sum value must equate to overall exposure amount."> + 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) - condition ExposureSimmAndScheduleIMOnly: <"Specifies a condition to ensure that if margin exposure is defined as Simm IM and Schedule/Grid IM Exposure this is only applicable if the Reg margin type is defined as RegIM (Regulatory Initial Margin)."> - if simmIMExposure exists and scheduleGridIMExposure exists - then regMarginType = RegMarginTypeEnum -> RegIM + condition ExposureSimmAndScheduleIMOnly: <"Specifies a condition to ensure that if margin exposure is defined as Simm IM and Schedule/Grid IM Exposure this is only applicable if the Reg margin type is defined as RegIM (Regulatory Initial Margin)."> + if simmIMExposure exists and scheduleGridIMExposure exists + then regMarginType = RegMarginTypeEnum -> RegIM type CollateralBalance: <"Represents common attributes to define a collateral balance recorded by the principal as held or posted."> - collateralBalanceStatus CollateralStatusEnum (0..1) <"Defines the collateral balance breakdown of settlement status."> - haircutIndicator HaircutIndicatorEnum (0..1) <"Indicates if the collateral balance amount is based on pre or post haircut, if a haircut is associated with the collateral asset"> - amountBaseCurrency Money (1..1) <"Specifies the collateral balance amount in base currency determined within a collateral legal agreement, or defined for reporting purposes."> - payerReceiver PartyReferencePayerReceiver (1..1) <"Specifies each of the parties in the collateral balance and its perspective with regards to the direction of the collateral balance, posted or received."> + collateralBalanceStatus CollateralStatusEnum (0..1) <"Defines the collateral balance breakdown of settlement status."> + haircutIndicator HaircutIndicatorEnum (0..1) <"Indicates if the collateral balance amount is based on pre or post haircut, if a haircut is associated with the collateral asset"> + amountBaseCurrency Money (1..1) <"Specifies the collateral balance amount in base currency determined within a collateral legal agreement, or defined for reporting purposes."> + payerReceiver PartyReferencePayerReceiver (1..1) <"Specifies each of the parties in the collateral balance and its perspective with regards to the direction of the collateral balance, posted or received."> type CollateralPortfolio: <"Represents common attributes to define the details of collateral assets, to be used in margin call messaging and contribute to collateral balances e.g securities in a collateral account."> - [metadata key] - [rootType] - portfolioIdentifier Identifier (0..1) <"Specifies a unique identifier for a set of collateral positions in a portfolio."> - collateralPosition CollateralPosition (0..*) <"Specifies the individual components of the collateral positions in the collateral portfolio."> - collateralBalance CollateralBalance (0..*) <"Represents the populated or calculated collateral aggregate balance amount for the collateral portfolio."> - legalAgreement LegalAgreement (0..1) <" The specification of a legal agreement between two parties governing the collateral relationship such as Credit Support Agreement or Collateral Transfer Agreement etc. (NB: this can be provided by reference to a global key for each LegalAgreement object)."> - [metadata reference] + [metadata key] + [rootType] + portfolioIdentifier Identifier (0..1) <"Specifies a unique identifier for a set of collateral positions in a portfolio."> + collateralPosition CollateralPosition (0..*) <"Specifies the individual components of the collateral positions in the collateral portfolio."> + collateralBalance CollateralBalance (0..*) <"Represents the populated or calculated collateral aggregate balance amount for the collateral portfolio."> + legalAgreement LegalAgreement (0..1) <" The specification of a legal agreement between two parties governing the collateral relationship such as Credit Support Agreement or Collateral Transfer Agreement etc. (NB: this can be provided by reference to a global key for each LegalAgreement object)."> + [metadata reference] type CollateralPosition extends Position: <"Specifies the individual components of collateral positions."> + + treatment CollateralTreatment (0..1) <"Specifies if there is any treatment to be applied to collateral, such as percentage discount which will impact collateral value."> + collateralPositionStatus CollateralStatusEnum (0..1) <"Indicates the collateral positions settlement status."> - treatment CollateralTreatment (0..1) <"Specifies if there is any treatment to be applied to collateral, such as percentage discount which will impact collateral value."> - collateralPositionStatus CollateralStatusEnum (0..1) <"Indicates the collateral positions settlement status."> - - condition CollateralPositionStatusSettledOrInTransitOnly: <"Represents a condition to ensure that if a status is defined for a collateral position you must only indicate 'Settled Amount' or 'In Transit' amount from the available enumerations."> - if collateralPositionStatus exists - then collateralPositionStatus = CollateralStatusEnum -> SettledAmount - or collateralPositionStatus = CollateralStatusEnum -> InTransitAmount + condition CollateralPositionStatusSettledOrInTransitOnly: <"Represents a condition to ensure that if a status is defined for a collateral position you must only indicate 'Settled Amount' or 'In Transit' amount from the available enumerations."> + if collateralPositionStatus exists + then collateralPositionStatus = CollateralStatusEnum -> SettledAmount + or collateralPositionStatus = CollateralStatusEnum -> InTransitAmount type MarginCallIssuance extends MarginCallBase: <"Represents common attributes required for a Margin Call Issuance under a legal agreement such as a credit support document or equivalent."> callAmountInBaseCurrency Money (1..1) <"Specifies the amount of margin being called for which accounts for margin calculation inclusive of exposure, independent amount,threshold,collateral balance, MTA, rounding increments (in base currency detailed in supporting collateral agreement)."> - recallNonCashCollateralDescription EligibleCollateralCriteria (0..*) <"Specifies the details to describe or identify non-cash collateral eligible assets for recall purposes."> + recallNonCashCollateralDescription EligibleCollateralCriteria (0..*) <"Specifies the details to describe or identify non-cash collateral eligible assets for recall purposes."> type MarginCallInstructionType: <"Represents enumeration values to specify the call notification type, direction, specific action type."> callType CallTypeEnum (1..1) <"Indicates the status of the call message type, such as expected call, notification of a call or an actionable margin call."> - visibilityIndicator boolean (0..1) <"Indicates the choice if the call instruction is visible or not to the other party."> + visibilityIndicator boolean (0..1) <"Indicates the choice if the call instruction is visible or not to the other party."> - condition CallTypeExpectedVisibility: <"Represents a condition to ensure that a visibility indicator is specifies then the call type must be an expected call."> - if callType = CallTypeEnum -> ExpectedCall + condition CallTypeExpectedVisibility: <"Represents a condition to ensure that a visibility indicator is specifies then the call type must be an expected call."> + if callType = CallTypeEnum -> ExpectedCall then visibilityIndicator exists type MarginCallResponseAction: <"Specifies the margin call action details, including collateral to be moved and its direction."> - - collateralPositionComponent CollateralPosition (1..*) <"Specifies the collateral to be moved and its direction."> - marginCallAction MarginCallActionEnum (1..1) <"Specifies the margin call action details, specified as either Delivery or Return."> + + collateralPositionComponent CollateralPosition (1..*) <"Specifies the collateral to be moved and its direction."> + marginCallAction MarginCallActionEnum (1..1) <"Specifies the margin call action details, specified as either Delivery or Return."> type MarginCallResponse extends MarginCallBase: <"Represents common attributes required for a Margin Call Response under a legal agreement such as a credit support document or equivalent."> - - marginCallResponseAction MarginCallResponseAction (1..*) <"Specifies the margin call action details, including collateral to be moved and direction."> - marginResponseType MarginCallResponseTypeEnum (1..1) <"Indicates the response type, such as, is the margin call response a 'full' 'part' agreement or 'dispute'."> - agreedAmountBaseCurrency Money (1..1) <"Indicates the amount that posting entity agrees to remit in response to margin call (in base currency)."> + + marginCallResponseAction MarginCallResponseAction (1..*) <"Specifies the margin call action details, including collateral to be moved and direction."> + marginResponseType MarginCallResponseTypeEnum (1..1) <"Indicates the response type, such as, is the margin call response a 'full' 'part' agreement or 'dispute'."> + agreedAmountBaseCurrency Money (1..1) <"Indicates the amount that posting entity agrees to remit in response to margin call (in base currency)."> diff --git a/rosetta-source/src/main/rosetta/event-position-type.rosetta b/rosetta-source/src/main/rosetta/event-position-type.rosetta index fef060bfd3..9d0f783630 100644 --- a/rosetta-source/src/main/rosetta/event-position-type.rosetta +++ b/rosetta-source/src/main/rosetta/event-position-type.rosetta @@ -4,6 +4,7 @@ version "${project.version}" import cdm.base.staticdata.party.* import cdm.base.staticdata.asset.common.* import cdm.base.staticdata.identifier.* +import cdm.base.datetime.* import cdm.product.common.settlement.* import cdm.product.template.* @@ -14,6 +15,23 @@ import cdm.event.common.* import cdm.event.workflow.* import cdm.base.math.* +type ContractBase: <"Encapsulates data features common to trade and position."> + contractDetails ContractDetails (0..1) <"Represents information specific to trades or positions involving contractual products."> + [metadata reference] + executionDetails ExecutionDetails (0..1) <"Defines specific attributes that relate to trade or position executions."> + [metadata reference] + collateral Collateral (0..1) <"Represents the collateral obligations of a party."> + [metadata reference] + +type CounterpartyPosition extends ContractBase: <"A Position describes the accumulated effect of a set of securities or financial transactions."> + positionIdentifier PositionIdentifier (0..*) <"Represents the identifier(s) that uniquely identify a position for an identity issuer. A position can include multiple identifiers, for example an internal position identifer and a UTI (Unique Trade Identifier)."> + openDateTime dateTime (0..1) <"The date and time when the position was opened."> + tradeReference TradeState (0..*) <"Reference to all the trades that constitute the position."> + [metadata reference] + party Party (0..*) <"The parties involved in the position, including the Clearing Organization."> + partyRole PartyRole (0..*) <"Represents the role each specified party takes in the position."> + positionBase TradableProduct (1..1) <"Encapsulates the core constituents that characterize a position."> + type Position: <"A Position describes how much of a given Product is being held and constitutes the atomic element of a Portfolio."> priceQuantity PriceQuantity (1..*) <"Position with many price quantities."> @@ -23,29 +41,29 @@ type Position: <"A Position describes how much of a given Product is being held [metadata reference] type PortfolioState: <"State-full representation of a Portfolio that describes all the positions held at a given time, in various states which can be either traded, settled, etc., with lineage information to the previous state"> - [metadata key] + [metadata key] - positions Position (0..*) <"The list of positions, each containing a Quantity and a Product."> - lineage Lineage (1..1) <"Pointer to the previous PortfolioState and new Event(s) leading to the current (new) state. Previous PortfolioState in the Lineage can be Null in case this is the start of the chain of Events."> + positions Position (0..*) <"The list of positions, each containing a Quantity and a Product."> + lineage Lineage (1..1) <"Pointer to the previous PortfolioState and new Event(s) leading to the current (new) state. Previous PortfolioState in the Lineage can be Null in case this is the start of the chain of Events."> - condition Initialisation: <"When the PortfolioState is the starting state of the Portfolio, as identified by a Null state in the Lineage, Positions must be empty and the reference to the latest Event is also empty. This is how a Portfolio gets initialised."> - if lineage -> portfolioStateReference is absent - then positions is absent and lineage -> eventReference is absent + condition Initialisation: <"When the PortfolioState is the starting state of the Portfolio, as identified by a Null state in the Lineage, Positions must be empty and the reference to the latest Event is also empty. This is how a Portfolio gets initialised."> + if lineage -> portfolioStateReference is absent + then positions is absent and lineage -> eventReference is absent type AggregationParameters: <" Parameters to be used to filter events that are relevant to a given portfolio in order to calculate the state of this portfolio. The attributes correspond to all the possible aggregation criteria that can be used and these criteria can be combined. All the attributes are optional."> - dateTime zonedDateTime (1..1) <"To aggregate as of a particular date"> - totalPosition boolean (0..1) <"Specifies whether to calculate total position to given date, or only daily position for the given date."> - positionStatus PositionStatusEnum (0..1) <"To aggregate based on position status (EXECUTED, SETTLED etc)"> - party Party (0..*) <"To aggregate based on a selection of party(ies) / legal entity(ies)."> - [metadata reference] - product Product (0..*) <"To aggregate based on a selection of products."> - productQualifier string (0..*) <"To aggregate based on a selection of product type(s)."> - tradeReference Trade (0..*) - [metadata reference] + dateTime zonedDateTime (1..1) <"To aggregate as of a particular date"> + totalPosition boolean (0..1) <"Specifies whether to calculate total position to given date, or only daily position for the given date."> + positionStatus PositionStatusEnum (0..1) <"To aggregate based on position status (EXECUTED, SETTLED etc)"> + party Party (0..*) <"To aggregate based on a selection of party(ies) / legal entity(ies)."> + [metadata reference] + product Product (0..*) <"To aggregate based on a selection of products."> + productQualifier string (0..*) <"To aggregate based on a selection of product type(s)."> + tradeReference Trade (0..*) + [metadata reference] type Portfolio: <" A Portfolio represents an aggregation of multiple Positions, by describing the parameters that this Portfolio should be aggregated based on. The resulting PortfolioState is calculated using these aggregation parameters as inputs, by aggregating all the Events that are relevant to this Portfolio. The concept of Portfolio works at all levels in the model: from the highest for a given LegalEntity for instance, to the lowest to account for security substitutions in a secutity financing transaction. As such, Portfolio can be used either above or below the Contract level."> - aggregationParameters AggregationParameters (1..1) <"Describes the portfolio by describing how to aggregate all its relevant Events."> - portfolioState PortfolioState (1..1) <"Describes the state of the Portfolio as a list of Positions resulting from the aggregation."> + aggregationParameters AggregationParameters (1..1) <"Describes the portfolio by describing how to aggregate all its relevant Events."> + portfolioState PortfolioState (1..1) <"Describes the state of the Portfolio as a list of Positions resulting from the aggregation."> type Inventory: <"A data type that can be used to describe an inventory of securities."> inventoryRecord InventoryRecord (0..*) <"An array holding the list of inventory being described. Each element in the inventoryRecord array represents an individual piece of inventory i.e. a security."> diff --git a/rosetta-source/src/main/rosetta/event-qualification-func.rosetta b/rosetta-source/src/main/rosetta/event-qualification-func.rosetta index a07ae26588..5b572caf9b 100644 --- a/rosetta-source/src/main/rosetta/event-qualification-func.rosetta +++ b/rosetta-source/src/main/rosetta/event-qualification-func.rosetta @@ -450,7 +450,8 @@ func Qualify_FullReturn: <"The qualification of a full return event from the fac only-element set is_event: (businessEvent -> intent is absent) - and businessEvent -> after -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> assetPayout exists + and businessEvent -> after -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> collateral -> + collateralPortfolio -> collateralPosition -> product -> contractualProduct -> economicTerms -> payout -> assetPayout exists and (businessEvent -> instruction count = 1 and businessEvent -> instruction -> primitiveInstruction -> quantityChange exists or (businessEvent -> instruction -> primitiveInstruction -> quantityChange exists and transfer exists)) diff --git a/rosetta-source/src/main/rosetta/event-workflow-type.rosetta b/rosetta-source/src/main/rosetta/event-workflow-type.rosetta index ef09552ff7..1af331db9b 100644 --- a/rosetta-source/src/main/rosetta/event-workflow-type.rosetta +++ b/rosetta-source/src/main/rosetta/event-workflow-type.rosetta @@ -41,6 +41,7 @@ type WorkflowStep: <"A workflow step represents the state of a business event. T [rootType] businessEvent BusinessEvent (0..1) <"Life cycle event for the step. The businessEvent is optional when a proposedEvent or rejection are present."> + counterpartyPositionBusinessEvent CounterpartyPositionBusinessEvent (0..1) <"Documents the life cycle event for a position."> proposedEvent EventInstruction (0..1) <"The proposed event for a workflow step. The proposedEvent is optional when the businessEvent or rejection are present"> rejected boolean (0..1) <"Flags this step as rejected."> approval WorkflowStepApproval (0..*) <"Optional party approvals for the current workflow step. A workflow step can have any number of parties associated to it, thus this object is represented as a list. All parties that are expected to provide approval should have an item in this list that references them."> @@ -64,6 +65,9 @@ type WorkflowStep: <"A workflow step represents the state of a business event. T 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) + + condition CounterpartyPositionBusinessEventOrBusinessEventChoice: <"Choice rule to control that either positionBusinessEvent is present or businessEvent is present, but not both at the same time."> + required choice counterpartyPositionBusinessEvent, businessEvent type Workflow: <"A collection of workflow steps which together makeup an entire workflow sequence."> diff --git a/rosetta-source/src/main/rosetta/mapping-fpml-confirmation-tradestate-synonym.rosetta b/rosetta-source/src/main/rosetta/mapping-fpml-confirmation-tradestate-synonym.rosetta index 9dd5d923fa..26138bba71 100644 --- a/rosetta-source/src/main/rosetta/mapping-fpml-confirmation-tradestate-synonym.rosetta +++ b/rosetta-source/src/main/rosetta/mapping-fpml-confirmation-tradestate-synonym.rosetta @@ -3218,6 +3218,10 @@ synonym source FpML_5_Confirmation_To_TradeState extends FpML + businessUnit [value "businessUnit"] + CounterpartyPositionBusinessEvent: + + after + [value "ignore"] + PartyIdentifier: + identifier [value "partyId" meta "partyIdScheme"] diff --git a/rosetta-source/src/main/rosetta/observable-event-func.rosetta b/rosetta-source/src/main/rosetta/observable-event-func.rosetta index 097928b2b3..b3e86a4012 100644 --- a/rosetta-source/src/main/rosetta/observable-event-func.rosetta +++ b/rosetta-source/src/main/rosetta/observable-event-func.rosetta @@ -14,7 +14,8 @@ func Create_AssetPayoutTradeStateWithObservations: <"Attaches a set of Observati tradeState TradeState (1..1) alias assetPayout: - billingInstruction -> tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> assetPayout only-element + billingInstruction -> tradeState -> trade -> tradableProduct -> product -> contractualProduct -> economicTerms -> collateral -> + collateralPortfolio -> collateralPosition -> product -> contractualProduct -> economicTerms -> payout -> assetPayout only-element alias date: billingInstruction -> recordEndDate diff --git a/rosetta-source/src/main/rosetta/product-collateral-type.rosetta b/rosetta-source/src/main/rosetta/product-collateral-type.rosetta index 347fab1089..a5743ccbd1 100644 --- a/rosetta-source/src/main/rosetta/product-collateral-type.rosetta +++ b/rosetta-source/src/main/rosetta/product-collateral-type.rosetta @@ -15,8 +15,8 @@ import cdm.event.common.* import cdm.product.asset.FloatingRateBase -type Collateral: <"A type for defining the obligations of the counterparty subject to credit support requirements."> - +type Collateral: <"A type for defining the obligations of the counterparty subject to credit support requirements."> + [metadata key] independentAmount IndependentAmount (0..1) <"Independent Amount is an amount that usually less creditworthy counterparties are asked to provide. It can either be a fixed amount or a percentage of the Transaction's value. The Independent Amount can be: (i) transferred before any trading between the parties occurs (as a deposit at a third party's account or with the counterparty) or (ii) callable after trading has occurred (typically because a downgrade has occurred). In situation (i), the Independent Amount is not included in the calculation of Exposure, but in situation (ii), it is included in the calculation of Exposure. Thus, for situation (ii), the Independent Amount may be transferred along with any collateral call. Independent Amount is a defined term in the ISDA Credit Support Annex. ('with respect to a party, the amount specified as such for that party in Paragraph 13; if no amount is specified, zero')."> portfolioIdentifier Identifier (0..*) <"A list of identifiers pointing to the collateral portfolios which contain the collateral which covers a trade."> collateralPortfolio CollateralPortfolio (0..*) <"The collateral portfolios which contain the collateral which covers a trade. (NB: this can be provided by reference to a global key for each CollateralPortfolio object)"> @@ -109,7 +109,7 @@ type CollateralCriteriaBase: <"Represents a set of criteria used to specify and issuer IssuerCriteria (0..*) <"Represents a filter based criteria related to the issuer."> asset AssetCriteria (0..*) <"Represents a filter based on the criteria related to the asset."> - appliesTo CounterpartyRoleEnum (0..2) <"Specifies which of the two counterparties the criteria applies to (either one or both counterparties). This attribute is optional, in case the applicable party is already specified elsewhere within a party election."> + appliesTo CounterpartyRoleEnum (0..2) <"Specifies which of the two counterparties the criteria applies to (either one or both counterparties). This attribute is optional, in case the applicable party is already specified elsewhere within a party election."> type EligibleCollateralCriteria extends CollateralCriteriaBase: <"Represents a set of criteria used to specify eligible collateral."> diff --git a/rosetta-source/src/main/rosetta/product-qualification-func.rosetta b/rosetta-source/src/main/rosetta/product-qualification-func.rosetta index d8c53d5624..0cd56a72a2 100644 --- a/rosetta-source/src/main/rosetta/product-qualification-func.rosetta +++ b/rosetta-source/src/main/rosetta/product-qualification-func.rosetta @@ -1183,7 +1183,7 @@ func Qualify_InterestRate_InflationSwap_FixedFloat_YearOn_Year: <"Qualifies a pr * inputs: economicTerms EconomicTerms (1..1) * output: is_product boolean (1..1) * [synonym ISDA_Taxonomy_v2 value "InterestRate_Inflation"] - * + * * set is_product: * Qualify_BaseProduct_Inflation(economicTerms) = True * and Qualify_InterestRate_InflationSwap_FixedFloat_ZeroCoupon (economicTerms) = False @@ -1435,7 +1435,7 @@ func Qualify_ForeignExchange_VanillaOption: <"Qualifies a product as FX Plain Va and (economicTerms -> payout -> optionPayout -> feature is absent or economicTerms -> payout -> optionPayout -> feature -> averagingFeature only exists) -func Qualify_RepurchaseAgreement: +func Qualify_SecuritiesFinance: <"Qualifies a product as generic Securities Finance; eg Securities Lending or Repurchase Agreement."> [qualification Product] inputs: economicTerms EconomicTerms (1..1) @@ -1503,13 +1503,3 @@ func Qualify_Commodity_Swaption: <"Qualifies a product as a Swaption that can be economicTerms -> payout -> optionPayout only-element -> underlier -> contractualProduct -> economicTerms ) = True) -func Qualify_SecurityLendingAgreement: <"Qualifies a product as a Security Loan."> - [qualification Product] - inputs: - economicTerms EconomicTerms (1..1) - output: - is_product boolean (1..1) - set is_product: - economicTerms -> payout -> assetPayout exists - and economicTerms -> payout -> interestRatePayout exists - and economicTerms -> collateral exists