EagleML Release Notes - October 2021

Enhancements

SDP-54456 Enable signage logic within the WRHSTRADEEXTRACT - Warehouse Trade Extract for the Settle Amount Base

The WRHSTRADEEXTRACT - Warehouse Trade - TRADESDBO.SETTLE_AMOUNT_BASE field is now supported with signage logic.

[Fields Affected by Signage Logic ]

Signage logic for the Settlement Amount Base and Settlement Amount Local is enabled through an opt-in element. The SettlementSignageFlag is used in tandem with the EnableSignageLogic set to Y. When the SettlementSignageFlag is set to Y, signage logic is now applied to the SETTLE_AMOUNT_BASE field. The SETTLE_AMOUNT_BASE field is supported in v17.R2.30 forward

Signage is enabled when
<taskParameter>
<name>EnableSignageLogic</name>
<dataType>S</dataType>
<value>Y</value>
</taskParameter>
<taskParameter>
<name>SettlementSignageFlag</name>
<dataType>S</dataType>
<value>Y</value>
</taskParameter>

Files changed:
eagle_ml-2-0_cm/out/tagvalue/extract_wrhs_trade_signage_logic.inc

SDP-55169 - Enable / revise signage logic within the WRHSTRADEEXTRACT - Warehouse Trade Extract for additional fields

The WRHSTRADEEXTRACT - Warehouse Trade is extended to revise and add signage to a number of elements.

Fields Affected by Signage Logic

Revised Fields
ACCRUED_INTEREST
EagleML/WarehouseTransaction/warehouseTrade/accruedInterest
BASEINTERESTADJ
EagleML/WarehouseTransaction/warehouseTrade/interestAdjBase
CLS_AMORT_LOCAL
EagleML/WarehouseTransaction/warehouseTrade/clsAmortLocal
CLS_AMORT_BASE
EagleML/WarehouseTransaction/warehouseTrade/clsAmortBase
CLS_OID_L
EagleML/WarehouseTransaction/warehouseTrade/clsOidLoca
CLS_OID_B
EagleML/WarehouseTransaction/warehouseTrade/clsOidBase
CLS_ILB_INC_LTD_LOCAL
EagleML/WarehouseTransaction/warehouseTrade/clsIlbIncLtdLocal
CLS_ILB_INC_LTD_BASE
EagleML/WarehouseTransaction/warehouseTrade/clsIlbIncLtdBase

Newly signed fields
TRADE_AMOUNT
EagleML/WarehouseTransaction/warehouseTrade/tradeAmount
NETSETTLEAMT
EagleML/WarehouseTransaction/warehouseTrade/netsettleamt
TOTAL_AMORT_LOCAL,
EagleML/WarehouseTransaction/warehouseTrade/totalAmortLocal
TOTAL_AMORT_BASE
EagleML/WarehouseTransaction/warehouseTrade/totalAmortBase

Signage is enabled when
<taskParameter>
<name>EnableSignageLogic</name>
<dataType>S</dataType>
<value>Y</value>
</taskParameter>

Files changed:
eagle_ml-2-0_cm/out/tagvalue/extract_wrhs_trade_signage_logic.inc

SDP-54954 Multiple Leg Accounting Trade object was enhanced with additional fields

The Repeated Model (contractTradeLeg, payTradeLeg, receiveTradeLeg) was updated to support additional fields: legNotional (tag 7782) and legShares (tag 7785).

Xpath:
EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/legNotional
EagleML/accountingTransaction/multipleLegAccountingTrade/contractTradeLeg/legShares
EagleML/accountingTransaction/multipleLegAccountingTrade/payTradeLeg/legNotional
EagleML/accountingTransaction/multipleLegAccountingTrade/payTradeLeg/legShares
EagleML/accountingTransaction/multipleLegAccountingTrade/receiveTradeLeg/legNotional
EagleML/accountingTransaction/multipleLegAccountingTrade/receiveTradeLeg/legShares

Files changed:
eagle_default/in/xml/include/multiplelegtrade_aliases.inc
eagle_default/in/xml/include/tradeleg_aliases.inc
eagle_default/in/xml/include/tradeleg_columns.inc
eagle_default/in/xml/xml-accttrade_multipleleg.xml

SDP-54748 Enhance the PRICINGREPORTEXTRACT for the pricePercentChange to support Negative Prices across Long and Short Positions

The change incorporates support for the PRICINGREPORTEXTRACT Price Percentage Change field to reflect the calculation representation for Long and Short Positions.

  • If both values are 0, the value will be 0.

  • If the prior price is 0 for short positions then it will be reflect the opposite sign of the price. If the price is negative, it will show a percentage change of 100. If the price is positive, it will show a percentage change of -100.

  • If the prior price is 0 for long positions, it will be reflect the sign of the price. If the price is negative, it will show a percentage change of -100. If the price is positive, it will show a percentage change of 100.

  • For a short position, if the price increases, the percentage change will be negative.

  • For a short position, if the price decreases, the percentage change will be positive.

  • For a long position, if the price increases, the percentage change will be positive.

  • For a long position, if the price decreases, the percentage change will be negative.

  • For either a long or short position, if there is no change in price, the percentage change will be 0.

Files changed:
eagle_ml-2-0_cm/out/xml/*extract_pricing_report.inc

SDP-54653 Enhance the Zero Balance Filter Switch for the WRHSOPENLOTEXTRACT to include additional pending activity related records for zero positions at the lot level

Revised the value for the ZeroBalanceSwitch to refine the behavior of the ZeroBalance filter to target the Warehouse Open Lots extracts. The filter is applied when the parameters IncludeZeroBalances and onlyHeld are set to N and the ZeroBalanceSwitch is set to the value of PendingActivity. The parameters heldeffectivedate and heldPositionSources are often included during implementation as well to select the date and sources executed.

The PendingActivity value will return all lots with 0 quantity that remain with additional market value activity including pending settlements. The Where clause generated targets the Lot table and is:

AND (LOT_LEVEL_POSITION.PAR_OR_SHARES = 0 AND NOT (LOT_LEVEL_POSITION.MARKET_VALUE_INCOME_LOCAL = 0 AND LOT_LEVEL_POSITION.SETTLED_LOCAL_MARKET_VALUE = 0 AND LOT_LEVEL_POSITION.BOOK_VALUE_LOCAL = 0) OR LOT_LEVEL_POSITION.PAR_OR_SHARES \!= 0)

Sample values:
               <taskParameter>
                  <name>IncludeZeroBalances</name>
                 <dataType>S</dataType>
                 <value>N</value>
              </taskParameter>
               <taskParameter>
                  <name>ZeroBalanceSwitch</name>
                  <dataType>S</dataType>
                  <value>PendingActivity</value>
              </taskParameter>
               <taskParameter>
                  <name>onlyHeld</name>
                  <dataType>S</dataType>
                  <value>N</value>
               </taskParameter>
               <taskParameter>
                 <name>heldPositionSources</name>
                 <dataType>S</dataType>
                  <value>STARDIRECT</value>
              </taskParameter>
               <taskParameter>
                  <name>heldeffectivedate</name>
                  <dataType>S</dataType>
                  <value>2021-06-17</value>
               </taskParameter>

Files Changed:
eagle_ml-2-0_cm/extract_filter_zero_balance.inc

SDP-54649 The Warehouse Performance extract was improved to correctly join to the extension table

The main table and the key for joining the warehouse performance extensions table were corrected. The Warehouse Performance extension table is joined to the PERFORMDBO.PERF_SEC_RETURNS table with the key: PERF_SUM_INST+SECURITY_ALIAS+PERF_ROLLUP_RETURNS_ID.

Files changed:
eagle_ml-2-0_cm/dbkeysmap.inc
eagle_ml-2-0_cm/out/tagvalue/extract_warehouse_performance.inc

SDP-54542 The EDS load genericissueanalytic resource was updated to support additional fields

The ontology for EDS genericIssueanalytic resource was synced up with EagleML XSD and corresponding interface. The fields below are supported for load and extract:

genericissueanalytic/globalFacilityAmount
genericissueanalytic/privateSecurityType
genericissueanalytic/absCollateralDescription
genericissueanalytic/riskCurrencyBloc
genericissueanalytic/cashFlowIndicator
genericissueanalytic/modifiedDurationIndicator
genericissueanalytic/analyticMtgModel/weightedAverageLoanAge

Files changed:
genericissueanalytic-models.json

SDP-54505 The auto-discovery logic was implemented in EDS data rules to dynamically identify Stored Procedure incoming parameters

As part of the new ‘Dynamic block parameters auto discovery’ logic the following changes were introduced:

  • A new predicate “hasParamsAutoDiscovery” (Boolean type) in the core ontology. The True value was set for the genericSMF inflow resource. As a result, the list of hardcoded Stored Procedures incoming parameters was removed.

  • All required SP incoming parameters are defined automatically based on the SP version in In-Market/Oracle regions by the auto-discovery SP incoming parameters feature. The core code makes requests to the Oracle database while generating processing rules. It will parse and save the SP incoming parameters into the processing rule cache. In case of In-Market region upgrade (for example, from 2017 R2.5 to 2017 R2.20) it is required to regenerate processing rules and the latest version of SP will be be used as part of data rules for load.

  • The template of SQL insert/update queries for Oracle DB (eagle_ref_genericsmf_insertupdate.txt) was updated and all hardcoded parameters were removed for specific SP versions.

Files changed:
metadata/core/ontology/eagledb-inventory.json
metadata/core/ontology/reference/genericsmf-models.json
metadata/core/ontology/reference/genericsmf_in.json
metadata/core/ontology/templates/eagle_ref_genericsmf_insertupdate.txt
rdf_meradata/rdf_meta_utils.py

SDP-55249 The Security Resolution logic was improved for the EDS genericsmf resource

The Security resolution logic for the EDS genericsmf resource was improved. The same security resolution is implemented on load to Oracle and Snowflake databases. The security alias is correctly populated or resolved on the SMF insert or update.

Files changed:
metadata/core/ontology/reference/genericsmf-models.json
metadata/core/ontology/reference/genericsmf_in.json

SDP-54308 Decode colon symbol in EJM profiles

If the OutputFromatDialect parameter was specified in the profile for the IWS workflow, then the rule could not correctly decode the \\5C3A sequence and the workflow was failing with ‘Non specific’ error.
The parsing issue was corrected by replacing "5C3C"  with the ":" colon symbol.

Files changed:
eagle_ml-2-0_cm/parse_params.inc

SDP-54109, SDP-53581 The Generic SMF Inbound and Outbound interfaces were enhanced to support new fields in Accounting mode

Added elements to Eagle Generic SMF inbound when in Accounting Mode <accountingValidationFlag>Y</accountingValidationFlag>.

The Elements names were adjusted and applied to the EagleML XSD. The below fields are supported for load and extract with the tag value in (e.g. 18277):
SECURITYDBO.SECURITY_MASTER.CRYPTOCURRENCY(18277)
SECURITYDBO.SECURITY_MASTER.VARIANCE_VOLATILITY_SWAP(18275)
SECURITYDBO.SECMASTER_DETAIL_EXT.BASEL_III(18304)
SECURITYDBO.SECMASTER_DETAIL_EXT.CAP_CONTINGENT(18305)
SECURITYDBO.SECMASTER_DETAIL_EXT.CAP_CONTINGENT_TYPE(18306)
SECURITYDBO.SECMASTER_DETAIL_EXT.CAP_CONT_TRIG_LEVEL(18307)
SECURITYDBO.SECMASTER_DETAIL_EXT.CAP_CONT_PRICE_LEVEL(18308)
SECURITYDBO.SECMASTER_DETAIL_EXT.CAP_CONT_FLOOR_LEVEL(18309)
SECURITYDBO.FIXED_INCOME_DETAIL_EXT.FIX_FLOAT_CPN_FREQ(18310)
SECURITYDBO.FIXED_INCOME_DETAIL_EXT.FIX_FLOAT_DAY_CNT(18311)
SECURITYDBO.SECMASTER_DETAIL_EXT.GUARANTOR_TYPE(18312)
SECURITYDBO.FIXED_INCOME_DETAIL_EXT.IS_COVERED(18313)
SECURITYDBO.FIXED_INCOME_DETAIL_EXT.MTG_SECURED(18314)
SECURITYDBO.SECMASTER_DETAIL_EXT.TIER1_CAPITAL(18315)
SECURITYDBO.SECMASTER_DETAIL_EXT.TIER2_CAPITAL(18316)
SECURITYDBO.SECMASTER_DETAIL_EXT.FUND_SHARE_CLASS(18318)
SECURITYDBO.MBS_DETAIL_EXT.MTG_CPR_SPEED(18319)
SECURITYDBO.MBS_DETAIL_EXT.MTG_PSA_SPEED(18320)
SECURITYDBO.MBS_DETAIL_EXT.MTG_WAL(18321)
SECURITYDBO.MBS_DETAIL_EXT.MTG_PRINC_LOSSES(18322)

EagleML XPath:
genericSMF/cryptoCurrencyIndicator
genericSMF/varianceVolatilitySwapIndicator
genericSMF/SMExtension/baselIII
genericSMF/SMExtension/contingentCapitalIndicator
genericSMF/SMExtension/contingentCapitalType
genericSMF/SMExtension/contingentCapitalTriggerLevel
genericSMF/SMExtension/contingentCapitalPriceLevelType
genericSMF/SMExtension/contingentCapitalFloorLevelType
genericSMF/SMExtension/tier1CapitalIndicator
genericSMF/SMExtension/tier2CapitalIndicator
genericSMF/SMExtension/fundShareClass
genericSMF/SMExtension/guarantorType
genericSMF/FixedIncomeModel/fixFloatCpnFreq
genericSMF/FixedIncomeModel/fixFloatDayCnt
genericSMF/FixedIncomeModel/isCoveredIndicator
genericSMF/FixedIncomeModel/mortgageSecuredIndicator
genericSMF/MBSExtension/mortgageCprSpeed
genericSMF/MBSExtension/mortgagePsaSpeed
genericSMF/MBSExtension/mortgageWeightedAverageLife
genericSMF/MBSExtension/mortgagePrincipalLosses

Files changed:

estar/tpe/dynamic/msgcenter/eagle_ml-2-0_cm/out/xml/t_smf_streaming.inc
estar/tpe/dynamic/msgcenter/eagle_ml-2-0_cm/out/xml/t_smf_streaming_eml.inc
estar/tpe/dynamic/msgcenter/eagle_ml-2-0_cm/out/xml/t_smf.xml
estar/tpe/dynamic/msgcenter/eagle_default/in/xml/include/sm_extension.inc estar/tpe/dynamic/msgcenter/eagle_default/in/xml/include/fixedincome_extension.inc estar/tpe/dynamic/msgcenter/eagle_default/in/xml/include/mbs_extension.inc estar/tpe/dynamic/msgcenter/eagle_default/in/xml/include/smf_aliases.inc
estar/tpe/dynamic/msgcenter/eagle_default/in/xml/include/smf_panels.inc
estar/tpe/dynamic/eagleml/schema/eagleml-sec-shared-2-0.xsd
estar/tpe/dynamic/eagleml/schema/eagleml-enum-2-0.xsd

SDP-55529 The Elements names for previously added Bloomberg fields were updated to keep the EDS genericsmf resource in sync with the EagleML interface

The Elements names were adjusted and applied to the EagleML XSD to synchronize the EDS and EagleML data rules. The below fields are supported for load and extract with the tag value in (e.g. 18277):
SECURITYDBO.SECURITY_MASTER.CRYPTOCURRENCY(18277)
SECURITYDBO.SECURITY_MASTER.VARIANCE_VOLATILITY_SWAP(18275)
SECURITYDBO.SECMASTER_DETAIL_EXT.BASEL_III(18304)
SECURITYDBO.SECMASTER_DETAIL_EXT.CAP_CONTINGENT(18305)
SECURITYDBO.SECMASTER_DETAIL_EXT.CAP_CONTINGENT_TYPE(18306)
SECURITYDBO.SECMASTER_DETAIL_EXT.CAP_CONT_TRIG_LEVEL(18307)
SECURITYDBO.SECMASTER_DETAIL_EXT.CAP_CONT_PRICE_LEVEL(18308)
SECURITYDBO.SECMASTER_DETAIL_EXT.CAP_CONT_FLOOR_LEVEL(18309)
SECURITYDBO.FIXED_INCOME_DETAIL_EXT.FIX_FLOAT_CPN_FREQ(18310)
SECURITYDBO.FIXED_INCOME_DETAIL_EXT.FIX_FLOAT_DAY_CNT(18311)
SECURITYDBO.SECMASTER_DETAIL_EXT.GUARANTOR_TYPE(18312)
SECURITYDBO.FIXED_INCOME_DETAIL_EXT.IS_COVERED(18313)
SECURITYDBO.FIXED_INCOME_DETAIL_EXT.MTG_SECURED(18314)
SECURITYDBO.SECMASTER_DETAIL_EXT.TIER1_CAPITAL(18315)
SECURITYDBO.SECMASTER_DETAIL_EXT.TIER2_CAPITAL(18316)
SECURITYDBO.SECMASTER_DETAIL_EXT.FUND_SHARE_CLASS(18318)
SECURITYDBO.MBS_DETAIL_EXT.MTG_CPR_SPEED(18319)
SECURITYDBO.MBS_DETAIL_EXT.MTG_PSA_SPEED(18320)
SECURITYDBO.MBS_DETAIL_EXT.MTG_WAL(18321)
SECURITYDBO.MBS_DETAIL_EXT.MTG_PRINC_LOSSES(18322)

EagleML XPath:
genericSMF/cryptoCurrencyIndicator
genericSMF/varianceVolatilitySwapIndicator
genericSMF/SMExtension/baselIII
genericSMF/SMExtension/contingentCapitalIndicator
genericSMF/SMExtension/contingentCapitalType
genericSMF/SMExtension/contingentCapitalTriggerLevel
genericSMF/SMExtension/contingentCapitalPriceLevelType
genericSMF/SMExtension/contingentCapitalFloorLevelType
genericSMF/SMExtension/tier1CapitalIndicator
genericSMF/SMExtension/tier2CapitalIndicator
genericSMF/SMExtension/fundShareClass
genericSMF/SMExtension/guarantorType
genericSMF/FixedIncomeModel/fixFloatCpnFreq
genericSMF/FixedIncomeModel/fixFloatDayCnt
genericSMF/FixedIncomeModel/isCoveredIndicator
genericSMF/FixedIncomeModel/mortgageSecuredIndicator
genericSMF/MBSExtension/mortgageCprSpeed
genericSMF/MBSExtension/mortgagePsaSpeed
genericSMF/MBSExtension/mortgageWeightedAverageLife
genericSMF/MBSExtension/mortgagePrincipalLosses

Files changed:
metadata/core/ontology/eagle-vocab-issuer.json
metadata/core/ontology/eagle-vocab-ref-shared.json
metadata/core/ontology/eagle-vocab-shared.json
metadata/core/ontology/reference/genericsmf-models.json
metadata/core/ontology/reference/genericsmf.json
metadata/core/ontology/reference/genericsmf_in.json
metadata/core/ontology/definition/eagle-vocab-definition-issuer.json
metadata/core/ontology/definition/eagle-vocab-definition-ref-shared.json
metadata/core/ontology/definition/eagle-vocab-definition-shared.json

Production Bugs

SDP-55223 Schedule MI interface was adjusted to support the journalizingFlag element

The Schedule MI interface was corrected with mapping of journalizingFlag element into tag1293.

Files changed:

eagle_default/in/xml/xml-ref_schedule_mi.xml
eagle_default/in/xml/xslt/eagleml_smf_schedule_batch.xsl

SDP-55139 The Delta Based mode was fixed for the XREFEXTRACT

The XREFEXTRACT did not return manually updated xreferences in Delta Based mode due to a special condition in the query. The condition compared the Update Date between the SECURITYDBO.XREFERENCE_HIST and the SECURITYDBO.SECMASTER_HISTORY table and eliminated some records.
The condition was removed and Security table was changed from the SECURITYDBO.SECMASTER_HISTORY to the SECURITYDBO.SECURITY_MASTER for the XREFEXTRACT in Delta Based mode to return all of the updated xreferences and group them by Security Alias.

Files changed:
eagle_ml-2-0_cm/out/tagvalue/extract_xref.inc

SDP-54945 The EDS genericIssueanalytic resource for In-Market Oracle solution was corrected

The Reinitialize / Delete block previously was committed with a typo. It was corrected. The issue was linked to the Oracle database and Eagle version v17R2.20.

Files changed:
templates/eagle_ref_genericissueanalytic_reinitbatch.oracle.txt

SDP-54862 The timeout issue for EJM Accounting Trades events was corrected

EJM events would remain in pending status and eventually were timing out for accounting trade records. The issue was related to the rule query and XMLDBAPI requests where the AUTOCOMMIT parameter was set to 0. The Panel Processor would wait for a database connection to be released, which did not happen since the connection is used by the same rule execution in which the panel is being executed. The rules were corrected as the AUTOCOMMIT was removed from the query to close the database transaction and release the database connection back to the pool before the panel is executed. The issue was fixed.

Files changed:
eagle_default/in/include/csv-buy_columns.inc
eagle_default/in/include/csv-sell_columns.inc

SDP-53995 Enabled the processing to close multi-leg swaps via IDLOT

The Multiple Leg Accounting Trade Swaps IDLOT closes used to fail with error that the target event id is required. The Lookup for Target Event ID (26) resolution was added for the IDLOT Lot Selection Method in the Multiple Leg Accounting Trade interface to correct the issue.

Files changed:
eagle_default/in/xml/xml-accttrade_multipleleg.xml