Futures (FUT) Best Practices

Overview

This document applies to all releases of Eagle software V12 and above. Version-dependent functionality is noted with the initial release(s) it became available.

Future Contracts (Futures) are legal agreements to buy or sell a given asset at a predetermined price and time in the future. Some of the most well-known are based on commodities such as oil, gold, and corn, but they also extend to financial instruments like Treasury Notes, indexes, and currencies. Eagle supports these various flavors using a standardized modeled that provides familiarity and scalability. This document covers the details of Eagle Accounting, Data Management, and Performance.

Example reference data screens, trade screens, and reports are attached:

On this page

Related content

Entity Setup

Before any trades can be booked, the target entity must be set up appropriately. Refer to Futures Entity Setup Processing Notes for additional information.

Reference Data

Storage & Configuration

Each Future security master file (SMF) is represented by a single row in Data Management. While almost all futures trade with VM in the market, for operational reasons Eagle can be configured to calculate VM automatically, or not. This determination should be made based on your answers to the questions below.

Question

Answer = No

Answer = Yes

Question

Answer = No

Answer = Yes

Is cash managed internally?

Set Variation Margin (4533) to No to bypass VM calculation.

Set Variation Margin to Yes to calculate VM.

Should VM be reflected in investable cash on a daily basis?

Can VM be reconciled with custodian?

Can prices be accessed on a daily basis?

Market Data

Future prices are quoted based on multiples of Tick Size. For example, if Tick Size = 0.25 prices will always end with .00, .25, .5, or .75. For Eagle Accounting to calculate the correct VM based on these market prices it is vital that Contract Size (19) and Price Multiplier (18) be populated correctly on the security master file (SMF). Bloomberg reference data for Futures includes two other fields that work in tandem with Tick Size: Contract Size and Value of 1.0 pt. Value of 1.0 pt = Contract Size * Tick Size.

  • For most Futures in Eagle, set Contract Size = Value of 1.0 pt and Price Multiplier = 1.00

  • Swedish Government Bond Futures have a standard Contract Size of 1,000,000 and should use a Price Multiplier of 0.01 to accommodate the converted par-based prices (see the Valuation section for more details on price conversion)

When foreign Futures are settled in a base currency (often referred to as single-currency margining), the clearing broker may use FX rates that differ from an entity's FX rate source. This can cause breaks between your clearing broker's VM statement and the amount calculated in Eagle Accounting. Alternate rates can be supported using the Broker Currency and Broker Rates functionality, without affecting the FX rates used for other processing. This must be configured prior to processing VM. Refer to Clearing Broker FX Rates Processing Notes for more information.

Security Data

Futures can be set up and maintained using Issue Viewer, Security Reference Manager (SRM), or Reference Data Center (RDC).

  • Issue Name (961)

  • Primary Asset ID (14) & Type (1432)

  • Price Multiplier (18): typically 1.00

  • Contract Size (19): populate with "Value of 1.0 pt" from Bloomberg

    • Typically 1,000 for 3-year, 5-year, and 10-year Australian Government Bond Futures and 650 for 20-year (older 20-year issuances used 500, but these were delisted in August 2018)

  • Issue Country (1418)

  • Asset Currency (85)

  • Settlement Currency (63): this can be used to control the currency in which VM will settle for all funds that hold the Future

    • This is especially common for Futures denominated in non-deliverable currencies 

    • If a Future needs to settle in an alternate currency for specific funds only, see Clearing Broker FX Rates Processing Notes

  • Primary Exchange (17): set to LME for LME Futures (see the LME Futures section for details)

  • Expiration Date (38)

  • Point Size (8501): represents the monetary value of one (1) point move in a Futures price; the Bloomberg name for this field is Value of 1.0 pt

    • Point Size is for reference/reporting purposes only and does not factor into valuation or VM calculations; ensure Price Multiplier and Contract Size are populated correctly

  • Variation Margin (4533)

    • Yes: VM will be calculated and settled to cash, resulting in a MV of zero on the Future

    • No: Eagle Accounting will not calculate VM, resulting in a MV on the Future equal to its URGL

  • Variation Margin Rule (2289): required for all Futures because it dictates the URGL/market value calculation when Variation Margin = No (see the Valuation section for details)

    • Standard Life to Date: most US and foreign Futures use this calculation

    • US Treasury: for US Treasury Futures

    • 90-Day Australian Bank Bill: for Futures on 90-Day Australian Bank Bills that use yield-based pricing

    • See table below for rules and associated defaults for Futures on Australian Government Bonds that use yield-based pricing

Variation Margin Rule (2289)

Underlying Coupon Rate (4349)

Payment Frequency (472)

Variation Margin Rule (2289)

Underlying Coupon Rate (4349)

Payment Frequency (472)

3-Year Australian Govt. Bond

6.000000

Semi-Annual (S)

5-Year Australian Govt. Bond

2.000000

Semi-Annual (S)

10-Year Australian Govt. Bond

6.000000

Semi-Annual (S)

20-Year Australian Govt. Bond

4.000000

Semi-Annual (S)

LME Futures

The LME offers Futures for various precious metals, which require the following configurations.

  • Variation Margin (4533): must be set to No

  • Prompt Date (2302): settlement date of net cash (required in lieu of Expiration Date)

  • Last Trade Date (5076): last date trades can be entered

Trade Processing

Trades are entered using the Book Trade module once entity and reference data have been configured. Enter the appropriate entity, security identifier, and trade (35)/settle (37) dates and click Submit to query for the security. When you right-click the security, the options for opening and closing it will depend on whether the entity-level Net Futures Positions field is set to Yes or No.

  • Any commission or other fees paid can be entered on the trade

    • If the future is set up with Variation Margin = No, Future Expense/Capitalize Flag (10705) must be populated

  • The same Future cannot be traded with a different Clearing Broker (1237) in a given fund

    • An error will be displayed if attempted: Future trade clearing broker must be same as previous trades

    • Once a Future position has been established with a particular Clearing Broker, it can only be changed if the existing position is reduced to zero

    • A Non-Financial Trade Data Modification transaction can only be used if VM has not yet been run for the position

Open & Close

The fields below are used for both opens and closes.

  • Contracts (40): number of contracts

  • Price per Contract (45): used to calculate (notional) cost used for VM or unrealized gain/loss calculations

  • Commission Per Contract (971): this is multiplied by Contracts to calculate Commission Amount Local (47), which is factored into the net amount

    • This field is only available when Variation Margin = Yes

    • Commission (47) is entered directly when Variation Margin = No

  • Other Fee (3752): added to the total net amount

  • Tax Amount (46), SEC Fee (48), & Stamp Duty Tax (51): added to the total net amount

    • These fields are only available when Variation Margin = No

  • Lot Selection Method (27): defaults to the entity-level value, or the value from the Mixed Cost Basis Rule if applicable, but can be overridden

  • Broker (88)

  • Clearing Broker (1237): required if Future is set up with Variation Margin = Yes

Field

Open > Long

Open > Short

Close > Long

Close > Short

Field

Open > Long

Open > Short

Close > Long

Close > Short

Event Type (55)

No VM = OPENFUTURE
With VM = BUYFUT

No VM = OPENFUTURE
With VM = BUYFUT

No VM = CLOSEFUTURE
With VM = SELLFUT

No VM = CLOSEFUTURE
With VM = SELLFUT

Long-Short Indicator (15)

L (LONG)

S (SHORT)

L (LONG)

S (SHORT)

Net Futures Positions (632) = No

Creates a long position (long with positive quantity).

Creates a short position (short with positive quantity).

Closes (partially or fully) a previously established long position.

Closes (partially or fully) a previously established short position.

Net Futures Positions (632) = Yes

Creates a long position (long with positive quantity) or closes a previously established short position (long with negative quantity).

N/A

Creates a short position (long with negative quantity) or closes a previously established long position (long with positive quantity)

N/A

Commission/Fees

Any commission and fees involved in the trade can be entered in the panel. There are slightly different treatments for Futures with Variation Margin = No vs. Yes.

  • Variation Margin = No: Future Expense/Capitalize Flag on the trade screen determines how commission and fees are treated

    • Capital: they do not generate any cash movement and instead are rolled into cost; Cost = (Contracts * Price per Contract) + Commission + Fees

    • Expense: they generate a cash disbursement and are excluded from cost; Cost = Contracts * Price per Contract

  • Variation Margin = Yes: Futures & Options with Margin Transaction Fees Flag on the entity setup determines how commission and fees are treated (the default election is Capital)

    • Capital: added to notional cost and reflected in CASH when the VM process is run for Trade Date; Notional Cost = (Contracts * Price) + Commission + Fees

    • Expense: expensed and excluded from notional cost and included in the VM amount when it is run for Trade Date; Notional Cost = Contracts * Price

LME Futures

There is no option for directly closing LME Future positions. Instead, they can be effectively closed out by booking offsetting positions based on whether the initial trade was long or short.

Initial Margin

Eagle does not calculate initial margin due to the large variance in requirements and calculation formulae between different brokers. Initial margin is typically calculated by another system and maintained in Eagle using Miscellaneous Income or Expense transactions against specific entities and securities.

Conversions

The CONVERSION event is not supported for Futures. Conversions should be booked similar to other open trades.

Cancel & Rebook

Faulty Futures transactions can be cancelled and rebooked using the Cancel & Rebook Trade module. Margin calculation and approval must be run once the trade has been rebooked.

Accounting

Once a Future trade is booked, it will be picked up in Eagle’s global workflow. VM (if applicable) is calculated as part of the earnings process, the associated VM payable or receivable is generated through the approval process, Accounting valuation is calculated when posting unrealized gain/loss for futures with Variation Margin = No, Data Management valuation is calculated in the STAR to PACE push, and VM is closed out to cash during cash settlement.

Valuation

Variation Margin = No

When Variation Margin = No, the Future is valued at its unrealized gain/loss using the formula below and does not impact cash.

  • Market Value = URGL = Notional Market Value - Notional Cost
                          = # of Contracts * Contract Size * (Current Price - Trade Price) * Price Multiplier

Variation Margin = Yes

When Variation Margin = Yes, VM is calculated based on the security's Variation Margin Rule and moved to cash. The security always has a market value of zero. Each day’s VM is captured in Market Value Income after calculation and approval, but before cash settlement, as the security’s true value is equal to its day-over-day price change. Market Value Income is cleared out once VM settles to cash.

For all securities, daily VM = Notional Market Value - Notional Cost. Variation Margin Rule controls how these values are calculated. 

  • Each day's Notional Market Value becomes the next day's Notional Cost

    • Notional Market Value: always calculated using end-of-day prices

      • If VM is run for a Variation Margin Date (461) when prices have not been loaded, a Notional Market Value of zero is used 

    • Notional Cost

      • On T: calculated using trade price

      • On T+: equal to prior day's Notional Market Value (cost on T+1 = MV on T)

  • Beginning in V15 R2, Notional Cost is stored on the cost object in Cost Amortized ID Local (2689), Cost Amortized ID Base (2690), Current Cost Local (128), and Current Cost Base (129)

  • For foreign Futures, base VM delta values are calculated by comparing the day-over-day change in life-to-date (LTD) values

    • VM LTD local is converted to base each day using the prevailing FX rate

    • Each day's VM delta base = current day VM LTD base - prior day VM LTD base

    • Converting each day's VM delta local to base produces different results

The VM process steps are illustrated below, and the attached  spreadsheet walks through an example.

Step 1: Calculation

Step 2: Approval

Step 3: Settlement

Step 1: Calculation

Step 2: Approval

Step 3: Settlement

Payable/Receivable = 0

Payable/Receivable = VM

Payable/Receivable = 0

Market Value Income = 0

Market Value Income = VM

Market Value Income = 0

Cash Position = No Impact

Cash Position = No Impact

Cash Position = VM

Standard Life To Date

This calculation is used by the vast majority of Futures.

  • Notional Market Value/Cost = # of Contracts * Contract Size * Price * Price Multiplier

US Treasury Future Calculations

US Treasury securities differ slightly in their VM calculation by rounding at the individual contract level rather than the total position level. The attached spreadsheet highlights the difference between the two calculations.

The VM formula for US Treasury securities is:

  • VM = (Notional Market Value of 1 Contract - Notional Cost of 1 Contract) * Number of Contracts

    • Notional Market Value/Cost = Contract Size * Price * Price Multiplier, rounded to two decimal places

Australian Government 3-Year, 5-Year, 10-Year, & 20-Year Bond Future Calculations

Australian Government Bond Futures use yield-based pricing in the market. Below is an excerpt from the Australian Futures Exchange on notional and VM calculations. The attached spreadsheet contains rounding conventions and can be used to validate your results for all tenors.

  • ASX Treasury Bond Futures: the pricing formula is simplified because there is always an exact number of half years to maturity, and hence no requirement to calculate accrued interest

  • The formula for the value (P) of a 10 Year Bond Future on ASX is written as:

    • 3-Year, 5-Year, and 10-Year: P =  1000 * ((( C * ( 1 - Vn)) / i + 100 * Vn)

    • 20-Year: P =  650 * ((( C * ( 1 - Vn)) / i + 100 * Vn) --> Note: older 20-year issuances used 500 instead of 650, but these were delisted in August 2018

    • Where:

      • i = yield % pa divided by 200 ('pa' indicates an annual percentage yield)

      • V = 1/(1+i)

      • n = number of coupon payments (40 for 20-Year, 20 for 10-Year, 6 for 3-Year)

      • C = coupon rate/2

  • Thus, to value a 6% coupon 10-Year Treasury Bond Future which is trading at a price of 95.500 (i.e. a yield of 4.50% pa), the inputs would be:

    • i = 0.02250000

    • V = 0.97799511

    • n = 20

    • C = 3

  • When these inputs are included in the formula, the above contract value will be $111,972.78

  • VM = Pt - Pt-1

 

Australian Government 90-Day Bank Bill Future Calculations

Australian Government Bond Futures use yield-based pricing in the market. Below is an excerpt from the Australian Futures Exchange on the notional and VM calculations.

  • For ASX 90 Day Bank Bill Futures, where the contract value is always $1,000,000 and the term to maturity is exactly 90 days, the bank bill formula can be rewritten as:

    • P = (1,000,000 × 365) / (365 + (Yield × 90 / 100))

    • Where

    • P = value of contract

    • Yield = the futures price minus 100

  • Therefore, if a Bank Bill Future was trading at 95.00 (i.e. a yield of 5%), the value would be:

    • P = (1,000,000 × 365) / (365 + (5.00 × 90 / 100)) = $987,821.38

    • VM = Pt - Pt-1

 

Swedish Government Future Calculations

Futures linked to Swedish Government Bonds are quoted in yield. For Eagle Accounting to correctly value these contracts, yields must be converted to a par-based prices. The attached spreadsheet contains a calculator based on the NASDAQ OMX Stockholm Fixed Income Derivatives documentation.

  • This spreadsheet also contains the VM calculation, which follows the same logic as US Treasuries listed above

  • Variation Margin Rule should be set to US Treasury

Reporting

STAR to PACE (S2P)

Almost all reports in Eagle Accounting leverage data from Data Management, which is populated by the S2P process. This will be scheduled as part of the daily workflow, but can also be triggered manually as described in the Accounting section.

The S2P process creates a single row for each Future in the POSITION, POSITION_DETAIL, TRADE, and CASH_ACTIVITY tables. The MARKET_VALUE_INCOME column captures the VM amount. Notional market value and notional cost are stored on the position.

Accounting Reports

Insurance Reporting

Data Management Reporting

Identify Trade Types with Netting

When the entity-level Net Futures Positions field is set to Yes, short trades do not have dedicated Event Types. This can make it difficult to identify the original purpose of each trade. In V17 R2.33 and above, you can infer this based on the information described below.

Trade Type

Event Type

Accounting (ESTAR_TRADED_CASH_ACTIVITY)

Data Management (CASH_ACTIVITY)

Trade Type

Event Type

Accounting (ESTAR_TRADED_CASH_ACTIVITY)

Data Management (CASH_ACTIVITY)

Long Open

OPENFUTURE

COST_LOT_OPEN_EVT_ID <> NULL
COST_LOT_CLOSE_EVT_ID = NULL

PERFORMANCE_FLOW_DESC = Positive

Long Close

CLOSEFUTURE

COST_LOT_OPEN_EVT_ID = NULL
COST_LOT_CLOSE_EVT_ID <> NULL

PERFORMANCE_FLOW_DESC = Negative

Short Open

CLOSEFUTURE

COST_LOT_OPEN_EVT_ID <> NULL
COST_LOT_CLOSE_EVT_ID = NULL

PERFORMANCE_FLOW_DESC = Positive

Short Close

OPENFUTURE

COST_LOT_OPEN_EVT_ID = NULL
COST_LOT_CLOSE_EVT_ID <> NULL

PERFORMANCE_FLOW_DESC = Negative

Performance

The performance toolkit calculates market value-based performance for Futures using data supplied by the S2P process. However, this can be misleading because traditional market values do not capture a Future’s true exposure. Exposure-based analyses, which can be implemented using Eagle Enrichment, calculate more meaningful returns. The documentation and .egl files are linked below. Additional details are available in Exposure Reporting Best Practices and the Eagle Enrichment User Guide 2015.

Automation

Future SMFs and trades can be loaded through the standard Message Center streams. The SMF must be loaded prior to the trade (trades do not spawn SMFs). Refer to Supported Generic Interfaces V17 for more information.

Example Messages

Variation Margin

Transaction Type

Default Message Center Stream

Sample Files

Variation Margin

Transaction Type

Default Message Center Stream

Sample Files

With VM

SMF Setup

eagle_default_in_csv_smf

Trade Open

eagle_default_in_csv_trades OR
eagle_default_in_csv_all

Partial/Full Close

eagle_default_in_csv_trades OR
eagle_default_in_csv_all

No VM

SMF Setup

eagle_default_in_csv_smf

Trade Open

eagle_default_in_csv_trades OR
eagle_default_in_csv_all

Partial/Full Close

eagle_default_in_csv_trades OR
eagle_default_in_csv_all

Â