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

« Previous Version 41 Next »

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.

Pay special attention to underlined sections, as these highlight the most frequently encountered issues. Bold is used for navigation, modules, and screens. Italics are used for fields, tables, and errors. Fixed width indicates values for fields or code/text that should be entered. Tags are shown in parentheses (#) after field names.

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

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

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 and 10-year Australian government bond futures, 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

    • 3Yr & 10Yr AUDGOVTBND: for Futures on Australian 3- and 10-year government bonds

      • Underlying Coupon Rate (4349: typically 6% (6.00)

      • Payment Frequency (472): typically Semi-Annual (S)

    • 20Yr AUDGOVTBND (V17): for Futures on Australian 20-year government bonds

      • Underlying Coupon Rate: typically 4% (4.00)

      • Payment Frequency: typically Semi-Annual (S)

    • AUD 90 Day Bank Bill: for Futures on Australian 90-day bank bills

    • US Treasury: for US Treasury futures

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

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.

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.

These events will be scheduled to run automatically in production, but can be triggered manually via Global Process Center (prior to V17) or Accounting CenterProcessing and Exceptions > Global Processes (V17 and above).

  • VM Calculation: Earnings > Trigger Variation Margin

    • Calculated based on day-over-day price changes using Variation Margin Rule from SMF

    • Allow Margin Rollback (16298, V17 R2): same functionality as Allow Earnings Rollback; default behavior is Yes if left null

      • Example: two backdated futures trades are entered and you want to run VM day-over-day through current date

      • Run for All Securities and set this field to No to prevent VM from being recalculated on all other positions

  • VM Approval: Earnings > Approve Variation Margin

    • Creates cash payable or receivable for VM amount

    • Moves VM amount to Market Value Income

    • By default, VM will settle the following business day if a Business Calendar is selected on the entity; if no calendar is selected, VM settlement date will be equal to VM approval date

  • VM Cash Settlement: Cash > Trigger Contractual Cash

    • Advance Variation Margin Settlement Date (2413)

      • Yes/null: cash settles on next business day (relies on entity-level business calendar)

      • No: cash settles on margin date

  • Accounting Valuation: Unrealized Gain Loss Entries > Post Daily Fund Unrealized Gain Loss-Position

    • This has no affect on Futures with Variation Margin = Yes because URGL is always zero due to VM being closed out to cash every day

  • Data Management Valuation: STAR to PACE Direct Processing > Transfer Data - Batch

Variation Margin: V15 R2 & Above

VM calculation and approval can be processed using a single event. Approve Margin (16005) has been added to the Variation Margin panel. If Approve Margin = Yes, Advance Variation Margin Settlement Date, and Margin Approval Frequency (16006) become visible.

  • Margin Approval Frequency

    • Daily: a payable or receivable is created for each day since last approval

    • Accumulated: a single payable or receivable for the net VM since last approval

Variation Margin: V17 R2 & Above

VM settlement date can be calculated based on a calendar linked to a security's exchange, using Add Exchange Calendar Relationship. This is especially valuable if you do not use entity-level calendars in Accounting. If you do, it will override the entity-level calendar. Once configured, the calculation of each day's VM cash settlement date (for all securities traded on a given exchange) will use the calendar linked to that exchange.

Rollback/Replay

Prior to V15 R2: if a backdated trade is booked, VM must be rolled back to TD-1 of the backdated trade, and then VM calculation and approval must both be replayed through current day.

V15 R2 & Above: if a backdated trade is booked, VM will automatically be replayed to the most recent VM date prior to the trade being entered. VM for the intervening days can either be approved Daily (a cash record for each day) or Accumulated (a single net cash record).

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

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 20-Year, 10-Year, & 3-Year Bond Future Calculations

Below is an excerpt from the Australian Futures Exchange on notional and VM calculations. The attached spreadsheet can be used to validate.

 Click here for calculation details...
  • 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:

    • 10-Year & 3-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

Please refer to the spreadsheet for rounding conventions used by this type of Future.

Australian Government 90-Day Bank Bill Future Calculations

Below is an excerpt from the Australian Futures Exchange on the notional and VM calculations.

 Click here for calculation details...
  • 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

Eagle has a core set of accounting reports that can be used to review Future information. These are designed to support the daily operational workflow for business users, allowing Grid Reports to be easily exported to Excel and customized to provide additional details as needed. Advanced Reports are intended to be client-facing and do not provide the same level of customization.

Refer to Derivatives Reporting Best Practices for additional guidance.

Insurance Reporting

To categorize derivatives for insurance reporting, such as the Schedule DB, Derivative Elections (56) must be set to Hedging Effective, Hedging Other, Income Generation, Replications, or Other on all trades. Leaving the default of Trade will prevent the transaction from appearing on insurance reports.

Data Management Reporting

General Reporting (Eagle OLAP)

OLAP reports provide the maximum level of customization, allowing any column in Data Management to be pulled into a report. These go beyond the Eagle Accounting Grid Reports because they are not limited by core queries, can support multiple sources and various types of calculations, and provide drill-down functionality based on user-defined groupings.

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)

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 https://eagledocs.atlassian.net/wiki/spaces/GENERICINTER for more information.

Example Messages

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

  • No labels