Defining Rate Indices

The Rate Index window allows defining rate indices. This is a two step process:

You first define the characteristics of the rate index in the Rate Definition panel, and save the rate index.
Then you define tenors for the rate index in the Tenors panel.

You can only use a rate index throughout the system once both steps have been completed. It will be identified by its currency, index name, tenor, and source.

The actual rate values are set using Trade Lifecycle > Reset > Rate Reset, or using the RATE_RESET scheduled task.

 

1. Defining a Rate Index

From the Calypso Navigator, navigate to Configuration > Interest Rates > Rate Index Definitions.

The Rate Definition panel is selected by default. It is used to define rate indices and set default market conventions.

» Click New to create a new rate index, and enter the fields described below as applicable.
» You can click Average to specify averaging details if applicable.

See Specifying Average Rate Details for details.

» You can click Attributes to specify rate index attributes if applicable.

See Specifying Rate Index Attributes for details.

» Then click Save to save your changes.

You can also click Save As New to save the rate index as a new rate index, provided you select a new index name or currency.

Note that if the Authorization mode is enabled, an authorized user must approve your entry.

» Once the rate index is saved, click Load to make it available for selection. Then select the Tenors panel to specify tenors for the rate index.

See Specifying Tenors for details.

» To load an existing rate index definition, click Load and select the rate index from the list of rate indices.

Rate Index window – Rate Definition

The characteristics of the rate index will appear in the upper area of the table. You can modify the fields as needed, then click Save to save the changes.

Note that if the Authorization mode is enabled, an authorized user must approve your entry.

 

Fields Details

Fields

Description

Index

Select an index name.

If the desired index name does not appear, click Add to add it to the "rate_index" domain.

 Ⓘ   [NOTE: The index name cannot contain spaces]

Currency

Select the currency of the index.

Day Count

Select the default daycount convention to determine the number of days in an interest period.

Daycount conventions are described under Help > Day-Count Conventions.

Sources

Click ... to select quoting sources for the index as applicable.

If the desired quote source name does not appear, click Add to add it to the "rate_index_source" domain.

Date Roll

Select the default date roll convention to roll non-business days.

Date roll conventions are described under Help > Date Roll Conventions.

Time Zone

Select the time zone in which the rate is published.

Hour

Enter the time at which the rate is published in the selected time zone.

Period Rule

Select the default interest period generation rule.

ADJUSTED – You pay the exact day of the interest period.
UNADJUSTED – You do not pay the exact day if the end of period is not a business day.
MAT_UNADJUSTED – Same as ADJUSTED except for the maturity flow which is unadjusted (for derivatives).
FRN – Enforce start and end date at the end of the month even if the roll date is the 15 (for derivatives).

Publish Freq

Select the frequency at which the rate is published.

For the weekly frequency, you can select the day of the week the rate is published from the Day field.

When Inflation is selected for Index Type, the quarterly frequency also allows you to select the month of the year.

For Interest indices, you can select NON and select a publication date rule instead for complex frequencies. See Publish Date Rule below.

For Inflation indices, select a publication frequency and then enter a reference day and a publication lag.

The reference day is the day of the month when the inflation is effective, and the publication lag is the time lag between the effective date of an inflation level and its actual publication.

 Ⓘ   [NOTE: Publication Freq and Reference Day settings also have an impact on dates for interpolated points in the Inflation Curve window. See "Inflation Curve" in the Analytics and Pricing Environment documentation for details]

You can click Publications and generate the dates to make any modification if needed. Otherwise the reference day and publication lag are used to determine the publication dates, and the reference day and publishing frequency are used to determine the reference dates.

» Enter a "From" and "To" date, and click Generate. You can modify the reference dates or publication dates as needed.
» Click Save when you are done.

 Ⓘ   [NOTE: The system does not support end-of-month reference days 29, 30, and 31. This restriction also pertains to the Publications Dates window described above when modifying the Reference Date fields]

Default Source

Select the default quoting source from the list of sources defined for that index.

Publish Date Rule

Only applies to Interest indices.

Instead of selecting a publication frequency, you can click ... to select a date rule to generate the publication dates based on complex frequencies. Date rules are created using Configuration > Definitions > Date Schedule Definitions > Date Rule.

Pay Hol

Click ... to select default payment holiday calendars.

Used to set the default payment dates for interest rate trades.

Reset Hol

Only applies to Interest indices.

Click ... to select default reset holiday calendars.

Used to set the default reset dates for interest rate trades.

Publication Hol

Only applies to Inflation indices.

Click ... to select default publication holiday calendars.

Pay Days

Enter the number of days between the period end date, and the actual payment date, if paid in arrears. Entering 2 indicates that the payment date occurs 2 days after the period end date.

Or enter the number of days between the period start date, and the actual payment date, if NOT paid in arrears.

Reset Days

Only applies to Interest indices.

Enter the number of days between the actual reset date and the payment period end date, if reset is in arrears. Entering 2 indicates that the reset occurs 2 days before the payment period end date.

Or enter the number of days between the actual reset date and the payment period start date, if reset is NOT in arrears.

Index Lag

Only applies to Inflation indices.

Enter the number of days (D), weeks (W), months (M), or years (Y), between the actual publication date and the period end date, if paid in arrears. Entering 3M indicates that the publication occurs 3 months before the period end date.

Or enter the number of days (D), weeks (W), months (M), or years (Y), between the actual publication date and the period start date, if NOT paid in arrears.

Pay Bus Lag

Check to indicate that the Pay Days lag is measured in business days, or uncheck for calendar days.

Pay in Arrears

Check to indicate that the interest is paid at the end of each coupon period, or uncheck if the interest is paid at the beginning of the period.

Reset Bus Lag

Check to indicate that the Reset Days lag / Index Lag is measured in business days, or uncheck for calendar days.

Reset in Arrears

Check to indicate that the index resets / is published at the end of each coupon period, or uncheck if the index resets /is published at the beginning of the period.

Compound Freq

Only applies to Interest indices.

Select a compounding frequency if applicable, or NON.

Calc Mtd

Only applies to Inflation indices.

Select the calculation method:

IndexLevel – Index levels are not interpolated between publication dates. The same index level is used throughout the period.
Interpolated – Index levels are interpolated between publication dates. Select the interpolation method from the Interp Mtd field.

 Ⓘ   [NOTE: The "Calc Mtd" setting also has an impact on dates for interpolated points in the Inflation Curve window. See "Inflation Curve" in the Analytics and Pricing Environment documentation for details]

Interp Mtd

Only applies to Interpolated Inflation indices.

The only option is "Weighted". Index levels are interpolated using the following formula.

For example, to calculate an interpolated May 12thCPI index level, which has a 3 month lag:

 Ⓘ   [NOTE: The Daycount set on the Rate Index Definition is used by the interpolation formula when calculating dd and DiM. For example, if 30/360 is set as the Daycount, DiM will always use 30]

Index Type

Select Bond, Interest, Inflation, Notional Factor, or Swap.

Bond Index Type

The Bond type should be used for CMS/CMT bond indices.

Set the bond default in the rate index attribute CMT_BOND_NAME.

Inflation Index Type

For inflation-based rate indices. A full setup example of the inflation index is described in the Inflation Swap documentation.

Interest Index Type

Standard rate index.

Notional Factor Index Type

The Notional Factor type should be used for SELIC bond indices.

In the rate index attribute UNDERLYING_RATE_INDEX, specify the index to be used in case the notional factor quote is unavailable and one needs to be projected.

Swap Index Type

The Swap type should be used for CMS swap indices. When you select Swap, click Swap to specify the most liquid swap.

» Enter the various fields to define the swap, and click Apply. The coupon frequency, rate index name, and rate index tenor are retrieved from the swap.

Rate Rounding

Select the rounding method for the rates.

Rounding methods are described under Help > Rate Rounding.

 Ⓘ   [NOTE: When you select NONE,  there is no rounding of the rate – All decimals are retained]

No Automatic Interpolation

This checkbox is not related to the interpolation method of Inflation indices.

When checked, there is no automatic interpolation applied to stub periods, otherwise stub periods are automatically interpolated.

Quote Type

Select the quote type for the rate.

Comment

Enter a free form comment.

Formula

Click ... to open the Formula Helper window that allows defining a rate index using a formula combining other indices.

You can also enter the formula directly in the Formula field, and click Parse to check the syntax. The parser recognizes any “common-formatted” algebraic expression. It also has some predefined useful functions, like Gaussian curves, min, max, etc. For more information, refer to the Javadoc for the com/calypso/tk/util/parser/ExprFunction class.

 

Sample Usage

A rate index is typically selected by currency, index name, tenor and source.

Sample swap trade

 

2. Specifying Rate Index Attributes

You can set user-defined attributes, or out-of-the-box attributes.

Rate Index attributes

» Double-click a Value cell to enter a value for the corresponding attribute. Out-of-the-box attributes are described below.

Note that the attribute names and their values are case sensitive.

If you want to create a list of available values for a given attribute, you need to create a domain named “RateIndex.<attribute name>”, and add the available values to that domain.

» You can click ... to add attributes if they are not available.
» Click Apply when you are done to return to the Rate Index window.
» Then click Save to save the changes to the rate index.

 

Attributes Details

Attributes

Description

Advance

Used for overnight rate indices in Advance trades.

It should be set to VRC to identify such rate indices, so that the trades can be identified as VRC.

BRL_CONVENTION

BRL_SUBTYPE

Not used.

CheckBusDayOnResetLag

Enter the name of the holiday calendar that was set up for AED EIBOR rate resets. This holiday calendar uses the rule type AED-SATURDAY-NBD.

See Defining Holiday Calendars for details.

CMT_BOND_COUPON

Not used.

CMT_BOND_NAME

Bond default name for CMS/CMT bonds.

Coupn_Frq

Not used.

CTCHolidayReset

Holiday calendars for Cost To Carry computation of Cash Positions.

DailyIndexCalculator

Set to DailyCompound to allow daily compounding (recommended setting).

See Note on Daily Compounding for details.

Note that you should set DailyIndexCalculator OR IndexCalculator, not both. IndexCalculator takes precedence over DailyIndexCalculator.

Other calculators are available out-of-the-box:

TBillDailyCompound
LiborDailyDecompound

Discontinued_Tenors

Allows users to hide selected tenors for newly created Swaps, Swaptions, and Structured Products. You can enter a comma-separated list of tenors. No spaces are needed.

 Ⓘ   [NOTE: Previously saved trades using discontinued tenors will still have the tenors available and selected]

Excl_intrp_tnr_list

A list of comma-separated tenors to be excluded from being used within stub interpolation (on the Stub Periods tab of the Product Details window). You can use the scheduled task ADJUST_STUB_TENORS to recalculate stub periods on existing trades.

FallbackCalculatorAsOfDate

For use in conjunction with the Index Calculator: FallbackISDA for LIBOR trades. This is the date on which the new Index Calculator is set on the LIBOR Rate Index. When Val Date is before the FallBackCalculatorAsOfDate, the Fallback ISDA Index Calculator logic is not applied.

FixedTenorRFRRollMethod For use with the ESTRAVG rate index. Set to MOD_PRECED to make use of the FixedTenorCompoundedRFR Index Calculator.

FWD_CRYS

Set to true to crystallize the last known rate for averaging rates, MRO rate for example.

Default is false.

FWD_DAILY

Used for EONIA index calculator only.

Set to true to compute the final interest using estimated future daily resets, or false to compute the final interest using the final estimated reset only.

IA_CMP_INT_RATES_ADJ

Set to true to force each compound index to be adjusted via an "InArrears" adjustment, the total compounded interest amount just paid at the payment date.

Default is false.

Index Convention

Used for Colombian indices.

Please refer to Calypso Fixed Income documentation for details.

Index Type

Used for Colombian indices.

Please refer to Calypso Fixed Income documentation for details.

IndexCalculator

Used for specific rate indices:

For a bond, swap, cap / floor inflation index, set to InflationIndexKerkhof - Sample setup in Inflation Swaps documentation.

See Capturing Inflation Swaps for details.

For an Australian bond CPI inflation index, set to AUDCPI (it calculates the historical “p” and “k” factors and payment amounts).

You can also set to PayOffBasedInflation. For AUD CPI bonds, it uses the AUDCPI calculator and for the other AUD CPI products, it uses the InflationIndexKerkhof calculator. This way, you only need to define one rate index for all AUD CPI products.

For a South African bond CPI inflation index, set to ZARCPI (it uses -3 and -4 months for interpolation while the regular CPI calculator uses -3 and -2 months for interpolation).
For IGPM Pro Rata BRL swaps, set to InflationIndexBRL - Sample setup in Brazilian Swaps documentation.

See Capturing Brazilian Swaps for details.

For a Brazilian NTN-B or NTN-C bond, set to BrazilInflationIndex.
For a bond TEC10, set to TEC10.
For a CMS swap index, set to SwapRate - Sample setup in CMS Swaps documentation.

See Capturing CMS Swaps for details.

For a CMT swap index, set to CMT.
For an overnight index, set to OISNew - Sample setup in OIS Swaps documentation.

See Note on Daily Compounding for details of overnight indices.

See Capturing OIS Swaps for details.

For a French compounded index, set to T4M, TAG, TAM, TEC10, TME, THE, TMO, THO as applicable.
For a Japanese STPR index, set to STPR.
For an LTPR index, set to LongTermPrime.
For a crystallized EONIA, set to EONIA.
For an ECB repo, set to MROIndex - The MRO index is averaging weekly, see below for averaging details.
For a Peruvian overnight index in Peruvian sol (PEN), set to TNA.
For the ICP rate index in Chilean Peso (CLP currency), set to TNA - Sample setup in Chilean Swaps documentation.

See Capturing Chilean Swaps for details.

For the ICP rate index in Chilean UF (CLF currency), set to TRA - Sample setup in Chilean Swaps documentation.

See Capturing Chilean Swaps for details.

For a SOFRAVG index, set to FixedTenorCompoundingRFR. For a SOFRINDEX index, set to CompoundingRFR.

See Recommended SOFRAVG Setup, and Recommended SOFRINDEX Setup for details.

For swaps using the ISDA Fallback Protocol for the transition from LIBOR to a risk free rate such as SOFR, set to FallbackISDA.

See Specifying Libor Fallback for complete details.

For the reference rate of columbian repos, set to DailyBanrep.

 Ⓘ   [NOTE: DailyBanrep can only be used to repos]

IsPrime

Set to true to identify a prime rate so that the COF-PRIME spread is displayed for Advances.

See Capturing Advances for details.

NO_AVG_FORECAST

Set to true to take the reset from the forecast curve only on reset date since the forecast curve is supposed to have already averaged rates.

Default is false.

Nominal Index

The underlying overnight rate index that the compounded rate index is referencing.

E.g. For a SOFRAVG rate index that references an already-established SOFR rate index defined with the Index Name SOFR, set to SOFR.

In the case of LIBOR fallback trades, this is the name of the RFR rate index that is replacing libor.

OISMethod

Default is empty.

It can be set to OIS for the OISNew calculator to use the compounding calculation of the OIS calculator.

See Note on Daily Compounding for details.

OPTIMIZE_AVG_RESET

Set to true to optimize average deals when performing MTM and revaluation.

Default is false.

RESET_TIMING

Only applies to Repo and SecLending trades.

Allows specifying the default reset timing on a given index. The only possible values are END_PER or BEG_PER.

RATE_INDEX_CODE.<source>

ISDA code.

The attribute is in the form “RATE_INDEX_CODE.<source>”, for example “RATE_INDEX_CODE.T350” = EUR-EURIBOR-TELERATE.

If the attribute is specified, its value will be used in messages, otherwise the index will be identified as “<currency>-<index name>-<index source>”, for example EUR-EURIBOR-T350.

ROUND_FINAL_DAILY_RATE_DEC

ORIGINAL_RATE_DEC

ORIGINAL_RATE_ROUNDING_METHOD

DAILY_RATE_DEC

DAILY_RATE_ROUNDING_METHOD

FINAL_RATE_DEC

FINAL_RATE_ROUNDING_METHOD

OIS swaps

When DailyCompound calculator is used, you can specify how to round the rate.

ROUND_FINAL_DAILY_RATE_DEC – Rounds the accumulated rate for the trade. Only applies to multiplicative spreads.

Rate = Round(Daily Rate * Accumulated Rate)

Specify the number of decimals in ROUND_FINAL_DAILY_RATE_DEC.

ORIGINAL_RATE_DEC – Rounding applied to the saved rate in the quote set.

Specify the number of decimals in ORIGINAL_RATE_DEC.
Specify the rounding method in ORIGINAL_RATE_ROUNDING_METHOD: UP, DOWN, or NEAREST.

DAILY_RATE_DEC – Rounds the daily published rate after applying the period.

Rate = Round(Rate)

Specify the number of decimals in DAILY_RATE_ROUNDING_METHOD.
Specify the rounding method in DAILY_RATE_ROUNDING_METHOD: UP, DOWN, or NEAREST.

FINAL_RATE_DEC – Rounds the product of the accumulated rate and accumulated spread.

Rate = Round(Accumulated Rate * Accumulated Spread)

Specify the number of decimals in FINAL_RATE_DEC.
Specify the rounding method in FINAL_RATE_ROUNDING_METHOD: UP, DOWN, or NEAREST.

Inflation products

When InflationIndex calculator is used, and when Calc Mtd = Interpolated, you can specify how to round the interpolated CPI value.

Specify the number of decimals in FINAL_RATE_DEC.
Specify the rounding method in FINAL_RATE_ROUNDING_METHOD: UP, DOWN, or NEAREST.

ROUND_FINAL_RATE

ROUND_FINAL_RATE_ISDA

Applies to rounding of rate indices with index factor and spread.

Here is the list of possibilities using both attributes.

ROUND_FINAL_RATE = True, ROUND_FINAL_RATE_ISDA = True

Rate = No rounding

Final Rate = Round(Rate * Index Factor) + Spread

ROUND_FINAL_RATE = False, ROUND_FINAL_RATE_ISDA = True/False

Rate = Round(Rate)

Final Rate = Round(Rate) * Index Factor + Spread

ROUND_FINAL_RATE = True, ROUND_FINAL_RATE_ISDA = False

Rate = No rounding

Final Rate = Round(Rate * Index Factor + Spread)

RateLookback

True or false. Default is false.

Set to true to allow rate lookback. You can set the number of days in RateLookbackDays.

RateLookbackDays

Number of days to look back for missing quotes if today’s quote is not available.

ResetsPerTenor

True or false. Default is false.

To be used when the rate index tenor is greater than 1 year, and the payment frequency is less than the rate index tenor. When it is set to true, the cashflow generator uses the rate index tenor to generate reset dates instead of the payment frequency.

RoundingMethod

For the EONIA rate index, it must be set to SICOVAM.

Note that on the bond, rounding for accrual digital = rounding for coupon rate decimal = 6/DOWN.

Standard_SwapCurveUnderlying_Id

No longer used as of patch 903. Select the Index Type “Swap” instead.

UMR_Index_Mapping

Used for multiple rate indices like SIFMA and MUNIPSA. Can have the value of label2 in the CRIF file. If the existing hardcoded mappings do not map to any label2, this rate index attribure is used to map the index to label2. Used in MARGIN_INPUT scheduled task.

UNDERLYING_RATE_INDEX

Only applies to Notional Factor indices.

Specify the index to be used in case the notional factor quote is unavailable and one needs to be projected.

Use Inflation Ref Date

Only applies to Inflation indices that are defined as Index Level but use a forecast curve whose points are reference (settle) dates instead of inflation date (actual dates on which inflation is set).

In this case, it should be set to true.

USE_ARREAR_ADJ

Default is true. In-arrear convexity adjustments are applied when Reset Timing = END_PER. It is based on the correlation between the payment frequency and the index frequency.

Set to false to ignore in-arrear convexity adjustments.

USE_CURVE_FRQ

Set to true to use the frequency of the curve definition to retrieve forward rates, or false otherwise.

It should be set to true for the CDI rate index.

USE_INDEX_FREQUENCY

The Rate Index attribute USE_INDEX_FREQUENCY allows users to set a default compounding frequency as part of a Rate Index Definition given market standard conventions. So, if a Rate Index is always quoted as annual rates, you would set the Compound Frequency to PA and set this attribute to true. Then the forward rates returned by the curve will always use this frequency instead of applying the default logic (which usually assumes frequency is the same as the compound freq on the trade).

Use_Pmt_Hols_for_Curve_Gen

Set to true to use payment holidays from the rate index to generate swap start and end date.

Default is false.

Use_Pmt_Hols_for_Fwd_End_Dt

Set to true to roll Forward End Date using both Rate Index Defaults Reset and Pay Hol, else just Reset Hol is used.

Default is false.

VariationIndex

Specify an index for daily projection rates for Brazilian NTN-B or NTN-C bonds.

 

Note on Daily Compounding

There are different ways of setting a rate for daily compounding: DailyIndexCalculator = DailyCompound OR IndexCalculator = OISNew OR IndexCalculator = OIS.

With OISNew, USE_ARREAR_ADJ is set to true to calculate convexity adjustments. For OIS, it is hard-coded to false.

The main difference between DailyCompound and OIS / OISNew is the following:

With DailyCompound, you set the compound frequency on the trade.
With OIS / OISNew, the compound frequency is hard-coded to DLY (Daily). You cannot select the DLY compounding frequency on the trade but the index calculator takes care of it. The compounding frequency on the rate index must be set to NON.

Note that if you have IndexCalculator = OISNew and OISMethod=OIS, it is the same as IndexCalculator = OIS.

 Ⓘ   [NOTE: DailyIndexCalculator, IndexCalculator, USE_ARREAR_ADJ, and OISMethod are all rate index attributes]

 

Summary of differences between daily compounding calculators:

Features

IndexCalculator = EONIA

IndexCalculator = OIS

IndexCalculator = OISNew

DailyIndexCalculator = DailyCompound

DailyIndexCalculator = DailyCompound2

USE_ARREAR_ADJ

No convexity adjustment.

No convexity adjustment.

Can be set to true or false.

No convexity adjustment.

No convexity adjustment. Compounding frequency selected on the trade.

Control over trade compounding frequency

No - DLY compounding is hard-coded.

No - DLY compounding is hard-coded.

Compounding frequency on rate index must be set to NON.

No - DLY compounding is hard-coded.

Compounding frequency on rate index must be set to NON.

Compounding frequency selected on the trade.

No convexity adjustment. Compounding frequency selected on the trade.

Control over trade Reset Lag

No - It comes from the Rate Index.

No - It comes from the Rate Index.

No - It comes from the Rate Index.

No - It comes from the Rate Index.

Can be overridden at the trade level.

Control over Reset Holidays

No - It comes from the Rate Index.

No - It comes from the Rate Index. Also in finding the final rate in a period it rolls to the next date (it ignores the Period Rule of the Rate Index).

No - It comes from the Rate Index. Also in finding the final rate in a period it rolls to the next date (it ignores the Period Rule of the Rate Index).

Ignores Date Roll "NO_CHANGE".

No - It comes from the Rate Index.

The Period Rule of the Rate Index is respected.

Respects Date Roll "NO_CHANGE".

Can be overridden at the trade level.

Rounding

Defaults to Rate Index rounding - Can be overridden on the trade.

Ignores Rate Index rounding - Can be set on the trade.

Defaults to Rate Index rounding - Can be overridden on the trade.

 See DailyCompound rounding attributes.

Can be overridden at the trade level.

Reset timing: Beginning or End

Hard-coded to End.

Hard-coded to End.

Hard-coded to End.

Hard-coded to End.

Can be overridden at the trade level, plus new feature allows user to change sample timing from beginning to end.

Compounding Flat

Not used.

Not used.

Can be selected on the trade.

Can be selected on the trade.

Can be selected on the trade.

Compounding Spread

Not used.

Not used.

Not used.

Can be selected on the trade.

Can be selected on the trade.

Compounding NoComp

Not used.

Not used.

Not used.

Can be selected on the trade.

Can be selected on the trade.

Compounding Simple

Not used.

Not used.

Not used.

Can be selected on the trade.

Can be selected on the trade.

Compounding as in OIS calculator

No.

Yes.

Yes with OISMethod = OIS

No.

No.

Sample Dates Display, with spread

No.

Yes.

Yes.

Yes.

Configurable Columns in the Viewer at the trade level.

Sample Dates Display, no spread

No.

Yes.

Yes.

Yes - Configurable Columns in the Viewer at the trade level.

Configurable Columns in the Viewer at the trade level.

 

 Ⓘ   [NOTE: If you select the DLY compounding frequency on a trade for a rate index that is not setup for daily compounding, the DailyCompound calculator will be used by default]

 

3. Specifying Average Rate Details

The settings in the Average Rate Details window are used to set the default values for average rate IRD trades, and as parameters for average rate curve underlying instruments. This window also allows defining index rates based on other index rates.

Average rate details

» Enter the fields described below as applicable, and click Apply to return to the Rate Index window.
» Then click Save to save the changes to the rate index.

 

Fields Details

Fields

Description

Method

Select the averaging method:

Equal – Resets within the averaging period will be equally weighted.
Weighted – Resets will be weighted by the number of days for which each rate applies. For example, if a reset occurred on a Monday, the weight would be 1 day; if a reset occurred on a Friday, the weight would be 3 days, taking into account Friday, Saturday and Sunday.
Simple – Mean rate within the averaging period.

Frequency

Select the averaging period.

For a weekly averaging, you can select the day of the week when the averaging period starts from the Week Day field.

Start Offset

Enter the number of days prior to the payment date to specify the beginning of the averaging period.

In the example below, the index is based on the standard EONIA but the reset date will be 7 days prior to the coupon date.

CutOff Days

Only applies to daily averaging.

Enter the number of days prior to the payment date for the rate reset cutoff, usually “1”.

The Bus label indicates that the cutoff is a number of business days. Double-click the Bus label to change to Cal as applicable for indicating that the cutoff is a number of calendar days.

Period Rule

Select Match or Custom. Match indicates that the rates are sampled over the entire averaging period. Custom indicates that the averaging period is a custom averaging period implemented via the toolkit.

Rounding Unit

Enter the number of decimal places for rounding.

Unadjust Sample Date

Only applies to weighted averages.

Check to not adjust sample dates according to holidays, or uncheck to adjust sample dates according to holidays.

Underlying Rate Index

Select the underlying index which is the basis for the average calculation, or is the basis of the rate index.

Note that if an index is based on another index, when you enter the quotes of the underlying index, the quotes of the index are automatically calculated.

You can also use an underlying rate index to crystallize the value of a rate index. For example, if you specify a rate index with underlying rate index EONIA, and set the IndexCalculator attribute to EONIA, the quote of the EONIA will be crystallized on the rate index.

Example: French T4M

The French T4M is a weighted monthly average of the EONIA:

Similarly:

The French TME is a monthly average of the THE.
The French TMO is a monthly average of the THO.
The French TAG is a capitalization of the T4M for the last twelve months, etc.

Example: MRO Index

The MRO index averages weekly.

It uses a specific index calculator. You can also set the attribute FWD_CRYS to true to crystallize the last known rate.

 

4. Specifying Libor Fallback

For trades that will not be migrated by the Libor cessation date, you can use the Libor fallback method for pricing and resetting the trades.

 

You need to set the following attributes on the Libor rate index.

IndexCalculator = FallbackISDA
FallbackCalculatorAsOfDate - <date on which the FallbackISDA calculator is effective - If you price a Libor trade on Val Date < FallbackCalculatorAsOfDate, the fallback logic is not applied.
NominalIndex - <RFR index replacing Libor>
NominalIndexSource - <RFR index source if different from Libor>

 

To capture LIBOR Fallback Data at the Rate Index Tenor Level, click Fallback Data.

Cessation Effective Date - This date is used by the calculator to determine whether or not the fallback logic applies to a given Libor cashflow. If Cashflow Reset Date >= Cessation Effective Date, then fallback pricing and resetting applies.
RFR Adjusted Spread - This spread is used by the calculator to calculate an all-in forward rate (added to the compounded forward rate looked up from the RFR curve). This spread is eventually expected to be a fixed static value. Given that USD LIBOR will be live until 2023, the system will also support storing the value as a Quote until such time it becomes fixed.

 

5. Rebasing an Inflation Index

You can click Rebase to rebase the index level as needed.

» Step 1 – Enter an effective date and a rebase factor in percentage.
» Step 2 – Click Save.

 

6. Specifying Tenors

Select the Tenors panel to define each available quoted index in the system. A rate index is defined by the combination of currency, index name, tenor and source. A tenor must be associated with an index before the index can be used in the system.

Rate Index window – Tenors

» To add a tenor to an index, select a currency, an index, a tenor and a source.

You can also select a date roll convention and a daycount convention, if different from the default rate index definition.

You can check the “Follow end-end maturity convention” checkbox, to correct the end date of the index in accordance with the BBA definition. This applies to BBA Libor indices.

Follow end-end maturity convention is for Fwd End. If Fwd Begin is the last business day of the month, Fwd End will be the last bus day. If Fwd Begin is not the last business day, Fwd End will not be the last business day at fwd end period.

“Where a deposit is made on the final business day of a particular calendar month, the maturity of the deposit shall be on the final business day of the month in which it matures (not the corresponding date in the month of maturity). Or in other words, in line with market convention, BBA LIBOR rates are dealt on an end-end basis. For instance a one month deposit for value 28th February would mature on 31st March, not the 28th of March.”

» You can also click Save Multiple Tenors to add multiple tenors at a time. You will be prompted to select tenors.
» Then click Save.

 

7. Modifying a Rate Index

» Select a rate index, and modify the fields as applicable.
» Then click Save to save your changes.

You can also click Save As New to save the rate index as a new rate index, provided you select a new index name or currency.

 

8. Deleting a Rate Index

» To delete a rate index, you first need to delete all the tenors (provided they are not used), and then delete the rate index definition.

 

9. Showing Pending Modifications

» Select a rate index and click Show Pending Modifications to show any rate index pending authorization.

Note that this only applies if the Authorization mode is enabled. The Authorization checkbox will appear checked if the Authorization mode is enabled. Refer to the Calypso Security User Guide for details.

 

10. Recommended FEDFUNDS Setup

Sample FEDFUNDS index

 

Attributes

 

Average Rate Details

 

11. Recommended SOFR Setup

Sample SOFR index

 

Attributes

It is recommend to use the DailyCompound2 index calculator, which allows for more customization at the Product/Trade level (i.e. ability to define different Reset Lag Days per product, etc.).

Please note that when DailyCompound2 is used, Reset Timing must explicitly be set to END_PER (Reset In Arrears). Using BEG_PER will result in a calculated rate at the start of the coupon (referencing an observation period prior to the coupon start). Please consider this setting on curve underlyings as well as trades.

RateLookbackDays can be configured to a larger number if FRNs referencing SOFR use longer settle lags (for example, if there is a T+8 settled FRN, this attribute should be set to 9 to ensure forward dated accruals properly use the last published SOFR rate). In any case, pricing always uses the most recent rate.

 

Average Rate Details

It is recommended that the “Rounding Unit” be left blank. When the calculated weighted average rate is known, it follows the rounding specified above.

 

Tenors

Only the 1D tenor is currently available in the market.

 

12. Recommended SOFRAVG Setup

By referencing a fixed tenor compounded index, coupons can be calculated off of a single reset observed at the beginning or end of each coupon.

Sample SOFRAVG Rate Definition

 

Attributes

IndexCalculator is set to FixedTenorCompoundedRFR, and NominalIndex is set to SOFR.

 

Tenors

SOFRAVG uses 30, 90, and 180 calendar day tenors.

 Ⓘ   [NOTE: Compounding and Averaging are not supported for this index, so nothing need be configured in the Average Rate Details window]

 

13. Recommended SOFRINDEX Setup

By referencing the compounded index, coupons can be calculated off of two resets observed at the beginning and end of each coupon.

Sample SOFRINDEX Rate Definition

 

Attributes

IndexCalculator is set to CompoundedRFR and NominalIndex is set to SOFR.

 Ⓘ   [NOTE: For the CompoundedRFR index calculator, bonds use the rate lookback specified in the nominal index attribute RateLookbackDays, while other products only allow a 1-day tolerance]

 

Tenors

At minimum, a single 0D tenor should be configured for this index.

 

14. Recommended ESTRAVG Setup

To ensure that the FixedTenorCompoundedRFR Index Calculator functions properly for this index, set FixedTenorRFRRollMethod to MOD_PRECED.

 

Tenors

ESTRAVG publishes 1W, 1M, 3M, 6M, and 12M tenors.

 

 

15. Recommended MXN TIIE Rate Index Setup

 

The aim of this MXN TIIE Rate Index enhancement is to be able to price projected TIIE cashflows where fallback is applied according to the calculation methodology. While this is actually a change in methodology in the way that TIIE rates will be calculated and not technically a fallback rate.

 

 

Detailed Specifications

 

15.1 Rate Index Configuration

 

The MXN TIIE Rate Index can be set up as follows:

 

 

Due to the conventions of MXN TIIE, the tenors should be set up as Weekly tenors (other than 1D). The 4W tenor is the most liquid tenor.

 

 

15.1.1 New Index Calculator

 

A new Index Calculator has been added to hold the fallback pricing logic for MXN TIIE: FallbackTIIE.

This allows users to achieve backdated pricing where the Val Date can be set to a date < FallbackCalculatorAsOfDate and no fallback pricing will be applied (as if the IndexCalculator is not set).

 

 Ⓘ   Note: The FallbackTIIE calculator makes use of the 1D tenor of the same Rate Index. Therefore, there is no need to specify a NominalIndex.

 

 

15.1.2 Fallback Data

 

The existing Fallback Data UI will be used to hold the fallback spread to be applied for each tenor as well as the date on which a MXN TIIE cashflow would be considered as “Fallback Applied” (i.e. Reset Date >= Cessation Effective Date).

 

 

15.2 Cashflows

 

The fallback pricing and resetting logic for MXN TIIE is much more simple than ISDA fallbacks. Therefore, the only fallback related cashflow column that is relevant to MXN TIIE cashflows is:

Fallback Applied
Fwd Beg: If Fallback Applied = true, display the Fwd Beg of the 1D rate used for pricing
Fwd End: If Fallback Applied = true, display the Fwd End of the 1D rate used for pricing

 

 Ⓘ   Note: The Reset Date never changes for MXN TIIE cashflows where Fallback is applied .

 

15.3 Pricing

 

15.3.1 Fallback Forecast Curve

 

The MXN TIIE fallback solution will support a fallback forecast curve that will be configured via the Product Specific tab of Pricer Config. The curve mapped for this purpose should be the MXN TIIE 1D curve and it will be used to retrieve the projected TIIE 1D rate needed to calculate the projected TIIE fallback rate.

 

As per the current FB_FOR implementation, this mapping is not required and if this curve mapping is not found, the fallback cashflows will continue to be priced using the existing MXN TIIE forecast curve

 

 

15.3.2 Forward Rate Calculation

 

For TIIE cashflows where “Fallback Applied” = true, the “Fwd Rate” cashflow column should show the projected TIIE fallback rate calculated as follows:

 

 

Where,

TF = The MXN TIIE 1D rate for Reset Date – 1 MEX* bus day. This should be looked up on the FB_FOR curve. (*or whatever Reset Holiday Calendar is saved for MXN TIIE Rate Index. Any trade level override of the Reset Holidays should be ignored).

N = the number of days implied in the Rate Index Tenor (example: 28D or 4W = 28).

Adjustment = the RFR Adjusted Spread saved for the MNX TIIE tenor in Fallback Data.

 

The TIIE 1D rate look up on the FB_FOR curve should follow the standard forward period looks up where the Fwd Beg and Fwd End 1D period should always fall on a good business day.

There are two specific use cases that must be covered where the MXN TIIE 1D quote must be used instead of looking up the projected rate from the FB_FOR curve:

Where the Val Date = Reset Date – 1 MEX bus day (i.e. the Date for which the 1D rate is needed for formula above), and the MXN TIIE 1D quote is available for today. In this case, it is still possible to project the MXN TIIE 1D rate from the curve, but the quote, if available, should be used instead to calculated the projected TIIE fallback rate . A new Pricing Parameter has been implemented (available only at the global PE level – not transiently on the trade window) called RESET_TIIE1D_FROM_CURVE.

 

If RESET_TIIE1D_FROM_CURVE = false (default value if not defined), if a quote for TIIE !D is found on Val Date = Reset Date – 1, use it. If not found, forecast from curve.

If RESET_TIIE1D_FROM_CURVE = true, on Val Date = Reset Date -1, always forecast from curve, even if a quote is found.

 

Where the Val Date = Reset Date and the MXN TIIE fallback rate is not yet saved to the Quote Set (or RESET_FROM_CURVE = true). In this case, the TIIE 1D rate cannot be projected from the curve and a TIIE 1D quote must be retrieved from the Quote Set for Reset Date – 1 MEX bus day. Once the rate is retrieved, the same formula above would be applied .

 

On Val Date = Reset Date, if TIIE Fallback Rate (i.e. 4W tenor quote) is found AND RESET_FROM_CURVE <> true, use the quote.

On Val Date = Reset Date, if (TIIE Fallback Rate (i.e. 4W tenor quote) is NOT found OR RESET_FROM_CURVE = true) AND if TIIE 1D rate for Reset Date -1 is NOT found, throw missing quote error for TIIE 1D quote

On Val Date = Reset Date, doing Check Market Data should show the TIIE Fallback Rate quote (i.e. 4W tenor quote actually used on the cashflow)