Once you have created a curve group, you can add interest rate and inflation curves to it.
On this page, we will discuss how to:
- define a generic interest rate or inflation curve
- define an offshore curve vs. a standard/onshore curve
- define a curve for cleared inflation swaps vs. bilateral
Generic IR and Inflation Curve Definition
There are four types of curves in Xplain:
- IR_INDEX curves (e.g. USD SOFR) (1)
- INFLATION_INDEX curves (e.g. GBP RPI) (2)
- XCCY curves (e.g. GBP/USD) (3)
- INDEX_BASIS curves (e.g. AUD 3M) (4)
(1) IR_INDEX curves are single currency curves built with FIX vs. float nodes (e.g. FixedOvernightSwap) or float vs. float nodes (e.g. OvernightOvernightSwap)
(2) INFLATION_INDEX curves are single currency curves built with FIX vs. float nodes (e.g. FixedInflationSwap)
(3) XCCY curves can be defined as hybrid curves with a mix of FxSwap, XCCYIborIborSwap, XCCYIborOvernightSwap, or XCCYOvernightOvernightSwap as applicable
(4) INDEX_BASIS are single currency curves built with float vs. float nodes (e.g. OvernightOvernightSwap) - to be deprecated in the future
Permissible values for curve names and associated nodes per currency can be found on the IR and Inflation Curves Permissible Values page.
The two steps required to add an IR or inflation curve to a curve group are as follows:
Part of our ‘NEW CURVE GROUP’ example that replicates the ‘LONDON’ curve group, this page will guide you through the process of defining a curve using two examples: manually defining the EUR ESTR curve with a 5y node, or importing all the data. You can download the example .CSV data import files here.
You can also add other types of curves and volatility surfaces to the curve group. Once all required items have been added, you can use the curve group to create a new curve configuration.
1. Creating a Curve
Under

To manually create a curve, click on



To import a curve (or a list of curves), click on (import) and select the relevant curve definition .CSV import file.
You can download the import file template here .


Field Name | Description | Permissible Values |
---|---|---|
Curve Type (*) | The type of curve | IR_INDEX | INDEX_BASIS | INFLATION_INDEX | XCCY |
Name | A list of curve names whose conventions are defined in Xplain |
e.g. EUR 6M See list of permissible values |
Interpolator | Interpolation methodology |
e.g. Linear See list of interpolators |
Interpolation Type | Whether the interpolation is on the Zero, Forward, or Discount Factor Rates | ZERO RATE | FORWARD RATE | DISCOUNT FACTOR |
Extrapolator Left/ Right | Extrapolation methodologies |
e.g. Flat See list of extrapolators |
Minimum Node Gap (**) | Setting out priorities when two curve nodes may be overlapping | 1D, 2D, 3D, 4D, 5D, 6D, 1W |
Node Clash Priority (**) | Futures have priority | Futures do not have priority | Futures | Nodes other than futures |
2. Adding Curve Nodes
Under
To manually add a curve node (or a list of nodes), click on





To import a node (or a list of nodes), click on (import) and select the relevant curve node definition .CSV import file.
You can download the import file template here .
The import example below is performed at the curve level but in practice, the curve node import should be performed at the curve list level (i.e. across all IR + Inflation curves).


Permissible curve nodes will be a function of the Curve Type and Name.
Field Name | Description | Permissible Values |
---|---|---|
Type | The curve node’s type |
e.g. FixedIborSwap See list of permissible values |
Convention | The Xplain convention defining underlying, daycount and frequency (where applicable) |
e.g. EUR-FIXED-1Y-EURIBOR-6M See list of permissible values |
Tenor (*) | The curve node’s tenor Implied from Convention for Type = “IborFixingDeposit” | Any tenor (e.g. 3M, 10Y) |
Settlement | Settlement period (for Type = ForwardRateAgreement only) | Any tenor (e.g. 3M, 1Y) |
Serial Future # (**) | Fixed period + Serial number (for Type = IborFuture only) | e.g. 2D+1 … 2D+6 |
Offshore Interest Rate Curves
To price offshore IRS trades, you will need to create offshore curves (i.e. different from the standard/onshore equivalent) which will be calibrated as projection curves with the relevant XCCY vs. USD curve as the discounting curve.
The permissible offshore IRS curves are:
- BRL CDI Offshore
- CLP TNA Offshore
- CNY 1W Offshore
- COP OIBOR Offshore
- ILS SHIBOR Offshore
- INR OMIBOR Offshore
- KRW KOFR Offshore
- KRW 13W Offshore
- MXN F-TIIE Offshore
- MXN 4W Offshore
- MYR MYOR Offshore
- MYR 3M Offshore
- THB THOR Offshore
- THB 6M Offshore
- TWD 3M Offshore
Each offshore curve will be associated to curve nodes with specific conventions (e.g. CNY-FIXED-3M-REPO-1W-OFFSHORE vs. CNY-FIXED-3M-REPO-1W).
See permissible values for BRL, CLP, CNY, COP, ILS, INR, KRW, MXN, MYR, THB and TWD in the Curve Permissible Values section.
At the trade level, the Onshore / Offshore attribute will flag offshore IRS trades.

See permissible values for Overnight and Ibor legs in the Trade leg attributes section.
Cleared vs. Bilateral Inflation Curves
To price cleared inflation trades, you will need to create the relevant CCH curve (i.e. different from the standard/”bilateral” equivalent).
The permissible CCH inflation curves are:
- EU EXT CPI LCH (vs. EU EXT CPI)
- FR EXT CPI LCH (vs. FR EXT CPI)
- GB RPI LCH (vs. GB RPI)
- US CPI U LCH (vs. US CPI U)
Each CCH curve will be associated to curve nodes with specific conventions (e.g. GBP-FIXED-ZC-GB-RPI-CLEARED vs. GBP-FIXED-ZC-GB-RPI).
See permissible values for EUR, GBP and USD in the Curve Permissible Values section.
At the trade level, the counterparty type and the counterparty dropdowns will flag cleared inflation trades and which CCH curve they should be mapped to.

See permissible values for generic trade attributes.
Once all required curves have been added, you can proceed to the curve configuration set up page.