Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

PROCESSING NOTES

BNY Mellon Data and Analytics Solutions

Instrument Engineering Team

Last Update: 

Unable to render {include} The included page could not be found.

Overview

Future Contracts (Futures) may sometimes require negative prices for trade processing and valuation purposes, such as during the week of April 20, 2020, when US West Texas Intermediate (WTI) crude oil hit historic lows. The price of the May 2020 WTI Future plunged into negative territory and closed at an unprecedented price of -37.63 on Monday of that week. The economic impacts of the COVID-19 pandemic effectively halted the global economy, and the demand for oil along with it, causing a massive supply glut. Oil wells worldwide continued to produce roughly 100 million barrels per day, literally leaving producers without facilities in which to store the oil and forcing some to fill tankers bound for nowhere. This resulted in extreme price declines that took prices into negative territory.

Eagle Accounting has support for Futures with negative prices, but local configuration changes are currently required to implement the functionality. This document outlines the required changes for booking trades and maintaining prices, which are used to calculate valuation and variation margin. It is intended for an experienced technical user who is familiar with Eagle's web panel technology. Our recommendation is to work with your Client Operations Manager or your Global Professional Services team.

Unable to render {include} The included page could not be found.

Implementation

Changes are required for Add Issue Price, Change Issue Price, and the Future panels used by Book Trade. Ensure all code changes are applied in Overlay edit mode.

  • Column: Negative values allowed

  • Original value: NO or 0 (they are equivalent)

  • New Value: YES or 1 (they are equivalent)


Price: Add Issue Price

File: /eagle/star/reference/pan-addsecprice.htm

  • In the ...PANEL tab, set Negative values allowed = YES/1 for the seven (7) fields shown below


  • In the ...LISTBOX tab, add AND (left(:3931:,2) != "FT") to the 0i Link ID scripts for defentry :481:, :1846:, :1847:, :1850:, and :1845:
    • Additions are highlighted in green
0iscript
0idefentry:481:
0itextIF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:481: < 0) THEN ERR("Price Must Be Greater Than Zero");
0iend
0iscript
0idefentry:1846:
0itextIF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1846: < 0) THEN ERR("Bid Price Must Be Greater Then Zero");
0iend
0iscript
0idefentry:1847:
0itextIF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1847: < 0) THEN ERR("Ask Price Must Be Greater Then Zero");
0iend
0iscript
0idefentry:1850:
0itextIF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1850: < 0) THEN ERR("Mid Price Must Be Greater Then Zero");
0iend
0iscript
0idefentry:1845:
0itextIF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1845: < 0) THEN ERR("Last Traded Price Must Be Greater Then Zero");
0iend
  • Click Save


Price: Change Issue Price

File: /eagle/star/reference/pan-changesecprice.htm

  • In the ...PANEL tab, set Negative values allowed = YES/1 for the eight (8) fields shown below


  • In the ...LISTBOX tab, add AND (left(:3931:,2) != "FT") to the 0i Link ID scripts for defentry :481:, :1846:, :1847:, :1850:, and :1845:
    • Additions are highlighted in green
0iscript
0idefentry:481:
0itextIF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:481: < 0) THEN ERR("Price Must Be Greater Than Zero");
0iend
0iscript
0idefentry:1846:
0itextIF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1846: < 0) THEN ERR("Bid Price Must Be Greater Then Zero");
0iend
0iscript
0idefentry:1847:
0itextIF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1847: < 0) THEN ERR("Ask Price Must Be Greater Then Zero");
0iend
0iscript
0idefentry:1850:
0itextIF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1850: < 0) THEN ERR("Mid Price Must Be Greater Then Zero");
0iend
0iscript
0idefentry:1845:
0itextIF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1845: < 0) THEN ERR("Last Traded Price Must Be Greater Then Zero");
0iend
  • Click Save


Trade: Future with Variation Margin

File: /eagle/star/trade/pan-futurewvariationmargin.htm

  • In the ...PANEL tab, set Negative values allowed = YES/1 for the nine (9) fields shown below

  • In the ...LISTBOX tab, right-click and select Comment Row to disable the validation error shown below

  • Click Save


Trade: Futures without Variation Margin - Open Future

File: /eagle/star/trade/pan-futureopen.htm

  • In the ...PANEL tab, set Negative values allowed = YES/1 for the seven (7) fields shown below

  • In the ...LISTBOX tab, right-click and select Comment Row to disable the two validation errors shown below


Trade: Futures without Variation Margin - Close Future

File: /eagle/star/trade/pan-futureclose.htm

  • In the ...PANEL tab, set Negative values allowed = YES/1 for the seven (7) fields shown below

  • In the ...LISTBOX tab, right-click and select Comment Row to disable the two validation errors shown below

Known Issues

  1. Reporting: negative prices are not returned on the Variation Margin report. Zeroes are returned instead of the true negative values.
    1. Negative prices can be viewed correctly on the Holdings, Portfolio Valuation, and other position reports.
  2. Manual Cash Settlement: this issue only applies if Eagle's variation margin processing is turned off and an entity has Net Futures Positions (632) = Yes. If a position goes short (negative units) at a negative price, then is closed for a gain, you will receive this error when you attempt to settle the cash using Multiple Settlements PanelENGINE ERROR. Unbalanced ledger posting activity. Debits not equal credits. Check estar.log for more information.-- Event ID - D1MPJLKU9NFHB12I
    1. Cash can be settled correctly using Contract Cash.
    2. Fixed in V17.
Unable to render {include} The included page could not be found.






  • No labels