From 2e30901d28cf969bdb5b658430485f787fa8caf3 Mon Sep 17 00:00:00 2001 From: Erin Cassidy Date: Thu, 9 Oct 2025 13:09:09 +0000 Subject: [PATCH] BrokerEquityOption mappings for fpml ingest - BrokerEquityOption mappings for fpml ingest --- ...ngest-fpml-confirmation-payment-func.rosetta | 6 +++++- ...fpml-confirmation-pricequantity-func.rosetta | 4 ++-- ...tion-product-brokerequityoption-func.rosetta | 17 ++++++++--------- ...uityoptiontransactionsupplement-func.rosetta | 6 +++--- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-payment-func.rosetta b/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-payment-func.rosetta index 2998481ea2..7749e79eeb 100644 --- a/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-payment-func.rosetta +++ b/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-payment-func.rosetta @@ -143,6 +143,10 @@ func MapTransferStateList: premium, Premium ), + BrokerEquityOption then MapEquityPremiumListToTransferStateList( + equityPremium, + Premium + ), default empty // otherPartyPayment @@ -276,7 +280,7 @@ func MapReturnSwapAdditionalPaymentListToTransferStateList: add transferStateList: fpmlReturnSwapAdditionalPaymentList extract MapReturnSwapAdditionalPaymentToTransferState(item, cdmFeeType) - + func MapReturnSwapAdditionalPaymentToTransferState: inputs: fpmlReturnSwapAdditionalPayment fpml.ReturnSwapAdditionalPayment (0..1) diff --git a/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-pricequantity-func.rosetta b/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-pricequantity-func.rosetta index 6a898151f9..3bb8fe510f 100644 --- a/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-pricequantity-func.rosetta +++ b/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-pricequantity-func.rosetta @@ -226,7 +226,7 @@ func MapNumberOfOptionsAndOptionEntitlementToQuantity: nonNegativeQuantitySchedule NonNegativeQuantitySchedule (0..1) set nonNegativeQuantitySchedule: - if fpmlNumberOfOptions exists + if fpmlNumberOfOptions exists then NonNegativeQuantitySchedule { value: fpmlNumberOfOptions, unit: UnitType { @@ -1065,7 +1065,7 @@ func MapOptionStrikePrice: optionStrike OptionStrike (0..1) set optionStrike: - if fpmlStrikePrice exists or fpmlStrikePercentage exists + if fpmlStrikePrice exists or fpmlStrikePercentage exists then OptionStrike { strikePrice: Price { value: fpmlStrikePrice default fpmlStrikePercentage, diff --git a/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-product-brokerequityoption-func.rosetta b/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-product-brokerequityoption-func.rosetta index 284a30fa2b..05a748c7af 100644 --- a/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-product-brokerequityoption-func.rosetta +++ b/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-product-brokerequityoption-func.rosetta @@ -67,16 +67,12 @@ func MapBrokerEquityOptionPayout: alias unit: UnitType { - currency: MapCurrency(fpmlBrokerEquityOption -> strike -> currency), - ... - } - - alias perUnitOf: - UnitType { - currency: MapCurrency(fpmlBrokerEquityOption -> strike -> currency), + currency: MapCurrency(fpmlBrokerEquityOption -> strike -> currency default fpmlBrokerEquityOption -> equityExercise -> settlementCurrency), ... } + alias perUnitOf: GetPerUnitOfForEquityDerivativeBase(fpmlBrokerEquityOption) + set payout: Payout { OptionPayout: OptionPayout { @@ -117,7 +113,7 @@ func MapBrokerEquityOptionPayout: fpmlBrokerEquityOption -> strike -> strikePrice, fpmlBrokerEquityOption -> strike -> equityStrikeSequence -> strikePercentage, unit, - perUnitOf + perUnitOf ), ... }, @@ -138,8 +134,11 @@ func MapBrokerEquityOptionPriceQuantityList: empty ), observable: MapUnderlyerToObservableWithLocation( - fpmlBrokerEquityOption -> underlyer + fpmlBrokerEquityOption -> underlyer ), + price: MapEquityPermiumToPriceListWithLocation( + fpmlBrokerEquityOption -> equityPremium + ), ... } diff --git a/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-product-equityoptiontransactionsupplement-func.rosetta b/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-product-equityoptiontransactionsupplement-func.rosetta index 6ff98f2477..b85074d9f9 100644 --- a/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-product-equityoptiontransactionsupplement-func.rosetta +++ b/rosetta-source/src/main/rosetta/ingest-fpml-confirmation-product-equityoptiontransactionsupplement-func.rosetta @@ -127,13 +127,13 @@ func MapEquityOptionTransactionSupplementPayout: fpmlEquityOptionTransactionSupplement -> strike -> strikePrice, fpmlEquityOptionTransactionSupplement -> strike -> equityStrikeSequence -> strikePercentage, unit, - perUnitOf - ), + perUnitOf + ), ... }, ... } - + func MapEquityOptionTransactionSupplementPriceQuantityList: inputs: fpmlEquityOptionTransactionSupplement fpml.EquityOptionTransactionSupplement (0..1)