iBoxx Total Return Swaps (TRS) Best Practices

Overview

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

An iBoxx Total Return Swap (TRS) is a standardized flavor of TRS issued by Markit that allows investors take a synthetic position on an iBoxx index. There are several flavors of iBoxx indices that can be used to acquire or hedge exposure to corporate bonds, leveraged loans, and commercial mortgage-backed securities, but they all use the same calculations and date schedule. Payments are made in accordance with the International Monetary Market (IMM) calendar (20th of March, June, September, and December), adjusted for non-business days. All flavors of iBoxx TRS can be modeled using Eagle's core TRS functionality. Refer to  for more details about general TRS processing.

Example reference data screens, trade screens, and reports along with the Markit iBoxx TRS User guide are attached:

Entity Setup

Before any trades can be booked, the target entity must be set up appropriately. Refer to  for details.

Reference Data

Storage & Configuration

Eagle has modeled iBoxx TRS 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 .

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

Market Data

Return leg payments are generally paid out at maturity (bullet) and derived from underlying iBoxx indices which can be linked to the return leg by entering its ID in the Underlying Information section. While TRS are valued based on the underlying's price, the price must be entered directly to the return leg.

The finance leg of an iBoxx TRS accrues interest using an underlying floating rate index. The applicable rate for the Floating Leg in each IMM (International Monetary Market) quarter is determined by the index currency on which the TRS is traded. For example, a TRS on iBoxx USD Liquid High Yield would be funded with USD ICE Libor (3 month). Each index must be set up as an Index security using Issue Viewer or Reference Data Center (RDC). 

Once the index has been set up, floating rates can be loaded using Add Variable Rate. Eagle Accounting will automatically pull the appropriate rates into the accrual process based on the finance leg’s floating rate reset terms.

Interest rates must be loaded to the underlying index back to Dated Date (or previous reset date if swap is traded off-cycle) and each subsequent reset date (factoring in any lookbacks or observation shifts).

Security Data

TRS can be set up and maintained in Issue Viewer 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.

Contract

  • Processing Security Type (3931) = SWCOTR (Total Return Swap Contract)

  • Price Multiplier (18): can be 0.01 or 1.00 as the contract is not used for valuation

    • Set to 1.00 when using RDC (the value will propagate down to the return leg, which requires a value of 1.00)

  • Quantity Scale (19) = 1.00

  • Notional Reset Type (4409): set to Constant Notional as the total return of the index referenced in the trade would be paid out at maturity

  • Maturity Delay Days (3997): we recommend setting this to 1 to prevent the position from being automatically matured before the final reset price is received

  • Maturity Delay Days Type (3998) = B (Business)

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

    • A Swap Reset Schedule is only required to support automated corporate action processing, and iBoxx TRS are ineligible for corporate actions

Return Leg

  • Processing Security Type (3931) = SWLXEQ (Swap Leg Total Rate Return on Equity)

  • Price Multiplier (18) = 1.00

  • Payment Frequency (2287) = MAT (At Maturity)

  • Delay Days (1799): 3 per the Markit iBoxx TRS Guide

  • Delay Days Type (5074) = B (Business)

Finance Leg

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

  • Coupon Day of Month (10551): 20 per the Markit iBoxx TRS Guide

  • Delay Days (1799) = 0

  • Reset Look-Back Days (10547) & Type (5075): contracts traded prior to December 20, 2021 use 2 B (Business) for USD/EUR and 0 for GBP per the Markit iBoxx TRS Guide

    • Contracts traded from December 20, 2021 onward may use alternative reference rates (ARRs) with a backward-shifted observation period (BSOP) and should be set up with the appropriate conventions per the term sheet

Trade Processing

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 and select Open > Open Swap Contract. If your workflow involves stacking multiple lots of the same iBoxx contract, please refer to .

Starting in 2016, iBoxx TRS adopted the Full First Coupon Convention in which all floating coupon payments made by the index buyer to the index seller are for the entire quarterly coupon period. Therefore, OPENSWAP trades will have traded interest on the finance leg that is calculated since last IMM date; this amount is the upfront payment made from the index seller to the index buyer to compensate for the full coupon that will be paid at the end of the quarterly period.   

Contract

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

  • Swap Fee Local (7510): paid, received, or zero; represents the fee paid to enter the TRS (typically zero)

  • Broker (88)

Return Leg

  • Notional (7782): enter total notional of the swap

    • Shares (40) is calculated automatically after the price is entered

  • Price (45): initial price of the underlying return leg asset (i.e. price per share)

  • Commission (47) & Other Fee (3752): enter any commissions and/or fees; these are factored into the notional value calculation on the finance leg for the initial period, but not exchanged in cash

  • Local Net Amount (50): calculated automatically as Notional + Commission

    • This is used to establish the cost

Finance Leg

  • Shares (40): this represents the notional value and is calculated automatically as return leg Local Net Amount

  • Traded Interest Local (49): interest bought or sold, calculated from Dated Date or last coupon date

    • This initial payment is made by the index seller to the index buyer to compensate for the floating rate over payment that the index will make at the end of the initial period

  • Lot Level Dated Date (4411): optional; used to override Dated Date on a particular to suppress the calculation of traded interest

    • Setting this equal to Traded Interest/Effective Date will cause traded interest to be calculated as zero

  • First Period Coupon Rate (1360): optional; overrides the interest rate for the initial income accrual period

    • Eagle Accounting will automatically start using the appropriate interest rates after the next reset is processed

Close (event type: CLOSESWAP)

The Book Trade module should also be used to process both full and partial terminations. Enter the same information as the open to query for the security. Right-click it and select Close > Close Swap Contract. If your workflow involves stacking multiple lots of the same iBoxx contract, please refer to .

Traded interest on the finance leg, if applicable, can either be entered manually or calculated by Eagle Accounting. This will be included in trade proceeds on the finance leg.

  • 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 (4412) with Trade Date + 1

Constant Notional: Similar to the open, constant notional TRS closes are entered based on notional value rather than # of shares.

  • Close Notional (7782, return leg): portion of notional being closed

    • This is pulled into finance leg Shares and the panel calculates the proportional number of Shares being closed

  • Return Leg Principal (165): number of Shares calculated by panel * Price

  • Gain/loss on the return leg is still equal to the return leg Principal - finance leg Shares

Mature/Expire

TRS will be picked up by the Global Process Center > Expirations > Mature process automatically on Maturity Date. The final reset that occurs on Maturity Date must be triggered to generate the final return payment prior to maturity (the maturity event itself will not trigger the final reset). The final coupon payment is dropped as part of the accrual process.

  1. The final IMM period of the swap requires the finance leg to accrue from start date to end date inclusive

    1. We recommend posting a miscellaneous income or expense entry for one additional day of accrued interest

  2. In the final IMM period, the finance leg coupon should settle three business days after the final fixing date

    1. This can be accommodated by setting Delay Days (1799) = 3 and Delay Days Type (5074) = B (Business) on the finance leg after the penultimate coupon, but before the final coupon

      1. It is best to do this close to maturity because if you rollback earnings into the penultimate coupon period (or prior), the replayed coupon(s) will have the delay applied

    2. For V17 and above, another option is to change the final Cash Payment Date (16411) in the finance leg's Swap Reset Schedule to the appropriate date

      1. Note: there is currently an issue preventing this workflow, tracked as SDP-49439

    3. For earlier releases, we recommend changing Settlement Date manually in Multiple Manual Settlements

      1. You can also use this workaround in V17 with Run Multiple Settlements until the issue above is resolved or if you do not want to edit the Swap Reset Schedule

Cancel & Rebook

Faulty TRS transactions must be cancelled using Batch Cancel Trades, with the transaction rebooked using the Book Trade module. TRSs are not supported in the Cancel and Rebook Trade process or the Cancel Trade screen. Maturities must also be canceled using Batch Cancel Trades.

Accounting

Once an iBoxx TRS trade is booked, it will be picked up in Eagle's global workflow. Daily accruals 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 the STAR to PACE push. These can be scheduled or triggered manually.

Reset Processing

Refer to the  for details about the reset workflow, canceling resets, and rollback/replay.

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 iBoxx TRS 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: always zero

  • Return Leg: market value due to unrealized gain/loss on underlying security

  • Finance Leg: market value due to period-to-date accrual payable/receivable

Accounting Reports

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

iBoxx TRSs 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).

Data Management Reporting

Performance

The performance toolkit calculates market value-based performance for TRSs at the return leg (price changes) and finance leg (accruals) 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. Refer to  for details.