Skip to content

Commit

Permalink
Underlier for Equity Option Baskets (finos#2169)
Browse files Browse the repository at this point in the history
* Underlier for Equity Option Baskets
* This contribution fixes a mapping issue which prevented CDM from generating the underlier and its corresponding baskets, for equity option basket products.
Updated release notes into RELEASE.md

---------

Co-authored-by: Bataller García Eric <[email protected]>
Co-authored-by: ebataller <[email protected]>
  • Loading branch information
3 people authored Jun 1, 2023
1 parent 08172a5 commit f196ea9
Show file tree
Hide file tree
Showing 10 changed files with 346 additions and 56 deletions.
23 changes: 20 additions & 3 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,26 @@
# *Product Model - Currency Enums*
# _Product Model - FpML synonym mappings of underlier for Equity Option Baskets_

_Background_

An issue was identified with the underlier mapping from FpML to CDM for Equity Option Basket products. The mapping from CDM was not generating an underlier and its corresponding baskets for these products and therefore some samples were not accurately qualified.

This release addresses this mapping issue, correctly generating the underlier and its corresponding baskets.

_What is being released?_

- Added process to automate the generation of `ISO 4217 Currencies`. The updated currency enum values can be found in `ISOCurrencyCodeEnum`
_Translate_

FpML synonym mappings added to populate CDM attribute `optionPayout -> underlier -> basket` with FpML path `equityOption -> underlyer -> basket` for Equity Option products with baskets.

_Review directions_

In the CDM Portal, select the Textual Browser and inspect each of the changes identified above.
In the CDM Portal, select the Textual Browser and inspect the changes identified above.

In the CDM Portal, select Ingestion and review the following samples:

fpml-5-10/incomplete-products/equity-options

- eqd ex08 basket long form
- eqd ex20 nested basket
- eqd ex21 flat weight basket
- eqd ex26 mixed asset basket
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,23 @@
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex05-asian-long-form.xml","excludedPaths":0,"externalPaths":80,"outstandingMappings":28,"validationFailures":6,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"EquityOption_PriceReturnBasicPerformance_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex06-averaging-in-long-form.xml","excludedPaths":0,"externalPaths":80,"outstandingMappings":28,"validationFailures":6,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"EquityOption_PriceReturnBasicPerformance_Index","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex07-barrier-knockout-rebate-long-form.xml","excludedPaths":0,"externalPaths":112,"outstandingMappings":20,"validationFailures":7,"qualificationExpectation":{"success":false,"qualifyResults":[],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex08-basket-long-form.xml","excludedPaths":0,"externalPaths":81,"outstandingMappings":20,"validationFailures":7,"qualificationExpectation":{"success":false,"qualifyResults":[],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex08-basket-long-form.xml","excludedPaths":0,"externalPaths":81,"outstandingMappings":20,"validationFailures":6,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"EquityOption_PriceReturnBasicPerformance_Basket","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex09-bermuda-long-form.xml","excludedPaths":0,"externalPaths":88,"outstandingMappings":32,"validationFailures":4,"qualificationExpectation":{"success":false,"qualifyResults":[],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex10-binary-barrier-long-form.xml","excludedPaths":0,"externalPaths":91,"outstandingMappings":18,"validationFailures":7,"qualificationExpectation":{"success":false,"qualifyResults":[],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex11-quanto-long-form.xml","excludedPaths":0,"externalPaths":81,"outstandingMappings":18,"validationFailures":7,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"EquityOption_PriceReturnBasicPerformance_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex12-vanilla-short-form.xml","excludedPaths":0,"externalPaths":62,"outstandingMappings":21,"validationFailures":10,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"EquityOption_PriceReturnBasicPerformance_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex13-1996-american-call-stock.xml","excludedPaths":0,"externalPaths":59,"outstandingMappings":8,"validationFailures":7,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"EquityOption_PriceReturnBasicPerformance_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex14-american-call-stock-passthrough-long-form.xml","excludedPaths":0,"externalPaths":90,"outstandingMappings":23,"validationFailures":7,"qualificationExpectation":{"success":false,"qualifyResults":[],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex15-basket-passthrough-long-form.xml","excludedPaths":0,"externalPaths":91,"outstandingMappings":24,"validationFailures":7,"qualificationExpectation":{"success":false,"qualifyResults":[],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex15-basket-passthrough-long-form.xml","excludedPaths":0,"externalPaths":91,"outstandingMappings":24,"validationFailures":6,"qualificationExpectation":{"success":false,"qualifyResults":[],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex16-equityOptionTransactionSupplement.xml","excludedPaths":0,"externalPaths":49,"outstandingMappings":27,"validationFailures":5,"qualificationExpectation":{"success":false,"qualifyResults":[],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex17-equityOptionTransactionSupplement-non-deliverable-share.xml","excludedPaths":0,"externalPaths":57,"outstandingMappings":36,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex18-equityOptionTransactionSupplement-non-deliverable-index.xml","excludedPaths":0,"externalPaths":55,"outstandingMappings":34,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex19-dividend-adjustment.xml","excludedPaths":0,"externalPaths":99,"outstandingMappings":36,"validationFailures":7,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"EquityOption_PriceReturnBasicPerformance_SingleName","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex20-nested-basket.xml","excludedPaths":0,"externalPaths":96,"outstandingMappings":31,"validationFailures":9,"qualificationExpectation":{"success":false,"qualifyResults":[],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex21-flat-weight-basket.xml","excludedPaths":0,"externalPaths":95,"outstandingMappings":23,"validationFailures":9,"qualificationExpectation":{"success":false,"qualifyResults":[],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex20-nested-basket.xml","excludedPaths":0,"externalPaths":96,"outstandingMappings":25,"validationFailures":8,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"EquityOption_PriceReturnBasicPerformance_Basket","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex21-flat-weight-basket.xml","excludedPaths":0,"externalPaths":95,"outstandingMappings":23,"validationFailures":8,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"EquityOption_PriceReturnBasicPerformance_Basket","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex22-equityOptionTransactionSupplement-index-option-asian-dates.xml","excludedPaths":0,"externalPaths":109,"outstandingMappings":89,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex23-equityOptionTransactionSupplement-index-option-cliquet.xml","excludedPaths":0,"externalPaths":79,"outstandingMappings":59,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex24-equityOptionTransactionSupplement-index-option-asian-schedule.xml","excludedPaths":0,"externalPaths":79,"outstandingMappings":56,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex25-equityOptionTransactionSupplement-index-option-knock-in-knock-out-features.xml","excludedPaths":0,"externalPaths":86,"outstandingMappings":66,"validationFailures":3,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex26-mixed-asset-basket.xml","excludedPaths":0,"externalPaths":98,"outstandingMappings":19,"validationFailures":10,"qualificationExpectation":{"success":false,"qualifyResults":[],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex26-mixed-asset-basket.xml","excludedPaths":0,"externalPaths":98,"outstandingMappings":19,"validationFailures":9,"qualificationExpectation":{"success":true,"qualifyResults":[{"qualifiedName":"EquityOption_PriceReturnBasicPerformance_Basket","qualifiedObjectClass":"cdm.product.template.EconomicTerms"}],"qualifiableObjectCount":1}},
{"fileName":"cdm-sample-files/fpml-5-10/incomplete-products/equity-options/eqd-ex27-equityOptionTransactionSupplement-EMEA-interdealer.xml","excludedPaths":0,"externalPaths":65,"outstandingMappings":40,"validationFailures":2,"qualificationExpectation":{"success":true,"qualifyResults":[],"qualifiableObjectCount":0}}]
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Mapping Coverage,60.54
Mapping Coverage,60.77

Input Path,Failed Mapping Count
trade.equityOptionTransactionSupplement.equityExercise.equityValuation.valuationDates.periodicDates.calculationEndDate.adjustableDate.dateAdjustments.businessDayConvention,1
Expand All @@ -18,7 +18,6 @@ trade.equityOptionTransactionSupplement.spotPrice,1
trade.equityOptionTransactionSupplement.equityExercise.equityAmericanExercise.expirationDate.adjustableDate.unadjustedDate,6
correlationId.correlationIdScheme,21
trade.equityOptionTransactionSupplement.equityExercise.equityValuation.valuationDates.adjustableDates.id,2
trade.equityOption.underlyer.basket.basketConstituent.basket.basketConstituent.equity.instrumentId.instrumentIdScheme,2
trade.equityOptionTransactionSupplement.optionEntitlement,1
trade.equityOptionTransactionSupplement.equityExercise.equityAmericanExercise.latestExerciseTimeType,5
trade.equityOptionTransactionSupplement.numberOfOptions,8
Expand Down Expand Up @@ -56,7 +55,6 @@ trade.equityOptionTransactionSupplement.equityPremium.percentageOfNotional,3
trade.equityOptionTransactionSupplement.equityExercise.equityValuation.numberOfValuationDates,1
trade.equityOptionTransactionSupplement.equityExercise.automaticExercise,8
trade.equityOptionTransactionSupplement.feature.knock.knockIn.trigger.triggerTimeType,1
trade.equityOption.underlyer.basket.basketConstituent.basket.basketConstituent.equity.description,2
trade.equityOption.underlyer.singleUnderlyer.index.relatedExchangeId,3
trade.brokerEquityOption.strategyFeature.strikeSpread.upperStrikeNumberOfOptions,1
trade.equityOption.equityExercise.equityBermudaExercise.equityMultipleExercise.maximumNumberOfOptions,1
Expand Down Expand Up @@ -104,7 +102,6 @@ trade.equityOptionTransactionSupplement.equityPremium.pricePerOption.currency,7
trade.brokerEquityOption.deltaCrossed,3
trade.equityOptionTransactionSupplement.equityExercise.equityAmericanExercise.commencementDate.adjustableDate.unadjustedDate,6
trade.equityOption.equityExercise.settlementMethodElectingPartyReference.href,6
trade.equityOption.underlyer.basket.basketConstituent.basket.basketConstituent.equity.instrumentId,2
trade.brokerEquityOption.strategyFeature.calendarSpread.expirationDateTwo.adjustableDate.unadjustedDate,1
trade.equityOption.feature.asian.averagingPeriodOut.averagingDateTimes.dateTime,8
trade.equityOptionTransactionSupplement.underlyer.singleUnderlyer.index.relatedExchangeId.exchangeIdScheme,6
Expand Down
Loading

0 comments on commit f196ea9

Please sign in to comment.