Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Version published after converting to the new editor

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 (IRSs) 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 IRSs 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 IRSs.

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. The floating rate typically refixes daily and is used to calculate a compounded rate of return. Support is available for both bilateral and cleared OIS as detailed in the 2006 ISDA Definitions.

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.

Include Page
IE Formatting Notes
IE Formatting 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 by following the steps here: Allow Duplicate Cross Reference Identifiers Processing Notes.

Refer to Multi-Leg SWAPIDs Processing Notes for information about the unique IDs 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 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 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): in addition to the overnight "published index" (set up like any other floating rate index), a secondary "calculation index" must be created to calculate the compounded rate of return. The compounded rate of return is used by Eagle Accounting to calculate accruals, while still allowing the overnight published index rates to be loaded as usual. Refer to LIBOR Replacement & Alternative Reference Rates (ARR) Best Practices for details about processing OIS and other securities linked to RFRs.

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

IRSs can be set up and maintained in Issue Viewer, SRM, or RDC. 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)
  • 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 here: 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 (473) & Last Payment Date (474): enter the actual first and last payment dates, including any adjustments for weekends/holidays
  • 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; calculation index for OIS
    • 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:

  • Multiple Events: this was the only method 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
    • 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 the Single Event method 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.

Multiple Events

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


Expand
titleClick here for details about Multiple Events...

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: for the contract and each leg, 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
    • 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
  • 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

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

Single Event


Expand
titleClick here for details about Single Event...

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: for the contract and each leg, 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
    • 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
  • 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)

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 Open Swap Contract - Single Event. Like the open, most information is entered on the contract when using Multiple Events. Almost all 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 Multiple Events method only supports Identified Lot (IDLOT), FIFO, and LIFO closes in the versions listed above and all subsequent releases
    • The Single Events method supports any available Lot Selection Method (27) in V17 R2.27 and above

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 screen, rather than the dedicated conversion screen.

Cancel & Rebook

Faulty IRS transactions must be cancelled using Batch Cancel Trades, with the transaction rebooked using the Book Trade module. IRSs 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 resets 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.

Include Page
Fixed Income Global Processing Notes
Fixed Income Global Processing Notes

Valuation

Eagle Accounting values IRSs 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.

Eagle Accounting assumes that swaps have the same prices across all accounts. If this is not the case, entity-level price overrides can be used to accommodate different prices.

Clean Prices

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 par-zero prices must be supplied to avoid double-counting accrued interest and overstating the market value

Prices should never be entered at leg level when Eagle Accounting is used. Non-Eagle Accounting clients have the option of entering leg-level prices only, that net to the total value of the swap. This should only be done if necessary to accommodate other systems.

Clean or Dirty Market Values

Some swaps are priced using clean or dirty market values, more often the latter. Accounting has a process to “clean up” these market values and convert them to clean unit prices. Refer to Dirty MV Calculation Example.xlsx for detailed formulas.

Note: this process can only be used when each CDS is only held in a single fund, which is typical for market value-priced swaps.

Market values are entered using Insert/Update Price Exchange.

  • Price Date (1109)
  • Original Price (893): Clean Market Value or Dirty Market Value
  • Price Type Code (1843): select Clean Market Value or Dirty Market Value based on available data
  • Units (40): enter the notional of the IRS, which must match the notional of the position in Eagle Accounting (the process will error out if there is a mismatch in notional)

Once the market value is entered use Global Process Center > Calculate Clean Unit Price to trigger the calculation. This can be done for a particular swap or all swaps for a specified date, or scheduled as part of the daily workflow. There are two flags that must be set before triggering the process:

  • Reprice Flag (1844): Yes updates the existing clean price for the selected Source, No leaves the existing price in the database
  • Pricing Center Flag (1257): Yes inserts/updates the clean unit price in the price exchange table used by Pricing Center and the price table, No inserts/updates it in the price table only

Amortizing Notional Swaps (V17 R2.30)

Changes in notional are processed as corporate actions. The announcements are added at the contract level and applied proportionately to both legs. To create one, open Reference Data Center > Corporate Actions > Announcements > Create Amortizing Notional or Issue Viewer > Corporate Action Announcements > Amortizing Notional and query for your IRS.

  • Sweep Date (1197): date when Eagle Accounting’s global corporate action process will pick up the change in notional
  • Ex Date (65): effective date of the change in notional
  • Corporate Action Status (54): select Released to initiate the change in notional when the global corporate action process runs for the Sweep Date
    • Select Pending or Incomplete to simply store the announcement and not have it process automatically
  • Prior Notional Amount (1725): from the previous period
  • Current Notional Amount (1712): from the new period
  • Percent Change In Notional Amount (1001): calculated automatically as (Current Notional Amount - Prior Notional Amount) / Prior Notional Amount * 100 
    • This rate is applied proportionately to both legs
  • Corporate Action Type (1728) = Amortizing Notional

The global corporate action process will be scheduled to run in production similar to other global events, but it can also be triggered manually via Accounting Center > Processing and Exceptions > Global Processes > Corporate Actions > Amortize Notional.

Accruing on Negative Interest Rates

Include Page
Journal Entries for Negative Interest Rate Accruals Processing Notes
Journal Entries for Negative Interest Rate Accruals Processing Notes

Mature/Expire

IRSs will be picked up by Eagle Accounting’s core maturity process. This will be scheduled in production environments, but can be triggered manually via Accounting Center > Processing and Exceptions > Global Processes > Expirations & Maturities > Run Mature Process (V17) or Global Process Center > Expirations > Mature (prior to V17).

There is no cash component to the IRS maturity event itself because swaps have a Maturity Price of zero and final coupon payments are dropped as part of the accrual process.

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 three rows for each IRS 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 Position: market value due to price fluctuations
  • Pay Leg Position: market value due to period-to-date accruals payable
  • Receive Leg Position: market value due to period-to-date accruals receivable

Accounting Reports

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

IRSs 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

Include Page
Derivatives Insurance Reporting Processing Notes
Derivatives Insurance Reporting Processing Notes

Data Management Reporting

Include Page
General Reporting (Eagle OLAP) Processing Notes
General Reporting (Eagle OLAP) Processing Notes

Performance

The performance toolkit calculates market value-based performance for IRSs 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 meaningful returns. The documentation and .egl files are linked below. Additional details are available in Exposure Reporting Best Practices and Manage Eagle Enrichment.

Automation

Refer to Multi-Leg Swap Automation Processing Notes for general information about multi-leg security setup and trade processing via Message Center.

Additional notes for IRS:

  • When booking trades, Data Entry Method (10485) should be populated for the contract and legs
  • For valuation, prices must be loaded to the contract only by setting tag 4590 = C in your price message

Sample messages for the standard interfaces are listed below.

Transaction TypeCSV StreamCSV Sample FilesEagleML StreamEagleML Sample Files
SMF Setupeagle_default_in_csv_smf

IRS - SMF - Multiple Events.csv

IRS - SMF - Single Event.csv

Note: these SMF files are identical other than the identifiers.

eagle_ml-2-0_default_in_xml_smf_generic

IRS - SMF - Multiple Events.xml

IRS - SMF - Single Event.xml

Note: these SMF files are identical other than the identifiers.

Tradeseagle_default_in_csv_trades OR
eagle_default_in_csv_all

IRS - Open - Multiple Events.csv
IRS - Close - Multiple Events.csv

IRS - Open - Single Event.csv
IRS - Close - Single Event.csv

eagle_ml-2-0_default_in_xml_acct_trades

IRS - Open - Multiple Events.xml
IRS - Close - Multiple Events.xml

IRS - Open - Single Event.xml
IRS - Close - Single Event.xml