EagleML Release Notes - June 29, 2023
Enhancements
SDP-75037 Added a custom solution to provide the ability to change SMF XREF types
A solution for changing an xreference type is now supported within the smf object. This is optional feature which may be customized for each client's specific needs.
It is designed to retrieve conditions to execute using the w_config_custom.inc to identity if the xreference type should be changed. The two new parameters for configuration are below.
:W_TYPE_CHANGE: defines if required to change type
:W_TYPE_CHANGE_EXPR: is rules for change in form ‘oldType~ oldTypeValue~newType~newTypeValue~retypeExpr~retypeExprValue’
a. oldType defines type of xId which to change
b. newType is type of identifier after changing
c. retypeExpr is expression to check
The variables for one case can be separated by tildes ‘~’, and variables for a different case by a vertical dash ‘|’. If it is needed to check if value of xId equals to defined string, double quotes “ should be used. This is necessary for the parser worked correctly.
Use cases:
Change type without condition: retypeExpr = '1'
Change type based on string length of according xId: retypeExpr = 'StringLength(:xId:)>8'
Change type based on defined substring of according xId: retypeExpr = 'SubString(GetVariable(:xId:),0,3)!="BBG"'
Example: 'oldType~IAG_CLIENT_SEC_ID~newType~AIMID~retypeExpr~1|oldType~BBGID~newType~BBGID_MO~retypeExpr~SubString(GetVariable(:xId:),0,3)!="BBG"|'
For security type change (processingSecurityType, securityType, securitySubType) lookups were applied, but it requires to add values into PACE_MASTERDBO.CODE_VALUES. It is possible to change these values the same way changed within the xreferences.
Files changed:
eagle/estar/tpe/dynamic/msgcenter/eagle_default/in/xml/include/msgxchg_sec_core.inc
estar/tpe/dynamic/msgcenter/eagle_default/in/xml/include/multileg_swap_tag_remap.inc
estar/tpe/dynamic/msgcenter/eagle_default/in/xml/include/security_resolution_full.inc
estar/tpe/dynamic/msgcenter/eagle_default/in/xml/include/smf_generic_remap.inc
estar/tpe/dynamic/msgcenter/eagle_default/in/xml/xml-smf.xml
estar/tpe/dynamic/msgcenter/eagle_default/in/xml/xml-smf_generic.xml
estar/tpe/dynamic/msgcenter/eagle_default/in/xml/xml-smf_multileg_swap.xml
SDP-75004 EDS Extract in ASISCOPY mode excludes tables that ARE skipped on ASISCOPY Load
The Eagle to Vault pipeline was improved. Database tables that are not supported for data ingestion to Snowflake will be ignored by the EDS Extracts in ASISCOPY mode.
The ignored tables are declared via the eagledb-inventory:hasAsIsCopyExcludedTable predicate. The Data Rules resources and corresponding database tables below are where the change was implemented.
codevalue - INTERFACES, CODES, EGL_GENERIC_XLATION_ML
client - CLIENT_ADDRESS, CLIENT_RELATIONSHIP, CLIENT_RELATIONSHIP_DETAIL
entitypolicy - POLICY_DETAIL, POLICY_RATES, POLICY_MAP
entityaccountingbasis - ESTAR_ACCOUNTING_PERIODS
SDP-74677 New elements supported for IssuePcPrice for load
The below elements are now supported for the IssuePcPrice load.
accountingValidationFlag
priceConversionFxSource
priceConversionFxRate
payPriceLeg/notionalAmount
payPriceLeg/price
payPriceLeg/marketValue
receivePriceLeg/notionalAmount
receivePriceLeg/price
receivePriceLeg/marketValue
Also, in case of price conversion load failure, an error message will be shown.
Files changed:
eagle_default/in/xml/include/xml-ref_security_pricing_common.inc
eagle_default/in/xml/xml-ref_issuepcprice.xml
SDP-74541 Delta extracts for resources with composite and history mode
Delta extracts need to resolve the DeltaBasedUID to have two separate delta last_run_dates for the composite and history runs.
SDP-74530 Checksum functionality was improved for genericentity and entityanalytic
The below metadata and code changes were implemented for the genericentity and entityanalytic.
genericentity checksum supports all tables
entityanalytic checksum supports all tables
checksum performance was increased with calc_check_sum function
checksum on extract support all possible aliases
SDP-74258 Issuer Organization inbound interface extension enhanced to fill ISSUER_ALIAS field
The Issuer Organization extension uses ISSUER_ID as a business key. To support backwards compatibility, it will be maintained. As a result, added the ability to fill the ISSUER_ALIAS field if it exists in an extension table. It must be added to the extension table without a need to configure the field in XPanels.
File changed:
eagle_default/in/xml/include/custom_fields.inc
SDP-73432 EDS yieldcurve resource was enhanced to support load for Snowflake
The EDS yieldcurve resource was enhanced to support the load in Batch and Temporal modes for Snowflake. An additional yieldcurvecode filter was added for the extract.
Files changed:
metadata/core/ontology/reference/yieldcurve.json
metadata/core/ontology/reference/yieldcurve-models.json
metadata/core/ontology/reference/yieldcurve_in.json
Files added:
metadata/core/ontology/templates/db_oper/snowflake/yieldcurve.reinit_batch.sql
metadata/core/ontology/templates/db_oper/snowflake/yieldcurve.reinit_batch_many.sql
metadata/core/ontology/templates/eagle_ref_yieldcurve_reinitbatch.snowflake.txt
metadata/core/ontology/templates/eagle_ref_yieldcurve_reinitbatch_many.snowflake.txt
SDP-73402 Unpacker enhancement to skip timestamp restoration for zip files
The unpacker stream has been enhanced to support the ability to skip timestamp restoration for zip files. This can be set by using either of the two new variables below.
UnpackerUnzipSkipTimestampRestoration - A local variable that may be set in the IWS task unpacker or RTR and will have the highest priority.
W_UNPACKER_UNZIP_SKIP_TIMESTAMP_RESTORATION - A global variable that may be set in w_config_custom config and will have a priority lower than the UnpackerUnzipSkipTimestampRestoration variable.
Usage:
In the task_unpacker step in IWS or in RTR, set an UnpackerUnzipSkipTimestampRestoration variable in the Parameters of the task_unpacker.
<COL TAG="W_UNPACKER_UNZIP_SKIP_TIMESTAMP_RESTORATION" EXPRESSION="'Y'"/>
or
<CODE>:W_UNPACKER_UNZIP_SKIP_TIMESTAMP_RESTORATION: := 'Y';</CODE> in w_config_custom file.
Files changed:
eagle_ml-2-0_cm/unpacker/wrf_unzip.prf
SDP-73285 Profile Templates for Conversion and Cloud Workflows as part of Product
The Profile template eagle_wrf_cloud_conversion.profile was created for the eagle_wrf_cloud_conversion workflow and added to the package. Also, the profile template eagle_wrf_cloud_extract.profile was created for the eagle_wrf_cloud_extract workflow and added to the package.
Files added:
msgcenter/profile/workflows/eagle_wrf_cloud_conversion.profile
msgcenter/profile/workflows/eagle_wrf_cloud_extract.profile
Files changed:
eagle/estar/EAGLE_EXTRACTSERVICE.pkg
eagle/estar/eagle_default_workflows.pkg
SDP-72818 EDS genericissueanalytic resource was updated to fix mappings
The EDS genericissueanalytic resource was updated to fix the mapping for the following fields:
SECURITY_ANALYTICS_FI.BASIS_POINT_VALUE Â - basisPointValue
SECURITY_ANALYTICS_FI.BASIS_POINT_VALUE_CURVE - basisPointValueCurve
SECURITY_ANALYTICS_FI.BASIS_POINT_VALUE_WRST - basisPointValueWrst
SECURITY_ANALYTICS_EXT.CONVEXITY_OAS_BID – analyticExtModel/convexityOasBid
SECURITY_ANALYTICS_EXT.CONVEXITY_OAS_ASK - analyticExtModel/convexityOasAsk
SECURITY_ANALYTICS_EXT.CONVEXITY_OAS_MID - analyticExtModel/convexityOasMid
SECURITY_ANALYTICS_EXT.MOD_DURATION_BID - analyticExtModel/modDurationBid
SECURITY_ANALYTICS_EXT.MOD_DURATION_ASK – analyticExtModel/modDurationAsk
SECURITY_ANALYTICS_EXT.MOD_DURATION_MID - analyticExtModel/modDurationMid
SECURITY_ANALYTICS_EXT.MACAULAY_DURATION_BID - analyticExtModel/macaulayDurationBid
SECURITY_ANALYTICS_EXT.MACAULAY_DURATION_ASK - analyticExtModel/macaulayDurationAsk
SECURITY_ANALYTICS_EXT.MACAULAY_DURATION_MID - analyticExtModel/macaulayDurationMid
The field SECURITYDBO.SECURITY_ANALYTICS_EQUITY.INDX_GENERAL_PX_RATIO was removed from genericissueanalytic and genericissueanalyticequity resources.
Files changed:
metadata/core/ontology/reference/genericissueanalytic-models.json
metadata/core/ontology/reference/genericissueanalyticequity-models.json
metadata/core/ontology/eagledb-vocab-common.json
SDP-71931 Added exceptions catch block for AccountingCash interface
An exception catch block exceptions_catch.inc was added for the eagle_ml-2-0_default_in_xml_acct_cash stream. This change exposes STATUSES, WARNINGS, ERRORS in the accounting cash interface.
Files changed:
estar/tpe/dynamic/msgcenter/eagle_default/in/xml/xml-acct_cash.xml
SDP-71683 Added support for several EntityAccountingBasis elements
The below elements were added to the EntityAccountingBasis object for loading.
performanceNavValuationFxSource Tag 18469
performanceNavForwardPriceSource Tag 18470
Fixed EntityAccountingBasis elements for loading:
vaultDate Tag 12005
postCutoffDt Tag 11848
settlementBeginDate Tag 18299
The below element was fixed for loading within the GenericEntity object when accountingValidationFlag = Y:
settlementBeginDate Tag 18299
Added elements to ENTITYEXTRACT legacy/streaming/MC2 extract:
performanceNavValuationFxSource Tag 18469
performanceNavForwardPriceSource Tag 18470
Fixed mapping for ledgerGranularityRuleName in MC2 ENTITYEXTRACT
The below elements were added to the ENTITYACCBASISEXTRACT streaming and MC2 extracts:
disableFlag
archiveDate
performanceNavValuationFxSource Tag 18469
performanceNavForwardPriceSource Tag 18470
SDP-70374 Enhanced the eagleml interface to support the Price Conversion Process to Support Unrealized Gain Loss - URGL for TRS on Single Name Fixed Income
Revised and expanded support for the IssuePrice, IssuePcPrice and ExchangePrice with Price Type Codes greater than 3 in the reference object to manage the routing and calculation to the Price Conversion processes. Please note, panel changes are only available post 2017 r2.41 Eagle core in market release.
Files changed:
eagle_default/in/xml/include/xml-ref_security_pricing_common.inc
eagle_default/in/xml/xml-ref_issueprice.xml
Production Bugs
SDP-74822 EagleML element couponRateFixingMethod is available for history only load in the multilegSMF object
The couponRateFixingMethod element can now be loaded in both history and composite tables. The correct XML path for generateSwapResetScheduleSwitch was added and now this element can be processed both from leg root node and from MultipleLegSwapModel:
<payLeg>
<MultipleLegSwapModel>
<generateSwapResetScheduleSwitch>Y</generateSwapResetScheduleSwitch>
</MultipleLegSwapModel>
</payLeg>
<payLeg>
<generateSwapResetScheduleSwitch>Y</generateSwapResetScheduleSwitch>
</payLeg>
Changes were applied for all three legs.
Files changed:
eagle_default/in/xml/include/contract_leg_alliases.inc
eagle_default/in/xml/include/contract_mapping.inc
eagle_default/in/xml/include/ins_upd_smf_req.inc
eagle_default/in/xml/include/pay_leg_alliases.inc
eagle_default/in/xml/include/pay_mapping.inc
eagle_default/in/xml/include/receive_leg_alliases.inc
eagle_default/in/xml/include/receive_mapping.inc
SDP-74719 EDS issuetenor Resource
The EDS issuetenor resource was created to support the Eagle Vault pipeline for extracting data from Eagle and uploading to Snowflake.
Table: SECURITYDBO.SECURITY_TENOR
Key: SECURITY_ALIAS + EFFECTIVE_DATE + SRC_INTFC_INST
LoadModes: Delta (by default), Temporal
Extract Filters:
sourcename
securityalias, processingsecuritytype, securitytype, investmenttype, releasestatus, primaryassetid, xrefid, ticker
fromdate, todate,
effectivedate, fromeffectivedate, toeffectivedate
SECURITYDBO.SECURITY_TENOR table was removed from genericsmf resource
Files changed:
metadata/core/ontology/eagle-vocab-enumerations.json
metadata/core/ontology/reference/genericsmf-models.json
metadata/core/ontology/reference/genericsmf.json
metadata/core/ontology/definition/eagle-vocab-definition-ref-shared.json
metadata/core/ontology/definition/eagle-vocab-definition-sec-shared.json
metadata/core/ontology/eagle-vocab-ref-shared.json
metadata/core/ontology/eagle-vocab-sec-shared.json
Files added:
metadata/core/ontology/reference/issuetenor-models.json
metadata/core/ontology/reference/issuetenor.json
metadata/core/ontology/reference/issuetenor_in.json
SDP-74686 Warehouseperformance resource was updated to correct the issue on EDS Extract side related to missing primary key
A SQL Select for the EDS extract is based on primary keys for tables defined in the metadata. The Warehouseperformance resource previously had the wrong primary keys: PERF_SUM_INST, SECURITY_ALIAS, PERF_ROLLUP_RETURNS_ID.
The field STRATEGY_DETAIL_ID was added starting from database version=2017.2.28.0 and is supported going forward.
This field was added to primary keys for below detail tables, warehouseperformance resource:
PERFORMDBO.PERF_SEC_RETURNS
PERFORMDBO.PERF_SEC_RETURNS_EXT.
The field STRATEGY_DETAIL_ID was not described as key in the Ontology which was the reason for incorrect data. The EDS Extract used to return extra records which is now resolved.
Currently list of keys used for EDS Extract:
PERF_SUM_INST, SECURITY_ALIAS, PERF_ROLLUP_RETURNS_ID, STRATEGY_DETAIL_ID.
Files changed:
warehouseperformance-models.json
SDP-74548 Fixed inactiveFlag loading in accounting validation mode
The inactiveFlag element for loading SMF records when using the accounting validation mode usage was updated. The value of the inactiveFlag - Tag 11043 from the incoming record is now stored before the security resolution and restores after the security resolution is finished. This provides the ability to update the inactive flag on the smf.
Files changed:
estar/tpe/dynamic/msgcenter/eagle_default/in/xml/include/security_resolution_generic.inc
SDP-74391 Checksum Validation Errors were corrected for genericissueanalytic, issuerrating, factor and timeseries
The Checksum validation errors were corrected for the genericissueanalytic, issuerrating, factor and timeseries resources. Most of those issues, except genericissueanalytic, were related to obsolete mapping of fields.
Replacement mapping in this case means that the field on the source side was replaced with the value from a different field on load by design repeating the EagleML logic for load.
This logic was enhanced as asiscopy mode was added. During an asiscopy extract and load, the value from the source database will be moved as is to the target database without replacement.
The errors for genericissueanalytic resource were related to the fields with the same column name between the tables. Only the value from the main table was loaded and extracted. The issue was fixed through the use of column prefixes.
Files changed:
Metadata Files for issuerrating, factor and timeseries resources were updated.
SDP-73528 EDS warehousependingtrade resource was enhanced to support new fields
The EDS warehousependingtrade resource was enhanced to support the below fields as part of Eagle Vault pipeline.
New supported elements:
TRADEDBO.PENDING_TRADES.RESEARCH_FEE_L – EagleML/warehousePendingTrade/researchFeeLocal
TRADEDBO.PENDING_TRADES.RESEARCH_FEE_B - EagleML/warehousePendingTrade/researchFeeBase
TRADEDBO.PENDING_TRADES.LEDGER_NOTES - EagleML/warehousePendingTrade/ledgerNotes
TRADEDBO.PENDING_TRADES.TO_SLEEVE_ID - EagleML/warehousePendingTrade/toSleeveId
TRADEDBO.PENDING_TRADES.TO_ORIGINAL_FACE_VALUE - EagleML/warehousePendingTrade/toOriginalFaceValue
TRADEDBO.PENDING_TRADES.RECALLABLE_CAPITAL_L - EagleML/warehousePendingTrade/recallableCapitalLocal
TRADEDBO.PENDING_TRADES.RECALLABLE_CAPITAL_B - EagleML/warehousePendingTrade/recallableCapitalBase
TRADEDBO.PENDING_TRADES.PE_INCOME_L - EagleML/warehousePendingTrade/privateEquityIncomeLocal
TRADEDBO.PENDING_TRADES.PE_INCOME_B - EagleML/warehousePendingTrade/privateEquityIncomeBase
TRADEDBO.PENDING_TRADES.PE_EXPENSE_L - EagleML/warehousePendingTrade/privateEquityExpenseLocal
TRADEDBO.PENDING_TRADES.PE_EXPENSE_B - EagleML/warehousePendingTrade/privateEquityExpenseBase
TRADEDBO.PENDING_TRADES.GAINLOSS_L - EagleML/warehousePendingTrade/gainLossLocal
TRADEDBO.PENDING_TRADES.GAINLOSS_B - EagleML/warehousePendingTrade/gainLossBase
TRADEDBO.PENDING_TRADES.COST_L - EagleML/warehousePendingTrade/costLocal
TRADEDBO.PENDING_TRADES.COST_B - EagleML/warehousePendingTrade/costBase
TRADEDBO.PENDING_TRADES.SHARE_CLASS - EagleML/warehousePendingTrade/shareClass
TRADEDBO.PENDING_TRADES.FUNDED_CAPITAL_L - EagleML/warehousePendingTrade/fundedCapitalLocal
TRADEDBO.PENDING_TRADES.FUNDED_CAPITAL_B - EagleML/warehousePendingTrade/fundedCapitalBase
TRADEDBO.PENDING_TRADES.NAV_PER_SHARE - EagleML/warehousePendingTrade/navPerShare
TRADEDBO.PENDING_TRADES.SUB_RED_INDICATOR - EagleML/warehousePendingTrade/subRedIndicator
TRADEDBO.PENDING_TRADES.LOWER_BOUND - EagleML/warehousePendingTrade/lowerBound
TRADEDBO.PENDING_TRADES.FEE_AMOUNT - EagleML/warehousePendingTrade/feeAmount
TRADEDBO.PENDING_TRADES.CAP_AMOUNT_BASE - EagleML/warehousePendingTrade/capAmountBase
TRADEDBO.PENDING_TRADES.BATCH_NUMBER - EagleML/warehousePendingTrade/batchNumber
The mapping for the UPDATE_DATE was also corrected.
Files changed:
metadata/core/ontology/reference/warehousependingtrade-models.json
metadata/core/ontology/reference/warehousependingtrade_in.json
metadata/core/ontology/definition/eagle-vocab-definition-acc-shared.json
metadata/core/ontology/definition/eagle-vocab-definition-shared.json
metadata/core/ontology/definition/eagle-vocab-definition-wh-shared.json
metadata/core/ontology/eagle-vocab-acc-shared.json
metadata/core/ontology/eagle-vocab-shared.json
metadata/core/ontology/eagle-vocab-wh-shared.json
SDP-72797 Added support for the issueFxRate processingSecurityType for both the from/to currencies security alias resolution
Support for the processingSecurityType element was added to the fromCurrency and toCurrency models. This change affects the security alias lookup only when the accountingValidationFlag = N
Files changed:
eagle/estar/tpe/dynamic/msgcenter/eagle_default/in/xml/xml-ref_fxrate.xml
Â