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 6 Next »

Overview

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

Currency (FX) Swaps allow one party to make periodic fixed or floating interest rate payments to a counterparty in one currency in exchange for fixed or floating rate payments in another currency. This document covers the full lifecycle including 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:


Content on this page:

Entity Setup

Before any trades can be booked, the target entity must be set up appropriately.

Unable to render {include} The included page could not be found.

Reference Data

Storage & Configuration

Eagle has modeled Currency Swaps as three rows in Data Management, each with its own Security Alias (10), linked by a common Primary Asset ID (14).

Unable to render {include} The included page could not be found.

To ensure each component of a swap always has a unique ID (other than Security Alias), SWAPID records are automatically added to the XREFERENCE table when a multi-leg swap is created. The Xreference Security ID Type (1234) is SWAPID and the Xreference Security ID (1233) is Primary Asset ID + C1, P1, or R1 for the contract, pay leg, and receive leg respectively

  • Example: if the swap's Primary Asset ID is SWAP175, the SWAPIDs will be SWAP175C1, SWAP175P1, and SWAP175R1

  • While swaps with more than three legs are not currently supported in Eagle Accounting, they are supported in Eagle's reference data products; swaps with additional pay and/or receive legs will be appended with P2, R2, P3, R3, etc.

Market Data

Unlike Interest Rate Swaps, both legs of a Currency Swap can have fixed interest rates (if that is the case, skip ahead to the last paragraph of this section). However, at least one leg typically floats against an underlying interest rate index. Each index must be set up as an Index security using Issue Viewer, Security Reference Manager (SRM), or Reference Data Center (RDC). Other than identifiers, the only information that has to be entered is the currency.

Once the index has been setup, floating rates can be loaded using Add Variable Rate. Eagle Accounting will automatically pull the appropriate rates into the accrual process based on the Currency Swap’s First Rate Reset Date (10911), Reset Frequency (1788), and Reset Look-Back Days (10547).

  • Interest rates must be loaded to the underlying index back to issue date (or previous coupon date if swap is traded off-market)
  • Interest rates must also be loaded for each reset date (or reset date minus look-back days, which are discussed further in the following section)

Pricing in Eagle is done on a par-zero basis (prices around zero), so par-based prices (around 100) will have to be adjusted to generate the appropriate valuations.

Security Data

Currency Swaps can be set up and maintained in Issue Viewer, SRM, or RDC. Most data is entered on the contract and propagated to the legs. Fields that define specific accrual conventions must be entered separately on each leg. Eagle Accounting supports all combinations of leg-level attributes including fixed vs. floating rate, floating vs. floating rate, and different day counts, payment frequencies, reset logic, business day conventions, and business calendars

Contract

  • Issue Name (961)
  • Primary Asset ID (14) & Type (1432): ensure duplicate IDs are allowed (see Storage & Configuration section above)
  • Processing Security Type (3931) = SWCOCR (Currency Rate Swap Contract)
  • Price Multiplier (18): the default of 0.01 will be correct in most cases, but may need to be changed to 1.00
    • Currency Swap prices are sometimes supplied having already been multiplied by 0.01
  • Issue Country (1418)
  • Asset Currency (85): the trading and pricing currency of the contract
    • Typically this will match either the pay or receive leg, but it can be different
  • Initial (8554) & Final Exchange of Principal (8555): defines whether there is an initial and final exchange of notional
    • The fields are dependent on each other, so both will be set to either Yes or No
    • If the contract stipulates an exchange at the beginning or end (not both), this can be accomplished when booking the trade
  • Cleared Security (5027) = No
    • If you are currently trading cleared Currency Swaps, please contact Instrument Engineering
  • Issue Date (68): first trade date of the swap
  • Dated Date (1183): date accruals start, "Effective Date" in ISDA contracts
  • Maturity Date (38): date swap expires, "Expiration Date" or "Termination Date" in ISDA contracts

Legs

  • Processing Security Type (3931) = SWLEAC (Swap Accrual Leg)
  • Asset Currency (85): the pay leg should be populated with the currency of interest payments, while the receive leg is populated with the currency of interest receipts
  • Coupon (70): enter stated rate for fixed legs, or zero for floating/variable rate legs to indicate that actual rates must be viewed from the VARIABLE_RATE table
  • Coupon Type (97): typically fixed or floating, variable rate may be required in special cases
  • Day Count Basis (471): select appropriate day count basis for each leg as specified in the contract
  • Payment Frequency (472): select appropriate payment frequency for each leg
  • Business Day Convention (1536): typically Modified Following, which is ADJMBC (Modified Following - Adjusted) in V15 R2 and above, ADJMBC (Modified Business Day - Adjusted) below V15 R2
  • Coupon Day of Month (10551): day of the month that payments are scheduled to be made, which will be automatically adjusted based on the Business Day Convention
  • Business Calendar (1480): as specified in the contract; a composite calendar (including dates from two different calendars) may need to be setup in some cases
  • Delay Days (1799): can be used to delay cash settlement for X days past scheduled payment dates
  • Delay Days Type (5074): whether delay days are measured in business or calendar days
  • First (473) & Last Payment Date (474): enter the actual first and last payment dates, including any adjustments for weekends/holidays (these dates, combined with the coupon day of month, are used to project the payment schedule)
  • Floating Rate Fields (if applicable)
    • First Rate Reset Date (10911): enter the actual first reset date, including any adjustments for weekends/holidays (same as first payment date unless the rate resets more frequently)
    • Reset Frequency (1788): same as payment frequency unless the rate resets more frequently
    • Reset Lookback Days (10547): number of days prior to reset date to take new floating rate
    • Reset Lookback Days Type (5075): whether reset look-back days are measured in business or calendar days
    • Fixing Date Business Center (16407, V15 R2.18): select calendar used for floating rate resets, which may be different than the calendar used for payment dates; this calendar will be used in lieu of the main Business Calendar when applying the Reset Look Back for fixing dates
    • Underlying Security (1347): select appropriate floating rate index security
    • Spread/Index Offset (215): spread above or below the floating rate, entered in basis points (0.55% = 55)
      • When a floating rate (0.25%) plus negative spread (-55 bps) goes negative (effective rate = -0.3%), accruals and coupons are posted in the appropriate direction

Trade Processing

Open (transaction type: OPENSWAP)

Trades are entered using Book Trade once the entity and reference data have been configured. Enter the appropriate entity, security identifier, and trade (35)/settle dates (37) and click Submit to query for the security. Right-click it and select Open > Open Swap Contract. Most remaining trade information is entered on the legs.

Contract

  • Traded Interest/Effective Date (2857): date to which traded interest is calculated; typically Trade Date or T+1
    • CCS sometimes have Trade Date = Settlement Date, where Traded Interest/Effective Date needs to be T+1 to calculate correct traded interest and accruals
  • Select Values to be Calculated by STAR (7000)
    • Traded Interest: Eagle Accounting will calculate and create cash records for traded interest (only applicable for off-market trades)
    • Calculate None: traded interest can be entered manually
  • Notional Principal Value (40): enter value specified in contract; this will be used for valuation
  • Price (45, if applicable): enter par-zero price (around zero)
    • Par-100 prices (around 100) must be converted to par-zero in order to have Eagle Accounting calculate the correct cost and cash
  • Total Settlement Amount (4404, if applicable): enter all-inclusive trade proceeds, including the effect of traded interest
  • Broker (88)
  • Counterparty (1144, optional): the counterparty can be selected from a list of all Issuers that have been tagged as counterparties (see Setting Up Legal Entities Best Practices for more information)

Legs

  • Notional Principal Value (40): if the currency of one leg matches the contract, this will be automatically populated for that leg
    • Enter the offsetting notional on the other leg
  • Select Values to be Calculated by STAR (7000)
    • Traded Interest: Eagle Accounting will calculate and create cash records for traded interest (only applicable for off-market trades)
    • Calculate None: traded interest can be entered manually
  • Lot Level Dated Date (4411, optional): for swaps traded in multiple lots, this field specifies the date from which traded interest will be calculated for each lot (the contract’s dated date if null)
    • To have Eagle Accounting calculate zero traded interest, set this field equal to Traded Interest/Effective Date
  • First Period Coupon Rate (1360, floating rate legs only, optional): for swaps traded in multiple lots, this field can be used to override the floating rate for the first accrual period (Eagle Accounting will start using the floating rate index after the first reset is processed)
  • Notional Exchange Fields (only visible if Initial & Final Exchange of Principal are set to Yes): these only have to be entered on one leg and the values will be propagated to the other legs; refer to the graphic below for an example
    • Paying Leg Initial Cash Amount (316): cash being received at contract initiation
    • Receiving Leg Initial Cash Amount (366): cash being paid at contract initiation
    • Paying Leg Forward Units (8317): cash being paid at contract termination
    • Receiving Leg Forward Units (8318): cash being received at contract termination

Transaction

Pay Leg: KRW

Receive Leg: USD

Open

Pay Notional in USD

  • Paying Leg Initial Cash Amount = Notional in USD

Receive Notional in KRW

  • Receiving Leg Initial Cash Amount = Notional in KRW

Daily Accrual

Pay accrual on KRW notional

Receive accrual on USD notional

Termination

Pay Notional in KRW

  • Paying Leg Forward Units = Notional in KRW

Receive Notional in USD

  • Receiving Leg Forward Units = Notional in USD

Close (transaction type: CLOSESWAP)

Book Trade should also be used to process both full and partial terminations. Enter the same identifiers as the open to query for the security. Right-click it and select Close > Close Swap Contract. Partial terminations will reduce notional on the legs proportionately to notional closed on the contract. All fields on the close are the same as the open, except for a few mentioned below.

Contract

  • Lot Selection Method (27): IRS can be closed using either FIFO or IDLOT
    • If Lot Level Dated Date is used to override the initial rate and a FIFO close is booked before the next reset, traded interest calculated by Eagle Accounting may be incorrect because it will be based on the SMF attributes
      • In these cases, traded interest can be entered instead of calculated
  • Notional Exchange (16736, V17 R2)
    • Yes: results in a cash exchange proportional to the notional closed out and reduces the final exchange obligations
    • No: results in no change to the final exchange amounts; this is the default value and is how all closes worked prior to V17 R2
  • Notional Principal Value (40): enter the notional being closed

Legs

  • Notional Principal Value (40): this will be automatically calculated from the amount entered on the contract.
  • Accrual End Date (4412): by default the legs will continue to accrue through Settlement Date - 1 (similar to a bond)
    • To accrue through Trade Date, populate Accrual End Date with Trade Date + 1

Mature/Expire

Currency Swaps will be picked up by the Mature process automatically on Maturity Date. The final exchange of notional (indicated on the initial open) is triggered as part of the maturity process and final coupon payments are dropped as part of the accrual process.

Cancel & Rebook

Faulty Currency Swap transactions must be cancelled using Batch Cancel Trades, with the transaction rebooked using the Book Trade module. Currency Swaps are not supported in the Cancel & Rebook Trade process. Maturities must also be canceled using Batch Cancel Trades.

Accounting

Once a Currency Swap trade is booked it will be picked up in Eagle’s global workflow. Daily accruals and periodic coupons are generated as part of the earnings process, Accounting valuation is calculated when posting unrealized gain/loss, and Data Management valuation is calculated in STAR to PACE. Currency gain/loss is calculated automatically using the market FX rates. These can be scheduled or triggered manually.

  • V17 & Above: Accounting Center > Processing and Exceptions > Global Processes

    • Accruals: Earnings > Run Income Accruals

    • 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

  • Prior to V17: Global Process Center

    • Accruals: Earnings > Accrue

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

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

Valuation

Currency Swaps are valued using clean unit prices. The notional value of each leg is converted to the fund’s base currency using the best available FX rate. The market value can be positive or negative depending on FX and interest rate movements.

Prices are entered at the contract level using Add Issue Price. The market value formula is:

  • Market Value = Notional Amount * Price * Price Multiplier * Quantity Scale
  • Clean prices (excluding accrued interest) must be supplied to avoid double-counting
    • Eagle Accounting assumes that swaps have the same prices across all accounts, so entity-level price overrides must be used to accommodate different prices
    • If the use of dirty prices is required, the legs should be setup to not accrue (this can be done by entering fixed rate coupons of zero, which also suppresses cash payments)

Prices should not be entered at leg level with Eagle Accounting. Non-Eagle Accounting clients can enter leg-level prices that net to the swap's total value, but Eagle Accounting was not designed to support this.

Accruing on Negative Interest Rates

If a swap leg is long, Eagle Accounting makes negative postings to a receivable account. If the swap leg is short, the negative postings are to a payable account. Swap accrual postings are not made to the opposite account (payable vs. receivable) when accruing on negative interest rates.

Reporting

STAR to PACE (S2P)

Almost all reports in Eagle 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 Currency Swaps (CCS) Best Practices#Accounting section.

The S2P process creates three rows for each Currency Swap in the POSITION, POSITION_DETAIL, TRADE, and CASH_ACTIVITY tables. The MARKET_VALUE_INCOME column for each row captures a portion of the total market value.

  • Contract: market value due to price fluctuations
  • Pay Leg: market value due to period-to-date accrual payable, converted to base using best available FX rate
  • Receive Leg: market value due to period-to-date accrual receivable, converted to base using best available FX rate

Accounting Reports

Eagle has a core set of accounting reports that can be used to review CCS 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.

CCSs are displayed as three separate rows. The contract and legs are intended to be displayed together, but may be broken into different areas depending on the report’s groupings (long/short, for example).

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.

Performance

The performance toolkit calculates market value-based performance for Currency Swaps at the contract (price changes) and leg (accruals paid/received) levels using data supplied by the S2P process. However, this can be misleading because swaps use notional values and typically start with a market value of zero. Exposure-based analyses, which can be implemented using Eagle Enrichment, calculate more accurate returns.

Exposure

Exposure reporting and analysis are available in the product suite, but some accounting data must be augmented via Eagle Enrichment. Currently there are no default rules to calculate exposure for Currency Swaps, so Eagle is looking for clients to help define how these rules should be configured to provide the required exposure values. Please contact Instrument Engineering for more information. Additional details are available in Exposure Reporting Best Practices and the Eagle Enrichment User Guide 2015.

Automation

Multi-leg swap security master files (SMFs) and trades can be loaded through the standard _all streams in Message Center (MC) in addition to the dedicated _smf and _trades streams. SMFs must be loaded prior to trades (trades do not spawn SMFs) and both must be sent as three-row files (contract, pay leg, receive leg) in versions prior to V17 R2.27. Beginning in V17 R2.27, Interest Rate Swap, Total Return Swap, and Inflation-Linked Swap trades can be entered as single rows using the Single Event method (refer to https://eagledocs.atlassian.net/wiki/spaces/IE/pages/1658978617/Interest+Rate+Swaps+IRS+Best+Practices#Trade-Processing and https://eagledocs.atlassian.net/wiki/spaces/IE/pages/1658978705/Total+Return+Swaps+TRS+Best+Practices#Trade-Processing for additional information).

  • Ensure Trade Ticket Number (761) is populated for all multi-leg swap trades because it is required to process cancels and IDLOT closes

    • The same value is copied to Batch Identifier (701)

    • You cannot use Batch Cancel Trade if Trade Ticket Number was null on the original trade because Batch Identifier will be null

    • Trade Ticket Number should be the same across all rows for a particular trade, but unique for each trade

    • IDLOT closes must be entered with Target Trade Ticket Number (762) = Trade Ticket Number (761) of the open lot to cancel

    • Multi-leg swap cancels can be entered through Message Center as a single row with Target Trade Ticket Number (762) = Trade Ticket Number (761) of the transaction to be cancelled  

      • Set Long/Short Indicator (15) based on the contract-level: L to cancel long transactions or S to cancel short transactions

      • This is automatically routed to Batch Cancel Trade

  • Multi-leg swap prices and other reference data, such as variable rates, can also be loaded via default streams

    • To accomplish this, tag 4590 (Swap Type/Component) must be included in the message

      • 4590 = C to price the contract

      • 4590 = P or R price the pay or receive leg respectively

    • Either combination of these tag can be used for security resolution:

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

      • 1233 (Xreference ID) and 1234 (Xreference ID Type)

      • When loading variable rates, 961 (Issue Name) must be included as well

CCS prices must be loaded to the contract only. Make sure you set tag 4590 = C in your price message.

Sample messages for the standard interfaces are listed below.

Transaction TypeDefault Message Center StreamSample Files
SMF Setupeagle_default_in_csv_smf

CHAMBERSCCS Add SMF.csv

CITSWCCS Add SMF.csv

Trades (Opens & Closes)

eagle_default_in_csv_trades OR
eagle_default_in_csv_all

CHAMBERSCCS Open Trade.csv

CITSWCCS Open Trade.csv

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.