Interest Rate Swaps (IRS) Best Practices

Interest Rate Swaps (IRS) Best Practices

Overview

This document applies to all releases of Eagle software V11 and above and covers the full lifecycle including Accounting, Data Management, and Performance. Version-dependent functionality is noted with the initial release(s) it became available.

Interest Rate Swaps (IRS) allow one party to make periodic floating rate interest payments to a counterparty in exchange for fixed rate payments (or floating rate payments based on a different underlying index, called Basis Swaps). Eagle Accounting supports both bilateral and cleared IRS in V12.1.2 and above, with this document focusing on bilateral contracts. Refer to Cleared Swaps Best Practices for more information on processing cleared IRS.

Support for Overnight Index Swap (OIS) accruals was added in V17 R2. The overnight index rates - US Fed Funds, EONIA (EUR), SONIA (GBP) - used for OIS accruals are based on an average of overnight unsecured lending between banks and are considered less risky than the standard interbank offer rates like LIBOR. They are often referred to as alternative reference rates (ARRs) or risk-free rates (RFRs). The rate typically refixes daily and is used to calculate a compounded rate of return. Support is available for both bilateral and cleared OIS.

Support for Amortizing Notional Swaps was added in V17 R2.30. These are swaps where the notional value decrease periodically throughout the life the contract. In some cases, known as Rollercoaster Swaps, the notional value can also increase temporarily, before eventually amortizing down to zero.

Support for bilateral Non-Deliverable Swaps (NDS) was added in V17 R2.41. These swaps are held and valued in a local non-deliverable currency, but all cash flows settle in a deliverable currency. Certain currencies are classified as non-deliverable because offshore trading is restricted, typically due to regulatory restrictions or other barriers. NDS are typically traded to gain exposure to Emerging Markets. Upfront and unwind proceeds can be processed in the applicable settlement currency through the Single-Event trade panel (see the Trade Processing section for details). Periodic coupon payments are supported by configuring the Dual Currency functionality: Dual Currency Securities Processing Notes. Cleared NDS with variation margin processing turned on in Eagle Accounting should be modeled using the Clearing Broker FX Rates functionality: Clearing Broker FX Rates Processing Notes.

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 Swaps Entity Setup Processing Notes for additional information.

Reference Data

Storage & Configuration

Eagle models IRS security master files (SMFs) as three rows in Data Management, each with its own Security Alias (10), linked by a common Primary Asset ID (14). Eagle Accounting must be set up to allow duplicate IDs for swaps by following the steps in Allow Duplicate Cross Reference Identifiers Processing Notes.

Refer to Multi-Leg SWAPIDs Processing Notes for information about the unique SWAPID identifiers that are automatically created for the contract and each leg of a multi-leg swap.

Market Data

At least one leg of an IRS always floats against an underlying interest rate index. Each index must be set up as an Index security using Reference Data Center (RDC) or Issue Viewer. 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 floating leg'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 Dated Date (or previous coupon date if swap is traded off-cycle) and each subsequent coupon date minus Reset Look-Back Days

OIS (V17 R2): refer to LIBOR Replacement & Alternative Reference Rates (ARR) Best Practices for details about processing OIS and other securities linked to ARRs.

Spread Changes (V17 R2): some TRS contracts include terms specifying that the floating rate spread changes periodically throughout the life of the deal. Eagle supports this with "time sensitive" functionality, which was expanded to include swaps in V17 R2. Spread changes are supported on coupon and non-coupon dates. Refer to Time Sensitive Processing Notes for details about modeling spread changes during the life of swap.

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. Refer to CDS & IRS Vendor Pricing Best Practices for details about adjusting par-based prices.

Security Data

IRS can be set up and maintained in RDC or Issue Viewer. Most data is entered on the contract and propagated to the legs. Specific reset and accrual conventions are entered separately on each leg. Eagle Accounting supports all combinations of leg-level attributes including fixed vs. floating rate, floating vs. floating (Basis Swap), and different day counts, payment frequencies, reset logic, business calendars, etc.

Contract

  • Issue Name (961)

  • Primary Asset ID (14) & Type (1432): ensure duplicate IDs are allowed (see Storage & Configuration section above)

  • Processing Security Type (3931) = SWCOIR (Interest 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 (IRS prices are sometimes supplied having already been multiplied by 0.01)

  • Issue Country (1418)

  • Asset Currency (85)

    • NDS: set to the local non-deliverable currency (V17 R2.41+)

  • Settlement Currency (63)

    • NDS: set to the deliverable currency for trade proceeds, such as USD, EUR, GBP, etc. (V17 R2.41+)

  • Income Currency (1186)

    • NDS (optional): set to the deliverable currency, set Dual Currency Indicator (11802) = Yes, and populate additional fields as described in Dual Currency Securities Processing Notes to settle coupons in the deliverable currency

  • Notional Reset Type (4409, V17 R2.30+): defines whether this is an Amortizing Notional Swap

    • A (Amortizing Notional): enables Amortizing Notional Swap functionality

      • Notional changes are processed as corporate actions

    • NA (Non Amortizing): same as null

  • Cleared Security (5027) = No

  • 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

  • Generate Swap Reset Schedule (2299, V17) = No 

    • A Swap Reset Schedule is only required to support automated corporate action processing for Total Return Swaps

    • Additional information about Swap Reset Schedules is available in Swap Reset Schedule Processing Notes

Legs

  • Processing Security Type (3931) = SWLEAC (Swap Leg Interest Accrual)

  • Coupon (70): enter stated rate for fixed leg and zero for floating/variable rate legs to indicate that actual rates must be viewed from VARIABLE_RATE table

  • Coupon Type (97): typically F (Fixed Rate) or X (Floating Rate), although I (Variable Rate) may be required in special cases

    • Both legs should be set to X (Floating Rate) for Basis Swaps

  • Day Count Basis (471): as specified in contract

  • Payment Frequency (472): as specified in contract

    • Typically MAT (At Maturity) for OIS

  • 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

    • Populate with NONE if Payment Frequency = MAT (At Maturity)

    • The following fields are conditionally required if Business Day Convention != NULL or NONE

      • 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

  • Day of Month Override (1533): set to WDC (Week Day of First Coupon) for swaps using the International Monetary Market (IMM) calendar, otherwise leave null

  • Delay Days (1799): can be used to delay cash settlement for X days past scheduled payment dates

    • Delay Days Type (5074): measure cash settlement delay in B (Business) or C (Calendar) days

  • First Payment Date (473): enter the actual first payment date, including any adjustment for weekends/holidays based on the Business Day Convention

  • Last Payment Date (474): enter the actual last payment date, including any adjustment for weekends/holidays based on the Business Day Convention

  • Floating Rate Fields

    • First Rate Reset Date (10911): enter the actual first reset date, including any adjustments for weekends/holidays

      • This should be the same as First Payment Date unless the rate resets more frequently

      • Enter Dated Date or Dated Date + 1 business day for OIS

      • If Reset Frequency != 1_D (Daily), setting First Rate Reset Date = Dated Date will trigger a "no variable rate" error when you attempt to book a trade

    • Reset Frequency (1788): same as Payment Frequency unless the rate resets more frequently; 1_D (Daily) for OIS

    • Reset Look-Back Days (10547): number of days prior to reset date to take new floating rate

    • Reset Look-Back 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 Days 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

      • Refer to Time Sensitive Processing Notes for details about modeling spread changes during the life of swap

Trade Processing

Beginning in V17 R2.27, there are two methods available for booking IRS trades:

  • Multi-Event: this was the only structure available prior to V17 R2.27

  • Single-Event: this was introduced in R2.27 to allow IRS to use additional lot selection methods beyond FIFO, LIFO, and IDLOT

    • NDS functionality requires Single-Event

    • Not available for Cleared Security = Yes

There are no differences in security setup or the resulting positions. You will still end up with separate positions for the contract and each leg. The difference when using Single-Event is that all data is entered on the contract and the leg transactions are spawned in the engine. The same applies to transactions entered via Message Center. 

Open (event type: OPENSWAP)

Trades are entered using the Book Trade module once the 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. Right-click it and select Open > Open Swap Contract or Open Swap Contract - Single Event.

If Accrual Convention Offset (12038) is set to Settlement Date + 1 on the entity, Accrual Convention Offset Override (1604) can be used to override the entity value and fall back to standard accrual processing for the resulting position.

Multi-Event

Most trade information is entered on the contract, with the exception of a few accrual-related fields on the legs.

Contract

  • Traded Interest/Effective Date (2857): date to which traded interest is calculated; typically Trade Date or T+1

    • IRS 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

  • Data Entry Method (10485): select Enter Price to supply a clean unit price or Enter Total Settlement Amount to supply the all-inclusive trade proceeds (both can be positive or negative)

    • Enter Price: cost (Principal) is calculated as Notional Principal Value * Price * Price Multiplier and Net Amount = Principal + Traded Interest

      • The legs of an IRS have no cost, and the contract has no traded interest

    • Enter Total Settlement Amount: cost (Principal) is calculated as Total Settlement Amount - Traded Interest and Net Amount = Total Settlement Amount

    • Depending on the type of trade (open or close) and sign of the Price or Total Settlement Amount, Eagle Accounting will post either a premium payment or premium receipt

      • Open @ Positive Price/Amount ---> Premium Payment

      • Open @ Negative Price/Amount ---> Premium Receipt

      • Close @ Positive Price/Amount ---> Premium Receipt

      • Close @ Negative Price/Amount ---> Premium Payment

  • Notional Principal Value (40): enter value specified in contract

  • 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): enter all-inclusive trade proceeds, including the effect of traded interest, if applicable

  • Broker (88)

  • Counterparty (1144): 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

  • Lot Level Dated Date (4411): the date from which traded interest will be calculated

    • To have Eagle Accounting calculate zero traded interest, set equal to Traded Interest/Effective Date

  • First Period Coupon Rate (1360): specifies the interest rate for the first accrual period

    • Eagle Accounting will start using the floating rate index after the first reset is processed

Single-Event

  • Traded Interest/Effective Date (2857): date to which traded interest is calculated; typically Trade Date or T+1

  • IRS 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

  • Data Entry Method (10485): select Enter Price to supply a clean unit price or Enter Total Settlement Amount to supply the all-inclusive trade proceeds (both can be positive or negative)

    • Enter Price: cost (Principal) is calculated as Notional Principal Value * Price * Price Multiplier and Net Amount = Principal + Traded Interest

      • The legs of an IRS have no cost, and the contract has no traded interest

    • Enter Total Settlement Amount: cost (Principal) is calculated as Total Settlement Amount - Traded Interest and Net Amount = Total Settlement Amount

    • Depending on the type of trade (open or close) and sign of the Price or Total Settlement Amount, Eagle Accounting will post either a premium payment or premium receipt

      • Open @ Positive Price/Amount ---> Premium Payment

      • Open @ Negative Price/Amount ---> Premium Receipt

      • Close @ Positive Price/Amount ---> Premium Receipt

      • Close @ Negative Price/Amount ---> Premium Payment

  • Notional Principal Value (40): enter value specified in contract

  • 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

  • Pay Traded Interest (17937): pay leg traded interest

  • Rec Traded Interest (17938): receive leg traded interest

  • Lot Level Dated Date (4411): the date from which traded interest will be calculated

    • To have Eagle Accounting calculate zero traded interest, set equal to Traded Interest/Effective Date

  • 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)

For NDS (where Settlement Currency != Asset Currency), the fields below also become required when Data Entry Method = Enter Total Settlement Amount (V17 R2.41+).

  • Total Settlement Amount Settle (18397): deliverable settlement amount

    • Total Settlement Amount Local is automatically calculated from this amount

  • Xrate Local Settle (66): the FX rate from Asset Currency to Settlement Currency

    • You can optionally override the value pulled from the entity’s FX Source (1344)

  • Conditionally shown when Commission and Fee Settle Separately (12860) = Yes

    • Comm Amount L (47): commission in local currency

      • Locked in release prior to V17 R2.48

    • Other Fee Local (3752): trade fee in local currency

      • Locked in release prior to V17 R2.48

    • Comm Amount S (17989): commission in deliverable currency

      • In V17 R2.48 and above, this is calculated automatically using Xrate Local Settle when Comm Amount L is populated, or it can be entered directly

      • In earlier releases, this must be entered directly

    • Other Fee S (17988): trade fee in deliverable currency

      • In V17 R2.48 and above, this is calculated automatically using Xrate Local Settle when Other Fee Local is populated, or it can be entered directly

      • In earlier releases, this must be entered directly

    • Commission Settlement Date (11579)

    • Other Fee Settlement Date (9357)

If the same date is used for Commission Settlement Date and Other Fee Settlement Date, the amounts are netted to a single cash record. Otherwise, separate records are created.

Close (event: CLOSESWAP)

The Book Trade module 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 or Close Swap Contract - Single Event. Like the open, most information is entered on the contract when using Multi-Event. Most fields on the close are the same as the open.

  • Accrual End Date (4412): defaults to Settlement Date, which results in Traded Interest through Settlement Date - 1 (similar to a bond)

    • To calculate through Trade Date (typical for IRS), populate with T+1

  • Lot Selection Method (27): defines the order in which lots are relieved

    • Inherited from the entity, but can be overridden

    • Closes must be processed using Identified Lot (IDLOT) in versions prior to V12.1.5.18, V13.1.2.15, and V15 R2

    • The Multi-Event method only supports Identified Lot (IDLOT), FIFO, and LIFO closes in the versions listed above and all subsequent releases

    • The Single-Event method supports any available Lot Selection Method (27) in V17 R2.27 and above except Modified FIFO (MFIFO), Best Tax (BTAX), Tax Advantage (TXADV), and Tax Efficiency (TXEFF)

Amortizing Notional Swaps (Pre-V17 R2.30)

In versions prior to V17 R2.30, a workflow can be implemented that produces the expected results. This involves booking a close (or open) for each scheduled notional amortization date. At each scheduled notional decrease date, enter a close trade at the same price as the open for the difference between remaining notional for the current period and remaining notional for the next period.

Conversion

The CONVERSION event is supported for IRS. This uses the core open swap panel rather than the dedicated conversion panel.

Cancel & Rebook

Faulty IRS transactions must be cancelled using Batch Cancel Trades, with the transaction rebooked using the Book Trade module. Ensure Level of Batchcancel (1256) is set to Entity Level. IRS are not supported in the Cancel & Rebook Trade process. Maturities must also be canceled using Batch Cancel Trades.

Accounting

Once an IRS trade is booked it will be picked up in Eagle’s global workflow. Daily accruals (whether positive, negative, or zero) 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. These can be scheduled or triggered manually.

Valuation

Eagle Accounting values IRS using clean unit prices on a par-zero basis (around zero rather than around 100). There is also functionality to take in a clean or dirty market values and convert it to a clean unit price.

  • 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.