LIBOR Replacement & Alternative Reference Rates (ARR) Best Practices

Overview

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

Eagle Accounting has full support for ARR securities. The Instrument Engineering team has been monitoring and planning for the LIBOR transition since it was announced. The Eagle software suite was enhanced to support additional conventions as they were introduced, and engagement with industry and regulatory bodies continues to ensure the functionality remains current.

On this page

Related content

Please include Instrument Engineering (Instrument_Engineering@bny.com) on all inquiries about alternative reference rate (ARR) indexes.

Market

For many years, Interbank Offered Rates (IBORs) were the gold standard when it came to trading securities linked to floating rates. London Interbank Offered Rate (LIBOR) was the most well-known, but it's various sister indexes in other countries (CDOR, JIBAR, etc.) were also widely used. Securities linked to these IBORs included floating rate bonds, syndicated loans, interest rate swaps, total return swaps, and numerous other derivatives. One downside of these indexes is their susceptibility to manipulation by a relatively small group of bad actors, which can have wide-ranging effects on markets.

As a result, most issuers and counterparties of standardized floating rate securities are abandoning LIBOR and its sister indexes in favor of new alternative reference rate (ARR) indexes. These include the Secured Overnight Financing Rate (SOFR) for the US, Euro Short-Term Rate (€STR) for the EU, and Sterling Overnight Index Average (SONIA) for the UK, among others. Securities linked to this indexes also include daily resets and rate compounding to ensure the latest ARR is always used for accruals.

ARRs may also be referred to as risk-free rates (RFRs) in the market. This acronym was introduced by the Financial Stability Board in their July 2014 publication on benchmark interest rate reform. The phrases "near risk-free rates," "risk-free rates," and "alternative reference rates" are generally accepted as interchangeable and should be defined as reference rates that are being developed by international central bank-led working groups as alternatives to LIBOR.

Eagle

Eagle Accounting can accrue on securities linked to ARR indexes using the core fixed income code in V15 R2.39, V17, and above. We have identified three different accrual conventions.

  1. Simple Average Interest: rates are retrieved directly from an ARR index, with no compounding at the index level

    • Bloomberg Calc Type = 21(FLOAT RATE NOTE) or 1421(FLOAT RATE NOTE)

    • Applies to FHLB bonds

    • Fully supported

  2. Spread-Inclusive: rates are retrieved from an ARR index and the spread is added before calculating Compound Average in Arrears interest

    • Applies to Overnight Index Swaps (OIS) as detailed in the 2006 ISDA Definitions

    • Fully supported

  3. Spread-Exclusive: rates are retrieved from an ARR index and Compound Average in Arrears interest is calculated, while the spread is accrued using simple average interest and then added

    • Bloomberg Calc Type = 999(STREET CONVENTION)

    • Applies certain US corporate bonds, such as those issued by Goldman Sachs and Morgan Stanley, and a wide range of other bonds issued in Europe, the UK, and other countries

    • Fully supported (V17 2.20 & V15 R2.39); miscellaneous income or expense transactions can be used to true up differences in earlier versions

The spread-inclusive and spread-exclusive formulas are shown below.

Spread-Inclusive

Spread-Exclusive

Spread-Inclusive

Spread-Exclusive

Existing Securities

Two methods are available to support existing securities that will be transitioned to ARR indexes, as explained in the Change Index section.

Workaround

If you are using a version of Eagle Accounting that does not have core support for ARR accruals, you can achieve a close approximation by using an alternate security setup. This is described further in the Security Data section.

Reference Data

Storage & Configuration

In V17 R2.28 and above, there are two methods available to set up ARR securities that calculate interest using Compound Average in Arrears. Neither of these methods apply to Simple Average interest securities, such as FHLB bonds, that retrieve and use ARRs directly from a published index

In all cases, published rates should be loaded to an index security that is set up similar to any other floating rate index (LIBOR, CDOR, etc.). This is called the "published index" in Eagle.

Information about the Underlying Method is only provided for clients who implemented ARR functionality in a release prior to V17 R2.28. We recommend that any ARR security in V17 R2.28 or above be set up using the Security Method.

Security Method

This method involves setting security-level attributes that invoke Compound Average in Arrears interest, and is available in V17 R2.28 and above. The published index is linked directly to the security. There is no calculation index.

Underlying Method

This is the original method that involves a multi-level underlying relationship. Instead of the published index being linked directly to the security, a secondary "calculation index" is linked to the security, with the published index as its underlying. This is how it looks:

  • Parent: ARR Security with Compound Average in Arrears Interest (bond or leg of a swap)

    • 1st Child: Calculation Index (USD-SOFR-COMPOUND, GBP-SONIA-COMPOUND, etc.)

      • 2nd Child: Published Index (SOFRRATE Index, SONIO/N Index, etc.

The calculation index contains a few extra optional fields, as described below.

  • Final Rate Rounding Precision (18276 in V17 R2.28 & above, 2283 in prior versions): specifies rounding precision for compounded rate of return

    • To use the same calculation index for multiple ARR securities with different rounding conventions, leave this field NULL

      • Your accruals may be slightly off for some securities depending on their true rounding conventions, but this prevents you from having to maintain multiple calculation indexes

      • If you are using Message Center to set up a calculation index, you must include 12402 = 5, 6, or 7 in your message, and 2283 can be left out

      • See table below for mapping between Bloomberg and Eagle Accounting

  • Final Rate Rounding Direction (12403): Down, Nearest, or Up; specifies the direction of rounding for fractional numbers based on Final Rate Rounding Precision

  • Project Rate (12404): typically No or NULL

    • Selecting Yes will cause Accounting to project an overnight compounded rate through the end of the coupon period, which may be required in some cases

Final Rate Rounding Precision (18276 or 2283)
Readable Format, Not Stored

Final Rate Rounding Precision (12402)
Used in Messages, This Value Is Stored

Float Digits Precision (FL134)
Bloomberg Equivalent

Final Rate Rounding Precision (18276 or 2283)
Readable Format, Not Stored

Final Rate Rounding Precision (12402)
Used in Messages, This Value Is Stored

Float Digits Precision (FL134)
Bloomberg Equivalent

0.001%

5

3

0.0001%

6

4

0.00001%

7

5

0.000001% (V17 R2.26)

8

6

0.0000001% (V17 R2.26)

9

7

Link Indexes

Once both indexes have been created, link them using Add Underlying Security. Populate the fields as described below.

  • Asset ID (14) & Type (1432): enter a cross reference identifier for the calculation index (USD-SOFR-COMPOUND, GBP-SONIA-COMPOUND, etc.)

    • These are not stored in the UNDERLYING_SECURITY table; instead, they are used to look up the Security Alias (10) of the parent security, which is stored in UNDERLYING_SECURITY.SECURITY_ALIAS

  • Underlying Asset ID (1348) & Type (1103): enter a cross reference identifier for the published index (SOFRRATE, SONIO/N, etc.)

    • These are not stored in the UNDERLYING_SECURITY table; instead, they are used to look up the Security Alias of the underlying security, which is stored in UNDERLYING_SECURITY.UNDERLYING_SEC_ALIAS

  • Underlying Type (916) = OIS (Overnight Indexed Swap)

    • This is critical to ensuring ARR accruals are calculated correctly

Add Index to Security

Once the underlying indexes are configured, set the calculation index as the underlying of the bond or swap leg during security setup using the underlying security fields:

  • Underlying Security ID (1348): Primary Asset ID of the calculation index

  • Underlying Security Issue Name (1141): Issue Name of the calculation index

Market Data

Published Index: load ARRs received from vendors just as you would for LIBOR or any other floating rate index.

Calculation Index: do not load any rates to this index as it is used for calculation purposes only. A calculation index is not required at all if you are exclusively using the Security Method.

ARR market reference data is available from Bloomberg. Refer to Bloomberg Fields for ARR Securities Processing Notes for details about mapping between Bloomberg and Eagle.

Security Data

Most security master file (SMF) data is configured the same way as any other floating rate security. Please note the important considerations and exceptions for Compound Average in Arrears interest listed below. These do not apply to Simple Average interest securities, such as FHLB bonds, that retrieve and use ARRs directly from a published index.

  • Business Day Convention (1536): ensure the correct convention is selected because the Compound Average in Arrears formula stipulates that coupons should only drop on business days

  • Business Calendar (1480): ensure the correct calendar is selected and loaded with the applicable non-business days as missing non-business days will lead to incorrect accruals

  • First Rate Reset Date (10911): any date can be used for a security with daily resets, but we recommend setting this to Dated Date (1183) to simplify the mapping

  • Reset Frequency (1788) = 1_D (Daily)

  • Reset Lookback Days (10547): # of days to grab the new floating rate prior to each reset date, or prior to Dated Date (1183) for the initial period

    • Typically 0, 1, or 2

    • This should be confirmed for each security as it is not consistent across securities linked to a particular ARR index

    • Hidden if Observation Period Adjust Days is > 0

  • Reset Lookback Days Type (5075): typically C (Calendar) for floating rate notes or B (Business) for OIS

    • This is based on Instrument Engineering's observations to date; please confirm the correct value with your reference data vendor

    • Only shown if Reset Lookback Days > 0

  • Reset Lockout Days (10549, V17 R2.21 & V15 R2.40): defines the length of the lockout period in business days (1, 2, 3, etc.), if applicable

    • The count is performed backwards from coupon date, inclusive of lockout effective date and exclusive of coupon date

    • Refer to the examples in the table below, where the reference rate is pulled from Lockout Effective Date

    • Hidden if Observation Period Adjust Days is > 0

  • Reset Lockout Period (18083, V17 R2.21 & V15 R2.40): defines the period(s) to which the lockout applies

    • A (All): the lockout is applied to every coupon period

    • L (Last): the lockout is only applied to the final coupon period that spans Maturity Date

    • Only shown/required if Lockout Days is populated

    • See Lockout Period Example table below for details

  • Observation Period Adjust Days (18086, V17 R2.28): number of days observation period is shifted backwards, entered as a positive number

    • Backward-shifted observation periods (BSOPs) are mutually exclusive with both lookback and lockout periods

    • Hidden if Reset Lookback Days or Lockout Days is > 0

  • Coupon Rate Fixing Method (18274, V17 R2.28)

    • Security Method: set to ResetAtEnd (Reset At End)

    • Underlying Method: leave NULL

  • Fixing Date Business Center (16407): 

    • Must be populated even if it is not marked as required

  • Underlying Security ID (1348) & Issue Name (1141)

    • Security Method: enter published index

    • Underlying Method: enter calculation index

  • Compounding Indicator (11875)

    • Security Method: set to Yes

    • Underlying Method: set to No

  • Compounding Method (11876)

    • Security Method: set to ALL (All) for spread-inclusive or SE (Spread Exclusive) for spread-exclusive

    • Underlying Method: leave NULL for spread-inclusive or set to SE (Spread Exclusive) for spread-exclusive

  • Compounding Frequency (11877)

    • Security Method: set to 1_D (Daily)

    • Underlying Method: leave NULL

  • First Compounding Date (11877)

    • Security Method: set to Dated Date (1183)

    • Underlying Method: leave NULL

  • Last Compounding Date (11878)

    • Security Method: set to Maturity Date (38)

    • Underlying Method: leave NULL

  • Final Rate Rounding Precision (18276): specifies rounding precision for compounded rate of return

    • See Final Rate Rounding Precision Mapping table below for mapping between Bloomberg and Eagle Accounting

  • Final Rate Rounding Direction (12403): Down, Nearest, or Up; specifies the direction of rounding for fractional numbers based on Final Rate Rounding Precision

Lockout Period Example

Lockout Days

Coupon Date

Lockout Effective Date

Rate Effective Period

Lockout Days

Coupon Date

Lockout Effective Date

Rate Effective Period

2

8/4/2020

7/31/2020

7/31/2020 - 8/3/2020

4

10/8/2020

10/2/2020

10/2/2020 - 10/7/2020

3

10/16/2020

10/13/2020

10/13/2020 - 10/15/2020

Final Rate Rounding Precision Mapping

Final Rate Rounding Precision (18276)
Readable Format, Not Stored

Final Rate Rounding Precision (12402)
Used in Messages, This Value Is Stored

Float Digits Precision (FL134)
Bloomberg Equivalent

Final Rate Rounding Precision (18276)
Readable Format, Not Stored

Final Rate Rounding Precision (12402)
Used in Messages, This Value Is Stored

Float Digits Precision (FL134)
Bloomberg Equivalent

0.001%

5

3

0.0001%

6

4

0.00001%

7

5

0.000001% (V17 R2.26)

8

6

0.0000001% (V17 R2.26)

9

7

Workaround

Use the configurations below for versions of Eagle Accounting that do not have core support for ARR accruals. Because this is only an approximation, you will have to use Miscellaneous Income and Miscellaneous Expense transactions to true up to the correct cash flows on coupon dates.

  • Reset Frequency (1788) = 1_D (Daily)

  • Underlying Security (1347): use published index

  • Compounding (11875): set to No if the security includes a spread, or Yes if it does not

  • The fields below are conditionally required if Compounding = Yes, otherwise they can be left NULL

    • Compounding Method (11876): a value must be selected, but it will not affect the results because Compounding should only be set to Yes when there is no spread

    • Compounding Frequency (11877) = 1_D (Daily)

    • First Compounding Date (11878) = Dated Date (1183)

    • Last Compounding Date (11879) = Maturity Date (38)

Trade Processing

Once the reference data is set up, traded interest will be calculated correctly based on the daily compounded rates.

Accounting

Once an ARR security 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. This can be scheduled or triggered manually.

  • V17 & Above: Accounting Center > Processing and Exceptions > Global Processes > Earnings > Run Income Accruals

  • Prior to V17: Global Process Center > Earnings > Accrue

The attached  spreadsheet contains example calculations.

Change Index

Three methods are available to support existing securities that will be transitioned to ARR indexes. All methods assume the transition occurs on a coupon date. To use the second method, your existing securities must already have Coupon Type (97) = X (Floating Rate). 

  1. Use Time Sensitive Functionality

    1. Use original accrual terms up until effective date of the change, then updated accrual terms from the effective date forward

      1. See Time Sensitive Processing Notes

    2. Limitations:

      1. Can only be used for term IBOR such as LIBOR to term ARR such as SOFR (term IBOR to daily ARR requires one of the other methods)

      2. Not currently supported in EagleML (tracked as SDP-33927)

      3. Business Calendar, Reset Lookback Days, and Fixing Date Business Center are not included in the functionality and thus rollback/replay prior to effective date will produce different results after updating the SMF (these can be corrected with miscellaneous income/expense entries)

  2. Update Existing SMF

    1. Add new underlying security and populate fields required for Compound Average in Arrears interest (including spread, if applicable) directly on the existing SMF

      1. The full list of required field is above

      2. Make updates before accruals have been triggered for Earn Thru Date = date of transition, but after accruals have completed for the previous date

    2. Once the SMF has been updated, any accruals triggered subsequently will use the new accrual terms

      1. Note: this applies to all dates (backdated activity that results in rollback/replay will use the new accrual terms, even if some dates should use the original terms)

  3. Create New SMF, Redenomination of Bonds

    1. Create a new SMF with the updated accrual terms

      1. See Reuse Cross Reference Identifiers Processing Notes

    2. Create and process a Redenomination of Bonds corporate action to move the position

      1. Set Ex Date (65) = date of the transition and Conversion Factor (1716) = 1.00

      2. Note: this maintains the lot-level data for multi-lot positions

  4. Create New SMF, Close and Open

    1. Create a new SMF with the updated accrual terms

      1. See Reuse Cross Reference Identifiers Processing Notes

    2. Book a close and an open to move the position

      1. Close the existing position at cost and allow Eagle Accounting to calculate traded interest (should be zero)

      2. Open a position in the new security at the same cost and allow Eagle Accounting to calculate traded interest (should be zero again)

      3. Note: to maintain the lot-level data, you will have to book a separate close and open for each lot

The first method mostly ensures the integrity of past accruals with a single SMF, but can only be used for term IBOR to term ARR. The second method is easiest to implement, but does not ensure the integrity of past accruals. The third method ensures the integrity past accruals and maintains an audit trail between the closes and opens by using a single event, but requires new SMFs. The fourth method also ensures the integrity of past accruals and may be easier to automate depending on your trading/order management system (OMS), but requires new SMFs and also involves dummy trading activity. You should select whichever method fits best with your business requirements and operational resources.