Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

PROCESSING NOTES

BNY Mellon Data and Analytics Solutions

Instrument Engineering Team

Last Update: 

...

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.

Include Page

...

IE Formatting Notes

...

IE Formatting Notes

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

...

stylepage-break-inside:avoid;
  • In the ...PANEL tab, set Negative values allowed = YES/1 for the seven (7) fields shown below

Image Removed

  • Image Added
  • In the ...LISTBOX tab, add AND (left(:3931:,2) != "FT") to the 0i Link ID scripts for defentry :481:, :1846:, :1847:, :1850:, and :1845:

...

    • The end result should match what is shown below

0i

script


0i

defentry

:481:

0i

text

IF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:481: < 0) THEN ERR("Price Must Be Greater Than Zero");

0i

end


0i

script


0i

defentry

:1846:

0i

text

IF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1846: < 0) THEN ERR("Bid Price Must Be Greater Then Zero");

0i

end


0i

script


0i

defentry

:1847:

0i

text

IF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1847: < 0) THEN ERR("Ask Price Must Be Greater Then Zero");

0i

end


0i

script


0i

defentry

:1850:

0i

text

IF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1850: < 0) THEN ERR("Mid Price Must Be Greater Then Zero");

0i

end


0i

script


0i

defentry

:1845:

0i

text

IF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1845: < 0) THEN ERR("Last Traded Price Must Be Greater Then Zero");

0i

end


  • Click Save

...

Price: Change Issue Price

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

...

stylepage-break-inside:avoid;
  • In the ...PANEL tab, set Negative values allowed = YES/1 for the eight (8) fields shown below

Image Removed

  • Image Added
  • In the ...LISTBOX tab, add AND (left(:3931:,2) != "FT") to the 0i Link ID scripts for defentry :481:, :1846:, :1847:, :1850:, and :1845:

...

    • The end result should match what is shown below

0i

script


0i

defentry

:481:

0i

text

IF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:481: < 0) THEN ERR("Price Must Be Greater Than Zero");

0i

end


0i

script


0i

defentry

:1846:

0i

text

IF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1846: < 0) THEN ERR("Bid Price Must Be Greater Then Zero");

0i

end


0i

script


0i

defentry

:1847:

0i

text

IF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1847: < 0) THEN ERR("Ask Price Must Be Greater Then Zero");

0i

end


0i

script


0i

defentry

:1850:

0i

text

IF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1850: < 0) THEN ERR("Mid Price Must Be Greater Then Zero");

0i

end


0i

script


0i

defentry

:1845:

0i

text

IF(left(:3931:,2) != "SW") AND (left(:3931:,2) != "FT") AND (:1845: < 0) THEN ERR("Last Traded Price Must Be Greater Then Zero");

0i

end


  • 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

...

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

...

  • Image Added
  • 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

...

  • Image Added

...

stylepage-break-inside:avoid;
  • In the ...LISTBOX tab, right-click and select Comment Row to disable the two validation errors shown below

Image Removed

Image Removed

  • Image Added

    Image Added

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

...

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

...

  • Image Added

...

  • Image Added

Excerpt

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.

...