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 | Set Variation Margin to |
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 of0.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 and650
for 20-year (older 20-year issuances used500
, 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 FutureNo
: 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 calculation3-Year Australian Govt. Bond
&10-Year Australian Govt. Bond
: for Futures on Australian 3-year and 10-year government bonds that use yield-based pricingUnderlying Coupon Rate (4349: typically 6% (
6.00
)Payment Frequency (472): typically
Semi-Annual (S
)
5-Year Australian Govt. Bond
: for Futures on Australian 5-year government bonds that use yield-based pricingUnderlying Coupon Rate (4349: typically 2% (
6.00
)Payment Frequency (472): typically
Semi-Annual (S
)
20-Year Australian Govt. Bond
(V17): for Futures on Australian 20-year government bonds that use yield-based pricingUnderlying Coupon Rate: typically 4% (
4.00
)Payment Frequency: typically
Semi-Annual (S)
90-Day Australian Bank Bill
: for Futures on Australian 90-day bank bills that use yield-based pricingUS 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 = | No VM = | No VM = | No VM = |
Long-Short Indicator (15) | L (LONG) | S (SHORT) | L (LONG) | S (SHORT) |
Net Futures Positions (632) = | 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) = | 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 treatedCapital
: they do not generate any cash movement and instead are rolled into cost; Cost = (Contracts * Price per Contract) + Commission + FeesExpense
: 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 isCapital
)Capital
: added to notional cost and reflected in CASH when the VM process is run for Trade Date; Notional Cost = (Contracts * Price) + Commission + FeesExpense
: 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.
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 nullExample: 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 toNo
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 approvalAccumulated
: 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 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
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.
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 investment accounting reports for trade, position, and cash activity 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 flexibility.
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 toHedging 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 | PERFORMANCE_FLOW_DESC = Positive |
Long Close | CLOSEFUTURE | COST_LOT_OPEN_EVT_ID = NULL | PERFORMANCE_FLOW_DESC = Negative |
Short Open | CLOSEFUTURE | COST_LOT_OPEN_EVT_ID <> NULL | PERFORMANCE_FLOW_DESC = Positive |
Short Close | OPENFUTURE | COST_LOT_OPEN_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 | ||
Partial/Full Close | eagle_default_in_csv_trades OR | ||
No VM | SMF Setup | eagle_default_in_csv_smf | |
Trade Open | eagle_default_in_csv_trades OR | ||
Partial/Full Close | eagle_default_in_csv_trades OR |
Add Comment