BEST PRACTICES GUIDE
BNY Mellon Data and Analytics Solutions
Instrument Engineering Team
Last Update:
...
TABLE OF CONTENTS
Table of Contents | ||||
---|---|---|---|---|
|
OVERVIEW
Forward Contracts (Forwards) allow two parties to buy and sell assets, most often currencies, at given prices on a specified future date. Eagle supports end-to-end processing of Forwards in V11.0 and all subsequent releases. This document covers the full lifecycle including Accounting, Data Management, and Performance. Refer to Bond Forwards Best Practices for information about processing Forwards on fixed income securities.
Non-Deliverable Forward (NDF) Contracts are FX transactions used as hedging mechanisms where a currency is so thinly traded that it cannot be physically delivered at expiration. Instead, it is replaced by a settlement between counterparties for the net profit/loss on the contract, calculated using the prevailing "spot fixing rate" from two days prior. The settlement occurs in a predetermined deliverable currency, often USD. Because NDF Contracts are similar to traditional Forwards until they reach "fixing" and settlement dates, Eagle’s core Forward functionality can also be leveraged for NDF Contracts, with some minor additional processing for fixing and rolling forward.
Include Page | ||||
---|---|---|---|---|
|
Example reference data screens, trade screens, and reports are attached:
- Forward: Forward Contract Examples.xlsx
- NDF Contract
ENTITY SETUP
Before any trades can be booked, the target entity must be set up appropriately.
Include Page | ||||
---|---|---|---|---|
|
REFERENCE DATA
Storage & Configuration
Eagle models Forward security master file (SMF) as two separate rows in Data Management, each with its own Security Alias (10), linked by a common Primary Asset ID (14). One row represents the buy side and the other represents the sell side.
Include Page | ||||
---|---|---|---|---|
|
Market Data
There are two options for pricing Forwards in Eagle. The first is to load prices the same way as other securities, except values are required on both legs. The other option is to have Eagle calculate prices based on prevailing spot FX rates and forward points, using either Prices and Exchange Rates Center or Pricing Center. Refer to the Valuation section for details about this process.
Security Data
There are also two options for setting up Forwards in Eagle depending on your entity-level value of Forward Security Exists. The first is to create SMFs before processing trades, the same way as other securities (Forward Security Exists = Yes
). The other is to create SMFs on the fly at the time of trade booking (Forward Security Exists = No
). Refer to the Trade Processing section for details about the latter workflow
...
NDF Contracts should be set up with the true non-deliverable currency on the buy or sell side.
TRADE PROCESSING
There are two options for trading Forwards in Eagle depending on your entity-level value of Forward Security Exists.
...
- Sell Quantity (366)
- Buy Quantity (316)
- Commission Amount Local (47)
- Other Fee Local (3752)
- Fee Settlement Date (9357)
- Settlement Currency (63): defaulted based on the entity-level Forward Settlement Currency, but can be overridden
- Broker (88)
NDF Contracts
Open
NDF Contract open trades should be booked just like any other Forward.
Fixing
On fixing date, an offsetting transaction must be entered for the non-deliverable currency to a) prevent any cash settlement of the non-deliverable currency and b) determine the net settlement amount of convertible currency. This transaction should have Trade Date = fixing date and Settlement Date = original Settlement Date. Both of the attached NDF spreadsheets show examples.
Roll
NDF Contracts can be rolled forward prior to the fixing date to extend the settlement date out into the future. This is done by entering an offsetting transaction as described in the Fixing section above with Trade Date = roll date, combined with a transaction in the original direction with Trade Date = roll date and the new Settlement Date. The Roll Forward 5-27 worksheet of the attached NDF Lifecycle.xlsx spreadsheet shows an example.
...
- We start by entering NDF A
- On roll date, we book NDF B to offset
NDF A, and we book NDF C with the new Settlement Date - On fixing date, we book NDF D to offset
NDF B, and we book NDF E to offsetNDF C - On the original Settlement Date, both pairs of the offsetting transactions are reduced to zero and realized gain/loss is locked in
- The end result is NDF C outstanding with the new Settlement Date
Cancel & Rebook
Faulty Forward transactions can be cancelled using Cancel Trade or Batch Cancel Trade, with the transaction rebooked using Book Trade. Forwards are not supported in the Cancel & Rebook Trade process.
- Modify Cancel Accounting Date can be used to change the accounting date associated with a cancel
ACCOUNTING
Once a Forward trade is booked, it will be picked up in Eagle’s global workflow. Accounting valuation is calculated when posting unrealized gain/loss and Data Management valuation is calculated in STAR to PACE. These can be scheduled or triggered manually.
- V17 & Above: Accounting Center > Processing and Exceptions > Global Processes
- Accounting Valuation: Unrealized Gain Loss Entries > Post Daily Fund Unrealized Gain Loss-Position
- Data Management Valuation: Eagle STAR to Eagle PACE Direct Processing > Transfer Data - Batch
- Maturities: Expirations & Maturities > Run Forward Contracts Maturity
- Prior to V17: Global Process Center
- Accounting Valuation: Unrealized Gain Loss Entries > Post Daily Fund Unrealized Gain Loss-Position
- Data Management Valuation: STAR to PACE Direct Processing > Transfer Data - Batch
- Maturities: Expirations > Mature Forward Contract
Valuation
If Forward prices are being sourced externally, they can be loaded directly to the appropriate leg.
...
- A Feed Type of
BFX
exists in Accounting; if it does not, it can be added as described in the Storage & Configuration section near the beginning of this document - The entity-level FX Source has a Feed Type of
BFX
listed as part of its Interfaces Details; this can be added using Add Interfaces Detail - The entity-level elections for Forwards have been populated: Forward Price Source, Forward Position by Broker, Forward Close Eligible, Forward Settlement Currency, and Forward Security Exists
- Note: these fields are not marked as required on the entity setup and there are no defaulted values
- The Forward SMF exists, either from being set up in advance or created on the fly at trade time
- The Forward is held in at least one entity
Prices and Exchange Rates Center
The rates and points Accounting uses to calculate forward prices can be loaded using the Window > FX Rates screen. Enter the Exchange Rate Source, To Currency Symbol, From Currency Symbol, and Effective Date and click SEARCH to submit the query. To Currency is the pricing currency (it should match entity-level Forward Price Source) and From Currency is the local currency of the leg. Effective Date is the date for which you are pricing.
...
- If a spot rate already exists for query criteria, it will be pulled into this screen
- The day-over-day spot rates are verified against each other; entering an unrealistic rate may result in a Tolerance Status of
FxRate Failure
- This can be overridden if necessary
- Points can be negative
- Only the points for the lower and upper bounds are required, the rest are optional to improve accuracy
- For example: if the number of days to maturity for a given Forward is 144 days, only the 3- and 6-month points are required to calculate the price
Forward Pricing Trigger
After the spot rate and points have been entered, the calculation can be triggered using the standalone Forward Pricing screen. This uses the ESTAR.PKG_ESTAR.INSERT_UKNOWN_PRICE stored procedure.
...
Once prices have been calculated, they can be viewed via the Window > Forwards screen. In this window, Forward Source is the entity’s Forward Price Source, not its FX Source. Successful pricing is indicated by a Tolerance Status of Forward Success
. The calculated prices are stored in the PRICE table.
Cross Currency Forwards
Similar steps should be followed to price cross currency forwards, where both currencies differ from the base currency of a fund. The only difference is that two sets of rates and points must be entered. One set is required for each leg against the pricing currency, as indicated by the entity's Forward Price Source.
Forward Pricing Formula
Prices and Exchange Rates Center interpolates forward prices using the below formulas:
...
In addition to the full walk-through example attached, there are two additional spreadsheets demonstrating the pricing calculations. Forward Price Calculations 8446.xlsx includes multiple different currency pairs, while Forward Price Calculations 8609.xlsx shows two different valuation dates for a single contract.
Pricing Center
Pricing Center differs from Prices and Exchange Rates Center in its data requirements for deriving a price. Pricing Center does not require the lower bound point to be loaded; instead, it substitutes the spot rate as the lower bound.
...
The Pricing Center process uses Exchange Rates - FX Rules to create demand for the original source and Exchange Rates - FX Validation Rules to move rates to the target source, which then become the basis for price interpolation. These events can be triggered manually, or scheduled to run as part of your daily workflow. Message Center streams to load exchange rates into Pricing Center are available in CSV and STAR formats: eagle_default_in_csv_pc_addfx and eagle_default_in_star_pc_addfx.
Include Page | ||||
---|---|---|---|---|
|
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.
...
- All local market value fields default to the leg quantity
- The price stored in the PRICE table is the one calculated by Pricing Center (or Prices and Exchange Rates Center) to be used to value the leg back to the base currency
- Price is set to
1.00
in the position and open lot tables
Accounting Reports
Eagle has a core set of accounting reports that can be used to review Forward and other security 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.
Insurance Reporting
Include Page | ||||
---|---|---|---|---|
|
Data Management Reporting
General Reporting (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 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.
PERFORMANCE
The performance toolkit has full functionality to calculate market value-based performance for Forwards using data supplied by the S2P process. Risk and performance attribution features are available to analyze Forward performance.
...
Note: there is an issue with performance when the entity election Forward Close Eligible is set to Yes
. Refer to # 2 in the Other Notes section for more details.
AUTOMATION
Forward security master files (SMFs) and trades can be loaded through the standard Message Center (MC) streams. Unlike other securities, the SMF does not need to be loaded prior to the trade if Forward Security Exists = No
. In this case, loading the trade will spawn an SMF (if necessary) in the same way as manual processing. Refer to the Supported Generic Interfaces guideV17 for more information.
- Ensure Trade Ticket Number (761) is populated for all Forward trades because it is required to process cancels
- FX rates can be loaded via MC through the default eagle_default_in_csv_fxrate stream
OTHER NOTES
- After posting the unrealized gain/loss, verify that the gain/loss values look reasonable.
- Performance issue when Forward Close Eligible is set to
Yes
. The Global Professional Services team has created an exporter to correct this issue (TRADEFWD performance_flow_descr Issue).
...