EagleML Release Notes - May 2021

Enhancements:

SDP-48734 The Pricing Report was refined with functionality to retrieve the prior price based upon the previous effective date

 

The PRICINGREPORTEXTRACT has had outliers where the Prior Price and the Price Percentage change fields (priorPrice and pricePercentChange), reflected inconsistent results. With numerous Pricing Workflows , the portfolio valuation table which had been the source of the Prior Price Data had varying data.

The solution modifies the source of the prior price and price percentage change to no longer be sourced from the Portfolio Valuation Table. The prior price is now retrieved from the Position Detail for the previous business day's position for the security for the specified source (e.g. STARDIRECT). The price percentage change is calculated using the price and prior price which are both returned from the requested holdings and prior business day holdings. A new field, priorEffectiveDate, is included to provide the user with the prior business effective date returned.

If no prior holding is found, the prior price is set to 0, otherwise the prior price is the price from the prior effective date.

The price percentage change is calculated from using the price and the prior price. If both the prior price and current price are 0, then the price percentage change is set to 0. If the prior price is 0 and the current price is not 0, then the value is set to 100. If the prior price and the current price are both not 0, then the price percentage change is calculated as the current price minus the prior price divided by the prior price.

  • The prior price is retrieved from the Holdings table using the prior business date from the Effective Date passed

  • If there is no prior price, the prior price is set to 0, otherwise the price from the prior effective date is used

  • The prior effective date is exposed as a new field element priorEffectiveDate

  • The price percentage change is calculated from using the price and the prior price with conditional logic to support conditions where there is no prior price and when the prior price is 0

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

SDP-49890 The PRICINGREPORTEXTRACT was updated to reflect the Price Percentage Change as a true percentage

 

Within the PRICINGREPORTEXTRACT, the Price Percent Change is defaulted to 0, 100 or calculated. The core calculated raw values expressed the value as a decimal. For example, .80123411 indicated an 80.123411 percent change.

Since the calculated value is no longer retrieved from the database and is calculated within EagleML dynamically as the Current Price - the Prior Position Price divided by the Prior Position Price, the formula was updated and modified to express it as a percentage value multiplying the calculated value times 100 and rounding it to two decimals.

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

SDP-48665 Corporate Action Rebook functionality was adjusted to support additional elements


The Corporate Action load and extract process provides the ability for the user to pass a number of elements to control the reference data and processing. Key elements within the corporate actions may be updated and the process triggers a cancel and a rebook. Within the EagleML rebook process, a series of elements where not available for the user to populate. This caused the user to have to outright cancel and reload a new corporate action. The functionality within the rebook process now matches all elements in the rebook panels by adding the following elements.

New elements were added to the Rebook process in condition to compare and identify if the values have changed: fromFmvPrice, cpCallPx, cpFrankedAmt, cpSwapRatio, cpMsinkAmt, cpNparVal, cpOffer, cpOparVal, princLossFactor, qdiPercent, qdiHldPeriodOvrd, qdiPercentEffectiveDate, cpShareTaxability, cpCashTaxability, cpCrncy, cpFractionalShares, cpOriginalSource, costAmtMethod, consentRt, consentDt, cpAdj, limitGlIndicator, trmtCashGl, expiryDate.

Files changed:
eagle_default/in/xml/include/ca_true_rebook.inc
eagle_default/in/xml/xml-ref_ca.xml

SDP-49526 The Realized Gain Loss Extract was synced up with v17R2.27 core changes

 

The Realized Gain Loss extract was synced up with v17R2.27 core changes

Additional elements are introduced and currently supported as part of REALIZEDGAINLOSSEXTRACT to keep the EagleML in sync with the corresponding front end report:
EagleML/accountingTransaction/realizedGainLoss/impairmentGainBase
EagleML/accountingTransaction/realizedGainLoss/impairmentGainLocal
EagleML/accountingTransaction/realizedGainLoss/impairmentLossBase
EagleML/accountingTransaction/realizedGainLoss/impairmentLossLocal

The new fields are available only from v17R2.27 going forward. Backwards compatibility is preserved for lower versions.

File changed:
eagle_ml-2-0_cm/out/xml/t_acct_realized_gain_loss_streaming.inc

SDP-48649 The Warehouse Position Inbound and Outbound interfaces were enhanced to support new fields

 

The XSD and Warehouse Position interface was updated to support an additional fields:

HOLDINGDBO.POSITION_DETAIL_ANL_FI.DM_TO_3_YRS (tag 18284)
HOLDINGDBO.POSITION_DETAIL_ANL_FI.DM_TO_MAT (tag 18285)
HOLDINGDBO.POSITION_DETAIL_ANL.YLD_3YR (tag 18286)
HOLDINGDBO.POSITION_DETAIL_ANL.SPREAD_ADJDUR (tag 18292)
HOLDINGDBO.POSITION_DETAIL_ANL.SPREAD_DUR_LIBO (tag 18293)
HOLDINGDBO.POSITION_DETAIL_ANL.SPREAD_OFF_WAL (tag 18294)
HOLDINGDBO.POSITION_DETAIL_ANL.EFF_YIELD (tag 18295)
HOLDINGDBO.POSITION_DETAIL_ANL.WORST_DATE (tag 8748)
HOLDINGDBO.POSITION_DETAIL_ANL.MONEY_MKT_ACT360_YIELD (tag 2878)
HOLDINGDBO.POSITION_DETAIL_ANL.VEGA (tag 8653)
HOLDINGDBO.POSITION_DETAIL_ANL.YTW (tag 8626)
HOLDINGDBO.POSITION_DETAIL_ANL.RISK_PURPOSE (tag 18300)
HOLDINGDBO.POSITION_DETAIL.HEDGE_LINK (tag 18301)

Xpath:
EagleML/warehouseTransaction/warehousePosition/analytics/dmTo3yrs
EagleML/warehouseTransaction/warehousePosition/analytics/dmToMaturity
EagleML/warehouseTransaction/warehousePosition/analytics/yield3Year
EagleML/warehouseTransaction/warehousePosition/analytics/oasSpreadDuration
EagleML/warehouseTransaction/warehousePosition/analytics/oasLiborSpreadDuration
EagleML/warehouseTransaction/warehousePosition/analytics/spreadOffWal
EagleML/warehouseTransaction/warehousePosition/analytics/effectiveYield
EagleML/warehouseTransaction/warehousePosition/analytics/worstDate
EagleML/warehouseTransaction/warehousePosition/analytics/moneyMktAct360Yield
EagleML/warehouseTransaction/warehousePosition/analytics/vega
EagleML/warehouseTransaction/warehousePosition/analytics/ytw
EagleML/warehouseTransaction/warehousePosition/analytics/riskPurpose
EagleML/warehouseTransaction/warehousePosition/hedgeLink

Files changed:
eagle_default/in/xml/xslt/wrh_egl_gen_interface3.xsl
eagle_ml-2-0_cm/out/xml/t_warehouse_position_streaming.inc
eagle_ml-2-0_cm/out/xml/t_warehouse_position_xmldbapi_streaming.inc

SDP-46705 The Warehouse Trade Inbound and Outbound interfaces were enhanced to support new trade fields

 

The XSD and Warehouse Trade interface was updated to support additional fields:

TRADESDBO.TRADE_DETAIL_EXT.NEW_ISSUE (tag 18302)
TRADESDBO.TRADE_DETAIL_EXT.DEAL_SOURCE (tag 18303)

Xpath:
EagleML/warehouseTransaction/warehouseTrade/newIssueIndicator
EagleML/warehouseTransaction/warehouseTrade/dealSource

Files changed:
eagle_default/in/xml/xslt/wrh_egl_gen_interface3.xsl
eagle_ml-2-0_cm/out/xml/t_warehouse_trade_streaming.inc

SDP-46704 The Generic Issue Analytic Inbound and Outbound interfaces were updated to support new fields

 

New fields were added to the XSD, inbound, and outbound rules for the Generic Issue Analytic object.

XMLPath examples:
EagleML/referenceTransaction/genericIssueAnalytic/modifiedDurationIndicator
EagleML/referenceTransaction/genericIssueAnalytic/analyticMtgModel/weightedAverageLoanAge
EagleML/referenceTransaction/genericIssueAnalytic/globalFacilityAmount
EagleML/referenceTransaction/genericIssueAnalytic/privateSecurityType
EagleML/referenceTransaction/genericIssueAnalytic/absCollateralDescription
EagleML/referenceTransaction/genericIssueAnalytic/riskCurrencyBloc
EagleML/referenceTransaction/genericIssueAnalytic/cashFlowIndicator

File changed:

eagle_default/in/xml/xml-ref_genericissueanalytic.xml 
eagle_ml-2-0_cm/out/xml/t_generic_issue_analytic_streaming.inc
metadata/bind/eagleml_ref_genericissueanalytic.xml

SDP-48490 The Reference Element Override Inbound interface has been enhanced with support of a new core procedure RDC_SUBMIT_OVERRIDE_EVENTS_MC, which allows to load overrides in bulk

 

Previously, EagleML streams were loading override data and submitting the event immediately for each override. New logic has been added to enable turning off the automatic
processing of securities on load overrides using the flag deferredProcessingSwitch. The supported value s are Y and N with the default value as N.

In order to trigger the RDC_SUBMIT_OVERRIDE_EVENTS_MC procedure separately, the flag deferredProcessingSwitch should set to Y:
<deferredProcessingSwitch>Y</deferredProcessingSwitch>

The core stored procedure was changed to load all the overrides, capture all the securities/effective dates of those overrides in a table, and execute the RDC_SUBMIT_OVERRIDE_EVENTS_MC procedure separately via the RTR. The RTR for the PACE event must be executed, with the parameter PACEEventName set to overridesDeferredProcessing value:

<taskParameter>
<name>StreamName</name>
<dataType>S</dataType>
<value>eagle_ml-2-0_default_cm_execute_pace_event</value>
</taskParameter>
<taskParameter>
<name>PACEEventName</name>
<dataType>S</dataType>
<value>overridesDeferredProcessing</value>
</taskParameter>

Files changed:
eagle_default/in/xml/xml-ref_elementoverride.xml
eagle_ml-2-0_cm/exec_pace_event.inc

 

SDP-48874 The Generic Load Workflow was updated to support the ReferenceElementOverride


The generic load workflow was enhanced with support of the Reference Element Override feedtype.
The Filemask _REFERENCEELEMENTOVERRIDE_ should be used.

Files changed:
eagle_ml-2-0_workflows/eagle_wrf_generic_load.wrf
eagle_ml-2-0_workflows/eagle_wrf_generic_load_security_related_objects.wrf

Production Bugs:

SDP-49715 The SQL statement was corrected to resolve update issues with the EDS codevalue resource

 

The EDS codevalue resource was failing on Update where the same file was processed multiple times. The issue occurred due to case-sensitive data for the short description code category, source, and code value short description. The code was corrected and the issue was fixed.

Files changed:
metadata/core/sql/eagle_ref_codevalue_insertupdate.txt

SDP-48694 The SMF MI Interface was enhanced to address issues as part of XSL Transformation for Issuer Role

 

The SMF MI stream generated an incorrect creditEnhancement message for the RoleModel in the MultiLeg SMF file. There were three issues:

  • xrefIdentifiers section contained xrefs related to the contractLegs from all the referenceTransaction in incoming file, not only from the current referenceTransaction

  • objectType, sourceName, updateSource, effectiveDate nodes had duplicates

  • other fields were taken from the contractLeg from the first referenceTransaction within the incoming file, but not from the current one

The XSLT for the Issuer Role was corrected in order to generate an accurate creditEnhancement message in the SMF MI stream during the MultiLeg SMF load.

Files changed:
eagle_default/in/xml/xslt/eagleml_smf_mi_issuer_role.xsl