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

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.

Total Return Swaps (TRSs) allow one party to make periodic interest payments (finance leg) to a counterparty in exchange for the return (return leg) on an underlying index, individual equity, debt, or custom basket of securities. Eagle supports end-to-end processing of both resetting and constant notional TRSs. 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 models 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 by following the steps here: Allow Duplicate Cross Reference Identifiers Processing Notes.

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

Return leg payments are derived from an underlying index, equity, or basket, which can be linked by entering its ID in the Underlying Information section. While TRSs are valued based on the underlying's price, it must be entered directly to the return leg; this is discussed in detail in the Valuation section.

The finance leg of a TRS generally 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 must be entered is currency.

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 First Rate Reset Date (10911), Reset Frequency (1788), and Reset Look-Back Days (10547).

  • Interest rates must be loaded to the underlying index at least back to Dated Date (or previous reset date if swap is traded off-cycle) and each subsequent reset date minus Reset Look-Back Days
  • Ensure rates are loaded to the same Source (3301) as your entity's Variable Rate Source

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 both on coupon and non-coupon dates. Refer to Time Sensitive Processing Notes for details about modeling spread changes during the life of swap.

Security Data

TRSs can be set up and maintained using 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.

Contract

  • Issue Name (961)
  • Primary Asset ID (14) & Type (1432): ensure duplicate IDs are allowed (see Storage & Configuration section above)
  • Processing Security Type (3931) = SWCOTR (Total Return Swap Contract)
  • Price Multiplier (18): 1.00 for equity, index, or basket underlyings, or 0.01 for single-name debt
    • Entered on contract in RDC and automatically propagated to legs
  • Issue Country (1418)
  • Asset Currency (85)
  • Notional Reset Type (4409): select Recalc Notional (R) for floating notional or Constant Notional (C) for fixed notional
    • V17 R2: Recalc Notional - Forward (RF) and Constant Notional - Forward (CF) were added to support forward-starting TRS where the number of shares or total notional is known at trade time, but the price is not
      • These elections allow a trade to be booked without providing a price
      • When the price is locked in, an initial "cashless" reset (only locks in the price/cost) is triggered using the normal process
  • 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
    • Must be a valid business day
  • Maturity Delay Days (3997): delays core maturity process X days to allow a close transaction to be entered in lieu of maturity (during this period valuations will still be calculated if the security is priced); the maturity process will trigger as normal after this delay
    • Using this field does not affect the actual Maturity Date stored in Eagle on the cost object, in the position table, etc.
    • Instead, the maturity process checks for Maturity Delay Days on the fly
  • Maturity Delay Days Type (3998): measure the maturity delay in B (Business) or C (Calendar) days
    • Note: you must have a business calendar populated in Calendar Name (1941) on your entity to use B (Business) days
  • Generate Swap Reset Schedule (2299, V17): a Swap Reset Schedule is crucial for automated corporate action processing (see the Corporate Actions section for details), but is not necessary in any other cases
    • Yes: schedule is generated automatically for both legs when security is added or changed
      • This is the default for TRS to support automated corporate action processing, but it should be changed to No for any TRS that are ineligible for corporate actions
      • If dates in the SMF-level Business Calendar are modified subsequent to the schedule being generated, it will need to be regenerated for the changes to take effect
        • We recommend regenerating schedules annually and/or whenever a security's Business Calendar is updated, unless the schedule has been customized
    • No: schedule is not generated when security is added or changed
      • This is recommended for TRS that are ineligible for corporate actions
    • Additional information about Swap Reset Schedules is available here: Swap Reset Schedule Processing Notes

Return Leg

  • Processing Security Type (3931): SWLXEQ (Swap Leg Total Rate Return on Equity) for index, equity, or basket underlyings, or SWLEDB (Swap Leg Total Rate Return on Fixed Income) for single-name debt
  • Price Multiplier (18): 1.00 for equity, index, or basket underlyings, or 0.01 for single-name debt
    • Entered on return leg in Issue Viewer
  • Reset Price Timing/Calc Price (3314): defines whether the price used in the reset process is taken as of payment date, or X number of days prior to payment date
    • Typically Reset Day if Lag/Coupon Delay Days = NULL/0 or Prior Business Day if Lag/Coupon Delay Days > 0
    • Prior Business Days/Preceding Business Day (10548): number of days prior to reset date to pull the reset price
      • Typically set to same value as Lag/Coupon Delay Days to use the price from valuation date
      • A value of 0 has the same effect as setting Reset Price Timing/Calc Price = Reset Day
  • Payment Frequency (472): select appropriate reset frequency
  • 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): required if Business Day Convention != NULL/None (NONE)
      • Enter the regular valuation day of month
      • Allows for valuation dates that are out of sync with the true first valuation date
      • Example: if the first valuation date were the 11th due to a holiday, but all other valuation dates were the 10th, the 10 would be entered and used to project future valuation dates
  • Business Calendar (1480): as specified in the contract; a composite calendar (including dates from two different calendars) may need to be set up if multiple business calendars are observed
    • This is required even if Business Day Convention is set to NULL/None (NONE)
    • IMM Swaps: for quarterly resets using the International Monetary Market (IMM) calendar, set Day of Month Override = WDC (Week Date of First Coupon) and Lag/Coupon Delay Days = 2
  • Delay Days (1799): number of days between reset date and payment date (reset date is the same as valuation date when using Decoupling, which is recommended)
    • 0, 2 and 3 are most common
    • Allows the final payment to occur after Maturity Date
    • Delay Days Type (5074): measure cash settlement delay in B (Business) or C (Calendar) days
  • Lag/Coupon Delay Days (4908): number of days between valuation (pricing) date and reset date (when cost and notional change)
    • Typically null/zero when using Decoupling, 2 or 3 when using the original method
    • Each reset date is projected as valuation date + X days
    • Lag/Coupon Delay Days Type (3999): measure delay between valuation date and reset date in B (Business) or C (Calendar) days; typically B (Business) days
  • First Payment/Valuation Date (473): enter the first valuation date (1/5/12 from attached example)
    • Lag/Coupon Delay Days will be added to this to determine the first reset date
  • Last Payment/Valuation Date (474): enter the valuation date associated with the last reset prior to termination
    • Lag/Coupon Delay Days will be added to this to determine the last reset date
    • Set to the final valuation date (not penultimate) when using Decoupling
  • Final Valuation Date (1369): required when using Decoupling and for Bullet Swaps where there is a single reset at maturity
  • Underlying Security (1347): mainly for reporting purposes as Eagle Accounting does not automatically retrieve the underlying’s prices for trading and valuation
    • Note: the return leg must be priced directly
    • Pricing Center rules can be configured to automatically price the return leg based on its underlying; refer to TRS Price from Underlying Processing Notes for details

Finance Leg

  • Processing Security Type (3931) = SWLEAC (Swap Leg Interest Accrual)
  • Coupon (70): enter zero for floating (or variable) rate to indicate that rates must be viewed from underlying index, or enter stated fixed rate if applicable
  • Coupon Type (97): typically X (Floating Rate) or F (Fixed Rate)
  • Day Count Basis (471): as specified in contract
  • Payment Frequency (472): as specified in contract
  • Business Day Convention (1536), Coupon Day of Month (10551), & Business Calendar (1480): same values as return leg
  • Delay Days (1799) & Type (5074): number of days to delay coupon cash settlement after reset date
    • Typically zero for finance leg
  • Lag/Coupon Delay Days (4908): number of days between valuation (pricing) date and coupon date (when interest is paid)
    • Typically same value as Delay Days on the return leg when using Decoupling, or Coupon Delay Days when using the original method
    • Each coupon date is projected as valuation date + X days
    • Applies to floating rate resets (the first one occurs on First Rate Reset Date + X days)
    • Cannot be used to extend the final coupon period past Maturity Date (it must be adjusted in order to extend the final coupon period)
    • Lag/Coupon Delay Days Type (3999): measure delay between valuation date and coupon date in B (Business) or C (Calendar) days; typically B (Business) days
  • First (473) & Last Payment/Valuation Date (474): same dates as return leg
  • Floating Rate Fields
    • First Rate Reset Date (10911): same as First Payment/Valuation Date
      • This is used with Lag/Coupon Delay Days and Reset Look-Back Days to calculate fixing dates
      • Example (attached): enter 1/5/12 for First Rate Reset Date because First Payment/Valuation Date = 1/5/12
    • Reset Frequency (1788): same as Payment Frequency
    • Reset Look-Back Days (10547): number of days prior to each reset date (or Dated Date for the initial period) to grab the new floating rate
      • For the first reset date from attached example (1/10/12), a value of 2 will take the rate from 1/6/12 (fixing date)
      • Reset Look-Back Days Type (5075): measure look-back in B (Business) or C (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 is used in lieu of the main Business Calendar when applying Reset Look-Back Days for fixing dates
    • Underlying Security (1347): floating rates will be automatically retrieved from this underlying index
    • 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

Commodity Swap Accrual Conventions (V17 R2)

Some commodity-based TRS have unique accrual conventions. For example: assume one based on the 91-Day Treasury Bill rate.

  • This is calculated as the 3-month US Treasury high-discount auction rate converted from a discount to a daily compounded basis
  • To calculate accruals correctly one day’s worth of return needs to be applied to the finance leg notional and compounded daily during the period
  • Compounding only occurs on the floating rate portion of the accrual and does not include the fee (spread); this is known as Compounding with Simple Spread (non-ISDA) and can be accomplished with the following settings
    • Underlying Security (1347): select index security loaded with 3-month US Treasury high-discount auction rates
    • Compounding Indicator (11875) = Yes
    • Compounding Method (11876) = Spread Exclusive
    • Convert Interest Rate (9154) = Yes
    • Rate Conversion Rule (12849) = DRA3601DA365 (Discount ACT/360 to Daily ACT/365)

TRS Reset Schedules

We recommend not generating a Swap Reset Schedule unless the TRS is eligible for corporate actions. Refer to Swap Reset Schedule Processing Notes for additional information.

Decoupling

In V17 R2.22, an alternate method of setting up TRS return legs was added, called Decoupling. This is the recommended method for all newly established TRS positions and can be used alongside the original method. It applies to TRS with:

  • A schedule dictated by valuation dates
  • A delay between valuation date and payment date

In prior versions, this could only be accommodated with Coupon Delay Days (4908) on the return leg, which effectively shifts the reset process and realized gain/loss from valuation date to payment date. To invoke the Decoupling method, leave Coupon Delay Days as null or zero on the return leg and use Delay Days (1799) instead. There are no changes to the finance leg (it will continue using Coupon Delay Days). This setup allows the return leg reset to process on valuation date, while the finance leg continues to accrue on the pre-reset notional until payment date. Delay Days on the return leg should typically be equal to Coupon Delay Days on the finance leg. An example is provided below.

When Decoupling is used, Last Payment/Valuation Date (474) on the return leg must be equal to the final valuation date in the schedule. Before Decoupling, it could be either the penultimate or final date. Both can still be used on the finance leg.

Example

Valuation and payment dates are calculated automatically based on the SMF attributes. The example above would be set up as follows.

  • Both Legs
    • First Payment/Valuation Date = 1/5/2012
  • Return Leg
    • Decoupling
      • Reset Calc Price = Reset Day
      • Delay Days = 3
      • Delay Days Type = B (Business)
      • Lag/Coupon Delay Days = null/zero
    • Original Method
      • Reset Calc Price = Prior Business Day
      • Preceding Business Days = 3
      • Delay Days = null/zero
      • Lag/Coupon Delay Days = 3
      • Lag/Coupon Delay Days Type = B (Business)
  • Finance Leg
    • Lag/Coupon Delay Days = 3
    • Lag/Coupon Delay Days Type = B (Business)
    • First Rate Reset Date = 1/5/2012
    • Reset Lookback Days = 2
    • Reset Lookback Days Type = B (Business)

Manual Scheduling

Eagle Accounting also supports loading Swap Reset Schedule data. Refer to TRS Swap Reset Schedule Upload Processing Notes for details.

Unscheduled/Ad Hoc Resets

Some TRS can have unscheduled/ad hoc resets when predefined exposure levels are breached, among other reasons. In these cases the schedule for both legs must be edited to add the new reset date. Follow the steps in Swap Unscheduled/Ad Hoc Resets Processing Notes to edit the current period and add a new period.

Trade Processing

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

  • Multiple Events: this was the only method available prior to V17 R2.27
  • Single Event: this was introduced in R2.27 to allow TRS to use additional lot selection methods beyond FIFO, LIFO, and IDLOT

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 return leg and the contract and finance leg transactions are spawned in the engine. The same applies to transactions entered via Message Center. 

Open (transaction 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


 Click 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
  • Notional / Units (3599, V17 R2): for forward-starting TRS only, select Enter Units (U) or Enter Notional (N) depending on which one is known at trade time
  • Pay/Receive Flag (10485): only used if there is cash exchanged to open the TRS, which is very rare
    • Swap Fee Local (7510): absolute value of the fee, if applicable
  • Broker (88)
  • Counterparty (1144, optional): 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)

Return Leg

  • Notional (7782): only used for constant notional TRS, or forward-starting TRS with Notional / Units = Enter Notional (N)
    • Enter full notional amount of the trade
  • Shares (40): number of shares (for equity, index, or custom basket) or par value (for single-name debt)
    • Calculated automatically based on Notional for constant notional TRS
    • Do not enter Shares on the contract, it will be automatically propagated from the return leg
  • 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
    • Full Notional = (Shares * Price) + return leg Commission + return leg Other Fee

Finance Leg

  • Finance leg notional value (in Shares field) is automatically calculated based on return leg information
    • Example: if number of equity Shares is 1 million, the initial Price is $10, and Commission and Other Fee are zero, the finance leg notional will be $10 million
    • Constant Notional: finance leg notional (in Shares field) is taken directly from Notional entered on the return leg and does not change as part of the reset process
  • Select Values to be Calculated by STAR (7000): set to Traded Interest to have it calculated, or Calculate None to enter it manually
  • Traded Interest Local (49): interest bought or sold, calculated since Dated Date or last coupon date
    • Lot Level Dated Date (4411): used to override when the lot starts accruing interest (accruals start on Dated Date by default)
    • First Period Coupon Rate (1360): overrides the interest rate for the first period; Eagle Accounting will automatically start using the appropriate interest rates after the next reset is processed

Single Event (V17 R2.27)


 Click here for details about Single Event...
  • Traded Interest/Effective Date (2857): date to which traded interest is calculated; typically Trade Date or T+1
  • Notional / Units (3599): for forward-starting TRS only, select Enter Units (U) or Enter Notional (N) depending on which one is known at trade time
  • Notional (7782): only used for constant notional TRS, or forward-starting TRS with Notional / Units = Enter Notional (N)
    • Enter full notional amount of the trade
  • Shares (40): number of shares (for equity, index, or custom basket) or par value (for single-name debt)
    • Calculated automatically based on Notional for constant notional TRS
  • Price (45): initial price of the underlying return leg asset (i.e. price per share)
  • Select Values to be Calculated by STAR (7000): set to Traded Interest to have it calculated, or Calculate None to enter it manually
  • 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
    • Full Notional = (Shares * Price) + Commission + Other Fee
  • Traded Interest (18280): interest bought or sold, calculated since Dated Date or last coupon date
  • First Period Coupon Rate (18282): overrides the interest rate for the first period; Eagle Accounting will automatically start using the appropriate interest rates after the next reset is processed
  • Lot Dated Dt (18283): used to override when the lot starts accruing interest (accruals start on Dated Date by default)
  • Pay/Receive Flag (10485): only used if there is cash exchanged to open the TRS, which is very rare
    • Swap Fee Local (7510): absolute value of the fee, if applicable
  • Broker (88)
  • Counterparty (1144, optional): 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)
  • Single Leg Panel (17940): this field tells the engine to spawn the leg-level transactions
    • Defaults to Y, locked, and hidden

Booking Multiple Open Lots

By default, opens of additional TRS lots will not generate an upfront payment based on trade price. To prevent traded interest from being calculated and exchanged, set Lot Level Dated Date = accrual start date of the additional lot (same date should be used for Settlement Date, or Traded Interest/Effective Date if available).

  • For a floating rate TRS, First Period Coupon Rate can be left blank to automatically pull the rate from the underlying index based on Lot Level Dated Date minus Reset Look-Back Days, and apply the appropriate spread
  • Alternatively First Period Coupon Rate can be entered, with the supplied rate used up until the next reset date; this requires the all-in rate (floating rate + spread) to be entered
  • After the next reset all lots are reset to same unit cost and all financing is calculated the same based on the original SMF configuration

Close (transaction 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 or Close Swap Contract - Single Event.

Most close fields are identical to the open, with some exceptions and other notes listed below. Eagle Accounting will automatically calculate the proceeds on each leg and separate gain/loss entries will be posted.

  • Pay/Receive Flag (10485): this captures any fees paid or received to close the TRS beyond what is calculated by entering the market close price
    • This is not typically used 
    • Swap Fee Local (7510): absolute value of the fee, if applicable
  • 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
    • If Lot Level Dated Date or First Period Coupon 
    • 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

Multiple Events


 Click here for details about Multiple Events...
  • Constant Notional
    • Close Notional (7782): portion of notional to be closed
      • This is pulled directly into finance leg Shares (40)
      • The screen calculates the proportional number of Shares (40) to close for the contract and return leg as Close Notional (7782) / Position Notional (7783) * Position Shares (122)
    • Principal (165, Return Leg): number of Shares (40) calculated * Price (45)
  • Recalc Notional
    • Shares (40, Return Leg): number of shares to be closed
      • Finance leg Shares (40): notional to be closed, calculated as return leg Position Notional (7783) * (return leg Shares (40) / return leg Position Shares (122))
  • Enter Price (45), Commission (47), and Other Fee (3752) on the return leg
  • Gain/loss on the return leg will be equal to the return leg Principal (165) - finance leg Shares (40)
  • Return Leg Principal (165) = Shares (40) * Price (45) - Commission (47) - Other Fee (3752)
  • Traded Interest (49) on the finance leg, if applicable, can either be entered manually or calculated by Eagle Accounting, and will be included in the finance leg's trade proceeds
    • By default the legs 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

Booking Closes for Multi-Lot Positions

There are two important notes about FIFO/LIFO closes when trading multi-lot TRS with the Multiple Events method.

  1. If Lot Level Dated Date and/or First Period Coupon Rate are used 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
    1. In these cases, traded interest can be entered instead of calculated, the close can be processed IDLOT, or the Single Event method can be used
  2. If multiple lots are opened at different prices and a partial FIFO close is entered that spans lots (open lots of 300 and 400, then a close of 500, for example), the amount of notional closed may be incorrect because it will be closed proportionately based on shares
    1. In these cases, IDLOT closes or the Single Event method are recommended

Single Event


 Click here for details about Single Event...
  • Constant Notional
    • Close Notional (316): portion of notional to be closed
    • Shares (40): locked and hidden, do not populate
  • Recalc Notional
    • Shares (40): number of shares to be closed
  • Principal (165) = Shares (40) * Price (45)
  • Traded Interest (18280), if applicable, can either be entered manually or calculated by Eagle Accounting, and will be included in the finance leg's trade proceeds
    • This field is hidden when Select Values to be Calculated by STAR (7000) = Traded Interest because the calculation is done in the engine
    • By default the legs 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

Conversion

The CONVERSION event is not supported for TRS. Conversions should be booked using the OPENSWAP event as of the most recent reset prior to conversion date. Because TRS opens are typically cashless events, booking an open on a reset date produces the same accounting results going forward.

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 & Rebook Trade process or the Cancel Trade screen. Maturities must also be canceled using Batch Cancel Trades.

Accounting

Once a TRS 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 the STAR to PACE push. These can be scheduled or triggered manually.

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

    • Accruals: Earnings > Run Income Accruals

    • TRS Resets: Swaps > Reset Total Return Swap

    • 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

    • TRS Resets: Total Return Swap Reset > Total Return Swap Reset

    • 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

TRS Valuation is based on Return Leg prices. It can be priced on a daily basis, and unrealized gain/loss is calculated based on the day-to-day price movements. The contract should not be priced.

  • Add Issue Price can be accessed through Issue Viewer, SRM, or Reference Data Center (RDC)

    • The contract and finance leg are filtered out, ensuring that only return legs are available

    • If a price is loaded to the return leg's underlying for Effective Date (1109), it will be pulled into the screen automatically when the return leg is retrieved

      • You must click Submit to add this price to the return leg

  • Rules can be established in Pricing Center to automatically pull the underlying price up to the return leg; refer to TRS Price from Underlying Processing Notes for more information

Total Market Value of TRS = Cumulative Unrealized Gain/Loss Return Leg + PTD Accrual Finance Leg

  • Cumulative Unrealized G/L = Shares * (Current Price - Initial Price)

Effective Date

Issue Name

Price

2008.06.11

EQUITY INDEX SWAP HIMALAYA/CDOR (ESD1455)_EQUITY_R

0.18950000

2008.06.12

EQUITY INDEX SWAP HIMALAYA/CDOR (ESD1455)_EQUITY_R

0.18970000

2008.06.13

EQUITY INDEX SWAP HIMALAYA/CDOR (ESD1455)_EQUITY_R

0.19500000

Effective Date

Equity Shares

Price Change

URGL

Cumulative URGL

2008.06.12

8,741,881.00

0.00020000

1,748.38

1,748.38

2008.06.13

8,741,881.00

0.00530000

46,331.97

48,080.35

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.

Reset Processing

Workflow

  • Global process is scheduled to run on a daily basis in a production setting

  • The underlying price must be populated directly on the return leg for valuation date before processing the reset

    • Accounting does not automatically look to the underlying for reset prices

  • Security Query Flag (1256) controls whether prices and FX rates must be loaded for the reset date (ACTUAL, default), or if the most recently available will be used (RECENT)

    • When ACTUAL is used and either prices or FX rates (for foreign TRS) are missing, the reset will fail

    • Using RECENT will prevent failures, but may lead to incorrect reset activity

  • Resets should be scheduled to run prior to accruals to ensure financing is calculated on the correct notional on reset date

Calculation

The reset cash flow direction is determined by reset price being above or below initial price (trade price or last reset price). Positive amounts are disbursements when paying the return and receipts when receiving it. Conversely, negative amounts are receipts when paying the return and disbursements when receiving it.

  • Shares: 1,000,000, Initial Price: $80, and Reset Price: $85

  • Return Amount = 1,000,000 * (85 - 80) = $5,000,000

  • New Notional = 1,000,000 * 85 = $85,000,000

Finance leg notional is recalculated based on return leg # of shares and reset price. The finance leg starts accruing on the new notional on reset date (valuation date + Lag/Coupon Delay Days). This is the 10th in the attached example.

Constant Notional: reset payments are calculated the same way as outlined above, except the initial price is always trade price. Notional and notional cost are established at trade time and do not change.

  • To keep notional constant, Accounting divides it by reset price to calculate an updated # of shares

Reset Rollback/Replay - Manual

Rollback/replay cancels the finance leg portion of any reset transaction that has occurred chronologically on or after the “as of” trade date, but not return leg resets. Resets have to be re-run manually.

  • Note: performing a batch cancel of a single lot with a trade date less than or equal to last reset date will cancel the reset for all lots; the reset process must be re-run to reset the remaining open lots

Finance leg accruals after the reset must be rolled back to ensure recalculated notional amounts are used. Example: user wants to book an “as of” transaction involving a reset.

  • Lot 1 Trade Date = 9/1/15, accrued through 9/30/15, reset on 10/1/15, accrued through 10/9/15
  • On 10/9/15 an additional open (Lot 2) is booked as of 9/23/15
  • Automated accounting rollback/replay will:
    1. Cancel Lot 1 accrual through back to 9/23/15 and cancel coupon on 10/1/15
    2. Insert additional open (Lot 2) on 10/9/15, as of 9/23/15
    3. Accrue both lots from 09/23/15 - 10/9/15 and drop coupon on 10/1/15
    4. Cancel the reset from 10/1/15 in some cases
      1. When this happens, you must use Cancel Entitlements to cancel the traded cash record
  • Manual processes needed:
    1. Use Batch Cancel Trades to cancel the reset; this will create a cancel cost adjustment and cancel traded cash row (must be done prior to reprocessing the reset)
    2. Cancel accruals from 10/1/15 - 10/9/15
      1. Set Earn Through Date = 9/30/15 and Allow Earnings Rollback = Yes
    3. Process return leg reset on both lots
      1. Set Trade Dt = 10/1/15
    4. Accrue from 10/1/15 - 10/9/15 using recalculated notional 
      1. Set Earn Through Date = 10/9/15 and Allow Earnings Rollback = No

Reset Rollback/Replay - Automated (V17 R2)

A global process can be used to streamline the workflow for correcting TRS resets. This is available in Accounting Center > Processing & ExceptionsGlobal Processes > Swaps > Cancel Total Return Swap Reset.

  • Select Query Option (2283): resets must be canceled for one security at a time
  • Trade Dt (35): set to date of reset being canceled

After canceling the reset, accruals will need to be rolled back separately. The reset can be reprocessed following the manual steps described above once the necessary updates have been made.

Corporate Actions

Overview

Accounting has core support for three types of corporate actions on TRSs: cash dividends, stock dividends, and stock splits. Announcements are set up using the same workflow as regular equities. All corporate actions are processed in two steps: 

  1. Creating the Corporate Action Announcement: establishes the details of the corporate action (ex date, pay date, dividend rate, etc.)

  2. Triggering the corporate action for the targeted security and entity(ies)

On this page

The functionality for setting up TRS announcements is slightly different depending on your current Eagle release.

V17 R2 & Above

Corporate actions affecting TRSs can be automatically processed based on announcements for their underlying securities (this is optional if you are satisfied with the previous functionality). Following the previous example, the 5 TRSs on Microsoft can now be driven by an individual announcement for Microsoft.

  • A Swap Reset Schedule must exist to settle cash dividends with the TRS reset; if one does not exist cash will settle based on the underlying corporate action announcement

  • Corporate Action Reset Indicator (16633): controls the date cash settles for cash dividends

    • Pay Date (Swap Reset Schedule Exists): cash settles on next reset payment date following Pay Date from underlying announcement

    • Ex Date (Swap Reset Schedule Exists): cash settles on next reset payment date following Ex Date from underlying announcement

    • Pay Date (No Swap Reset Schedule): cash settles on Pay Date from underlying announcement

    • Ex Date (No Swap Reset Schedule): cash settles on Ex Date from underlying announcement

    • Corporate Action Pay Date: cash settles on Pay Date from underlying announcement (regardless of Swap Reset Schedule existence)

    • Note: when upgrading existing positions to V17 this field defaults to NULL, which results in the same activity as Corporate Action Pay Date; select an alternate value if you require a different settlement convention

  • Stock Split: Treatment of Fractional Shares must be populated with a value other than European

    • Selecting European hides the Split Ratio field and uses a different calculation method

  • Corporate actions are triggered using the same global processes as earlier versions, with the exception of the field below

    • Process Corporate Action on Swap (16813): if a corporate action is being reprocessed for a particular TRS underlying, setting this to No will prevent TRS on that underlying from being affected

      • Available only when Select Query Option (2283) = One Entity/One Security or All Entities/One Security when triggering the corporate action

  • If you are on V17 R2 or above and want to use the previous functionality, you can continue setting up corporate action announcements directly for return legs

    • If a record has the same Ex Date as a corporate action on the underlying security, the return leg announcement will take priority and the underlying security's announcement will be ignored

Prior to V17 R2

Separate announcements must be set up for the return leg of each TRS. For example: if there are 5 TRSs on Microsoft, 5 corporate action announcements are required. Start by searching for Cash Dividend, Stock Dividend, or Stock Split. Required data is listed below.

  • Asset ID (14): enter the TRS's Primary Asset ID (only the return leg will be returned)

  • Process Corporate Action for Swap (16813): controls whether the corporate action is triggered only for TRS (Yes) or only for direct equity holdings (No) when Select Query Option (2283) = One Security

    • If you want to trigger the corporate action for both, you must run/schedule the job twice (once with each setting) or use Select Query Option = All Securities

  • Sweep Date (1197): date when the global corporate action process will pick up and execute the corporate action (generally current date)

  • Ex Date (65): date when the corporate action takes effect

  • Pay Date (1275, required for cash dividends): date when cash settles

    • Typically set to the following reset payment date

  • Treatment of Fractional Shares (3965, required for stock dividends and splits)

  • Corporate Action Status (54) = Released

  • Corporate Action Sub Priority (3961): order of priority for corporate actions processed on the same day

    • Enter 1 unless you have this scenario

  • Dividend Rate (1259, required for cash dividends): on a per-share basis; only required for cash dividends

  • Dividend Per Share/Rate Of Action (1001, required for stock dividends): enter the number of new shares to be spawned for each share of the current holding

  • From Shares (1710): enter current number of shares of the return leg holding

  • To Shares (1723): enter ending number of shares as a result of the corporate action

  • Split Ratio (1001, required for stock splits): calculated automatically based on From Shares and To Shares

    • Can also be populated directly

  • Corporate Action Type (1728) = Cash Dividend, Stock Dividend, or Stock Split

Trigger Corporate Actions

Once announcements have been set up, they can be processed via an automated event or triggered manually.

  • V17 & Above: Accounting Center > Processing and Exceptions > Global Processes > Corporate Actions > Cash Dividend Processing or Stock Dividends/Stock Splits

  • Prior to V17: Global Process Center > Corporate Actions Processing > Cash Dividend or Stock Dividends/Stock Splits

Ensure Corporate Action Begin Sweep Date (220) and Corporate Action End Sweep Date (221) capture the Sweep Date you entered on the announcement(s).

Closes with Pending Dividends

Cash dividends typically settle 2-4 weeks after Ex Date. If a close is booked after Ex Date and prior to Pay Date, the pending dividend will not be taken down proportionately. If this occurs, follow the steps below to manually settle the pending dividend, either partially or fully.

  • Open Accounting Center > Transactions > Cash > Run Manual Settlements

  • Enter the appropriate entity and/or security criteria to target one or more positions

  • Select the applicable pending dividends and click Select settlement record in the ribbon

  • If the pending dividend should settle with the close trade, adjust Settlement Date (37) to equal the close trade

  • Adjust Quantity to Settle (40) and Local Settlement Amount (50) proportionately to the amount of notional that was closed

    • Example: if half the position is closed, set the two fields to half of their starting values

  • Set Write off remaining amount? (1076) to No leave difference in payable status

Mature/Expire

TRSs will be picked up by Eagle Accounting’s core maturity process. This will be scheduled in production environments, but can be triggered manually via:

  • V17 & Above: Accounting Center > Processing and Exceptions > Global Processes > Expirations & Maturities > Run Mature Process 
  • Prior to V17: Global Process Center > Expirations > Mature

The final reset that occurs on Maturity Date must be triggered to generate the final return payment (the maturity event itself will not trigger the final reset). The final coupon payment is 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 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 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.

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

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. This helps to avoid issues with swap legs being separated from the contract.

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 accurate returns. The documentation and .egl files are linked below. 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

Additional notes for TRS:

  • TRS prices must be loaded to the return leg only
    • Make sure you set tag 4590 = P or R in your price message depending on whether the swap is paying or receiving the return
  • For TRS closes using Multiple Events, the finance leg units/notional (tag 40) must equal the amount of notional to close (shares * last reset price)
    • It should not be set to shares * close price. 

Sample messages for the standard interfaces are listed below.

Transaction TypeDefault Message Center StreamSample Files
SMF Setupeagle_default_in_csv_smf

TRS - SMF - Multiple Events.csv

TRS - SMF - Single Event.csv

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

Open Tradeeagle_default_in_csv_trades OR
eagle_default_in_csv_all

TRS - Open - Multiple Events.csv

TRS - Open - Single Event.csv

Close Tradeeagle_default_in_csv_trades OR
eagle_default_in_csv_all

TRS - Close - Multiple Events.csv

TRS - Close - Single Event.csv

  • No labels