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.
|
||||||||||||
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.
Ⓘ [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:
Ⓘ [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.
|
||||||||||||
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 |
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.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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).
Note that you should set DailyIndexCalculator OR IndexCalculator, not both. IndexCalculator takes precedence over DailyIndexCalculator. Other calculators are available out-of-the-box:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Index Type |
Used for Colombian indices.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IndexCalculator |
Used for specific rate indices:
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.
Ⓘ [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.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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)
ORIGINAL_RATE_DEC – Rounding applied to the saved rate in the quote set.
DAILY_RATE_DEC – Rounds the daily published rate after applying the period. Rate = Round(Rate)
FINAL_RATE_DEC – Rounds the product of the accumulated rate and accumulated spread. Rate = Round(Accumulated Rate * Accumulated Spread)
Inflation products When InflationIndex calculator is used, and when Calc Mtd = Interpolated, you can specify how to round the interpolated CPI value.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. |
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. |
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:
|
|||||||||
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:
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)