The curve calibration applied at the start of a valuation process can also be performed on a standalone basis at the curve configuration level.
To perform valuations in Xplain, you will need to define:
For curve calibration at the curve configuration level, we will define a hypothetical portfolio comprising a representative sample of IRS, inflation and FX trades across each curve in the curve configuration (no valuation will be performed).
On this page, we will discuss how to:
- run a curve calibration
- export calibration results, including ZC rates and discount factors
- understand how various parameters will impact the calibration algorithm, including discount currency, stripping type and CSA discounting
You can use the pre-configured ‘XPLAIN Default’, ‘LONDON’ curve configurations or the ‘NEW CURVE CONFIGURATION’ example that you may have defined.
Running a Curve Calibration
Under
Once you have run a curve calibration, you can export the calibration results.
Field Name | Description | Permissible Values |
---|---|---|
Market Data Group | The market data group that contains the raw market data | See Market Data |
Market Data Source | Data type (raw, preliminary cleansed or overlay) + Data provider (primary or secondary) |
RAW | PRELIMINARY | OVERLAY PRIMARY | SECONDARY See using MD exception management results |
Stripping Type | Dual stripping (for the projection and discount curves) or Single curve stripping See here. |
OIS (DUAL) | SINGLE |
Discount Ccy | Applicable single currency for discounting purposes or If Discount Ccy = 'Local Ccy', the discount currency will be a function of the trade type and user parameterisation (see here) |
Any permissible discount currency Local Ccy |
Curve Date | The market data's historical curve date (default = system date) | YYYY-MM-DD (ISO 8601) |
Valuation Date | The valuation date (default = Curve Date) | YYYY-MM-DD (ISO 8601) |
Triangulation Ccy | The triangulation currency used first when no direct base vs counter curve can be found for foreign cashflow discounting | Any permissible discount currency |
Bid/Mid/Ask | Market data side for projection and discounting curves, FX rates, ATM swaption and FX volatilities, and Swaption and FX volatility skews | Bid | Mid | Ask |
Curves/Curve Configurations/NEW CURVE CONFIGURATION

In this example, you will calibrate the ‘NEW CURVE CONFIGURATION’ with the following parameters:
- valuation date and curve date set to 30th November 2022
- market data from the existing ‘12PM LONDON‘ market data group
- raw market data from the primary provider (meaning market data that have not been processed for anomaly detection)
- dual stripping type (OIS discounting)
- USD discount currency
- mid market data
Once the calibration has been performed, you can see which interest rate and inflation curves have been succesfully calibrated and which curve will be used as the discount curve for a given currency.

You can also export all calibration results at the curve configuration level.
At the interest rate (inflation) curve level, you can view and export the calibrated zero coupon rates (price indices) and discount factors for discount curves.


At the credit curve level, you can view and export the calibrated survival probabilities.


Export Calibration Results
At the curve configuration level (or at the curve level for a single curve), once you have run a curve calibration, you can export calibration results for all curves which have been successfully calibrated, by clicking on and select the required report in the dropdown menu:
- select
Price Indices/ZC/FWD Rates + Implied Discount Factors for data actual curve nodes and monthly interpolated data from the valuation date - select the
[...] (Month End) option for interpolated month end data
The export .csv file will contain the following columns:
- Curve Name
- Date
- (interpolated) Zero Rate, if the curve is an interest rate curve for which the Interpolation Type is not set to “Forward Rate”
- (interpolated) Price Index, if the curve is an inflation curve
- (interpolated) Forward Rate, if the curve is an interest rate curve for which the Interpolation Type is set to “Forward Rate”
- (implied) Discount Factor, if the curve is an interest rate curve for which the Interpolation Type is not set to “Forward Rate”: this is the implied discount factor corresponding to a zero coupon rate at a given date, even if the curve is not used as a discount curve
- (implied) Market Rate, if the curve is an inflation curve: this is the implied zero coupon inflation market rate corresponding to a price index at a given date
Curve Calibration Algorithm
The curve calibration workflow that is used to determine and validate the relevant projection and discount curves when performing a valuation is described below. Such workflow can be run for illustration purposes at the curve configuration level.

If Discount Ccy is set to a specified single base currency (e.g. EUR), the constraint will be that there is an OIS curve for such currency. The permissible values for a single Discount Ccy are USD, EUR, GBP, AUD, CAD, CHF, JPY, NZD and SGD.
If Discount Ccy is set to “Local Ccy”, the portfolio will be split into sub-portfolios of trades mapped to the same base currency (see Discount Ccy definition here). For each sub-portfolio, the OIS curve for the given discount base currency will be used to discount cashflows in that base currency. In the case where there is no such OIS curve, there will be a further portfolio split in a set of trades with the same underlying index (see underlying index mapping here), and such index curve will then be used for both projection and discounting.
Let’s take the example of a portfolio with three IRS (FIX vs. 3M PLN WIBOR, FIX vs. 6M PLN WIBOR and FIX vs. 6M EURIBOR), to be priced with a curve group which comprises four index curves (3M PLN WIBOR, 6M PLN WIBOR, 6M EURIBOR and ESTR) and a EUR/PLN XCCY curve.
Case 1: Discount Ccy = “EUR” (single base currency)
The portfolio will be valued using the relevant OIS curve (e.g. EUR ESTR) and associated XCCY curves as discount curves (for cashflows in e.g. EUR and foreign cashflows respectively). Note that an error will be thrown if no OIS curve exists for the given discount base currency.
In our example, the applied discount curves will be as follows:
ESTR curve → for cashflows in EUR
EUR/PLN CCY curve → for cashflows in PLN
The applied projection curves will be as follows:
6M EURIBOR curve → FIX vs. 6M EURIBOR trade
3M PLN WIBOR curve → FIX vs. 3M PLN WIBOR trade
6M PLN WIBOR curve → FIX vs. 6M PLN WIBOR trade
Case 2: Discount Ccy = “Local Ccy” (multiple base currencies)
In our example (where there is no OIS curve for PLN), the applied discount curves will be as follows:
ESTR curve → FIX vs. 6M EURIBOR trade
3M PLN WIBOR curve → FIX vs. 3M PLN WIBOR trade
6M PLN WIBOR curve → FIX vs. 6M PLN WIBOR trade
The applied projection curves will be as follows:
6M EURIBOR curve → FIX vs. 6M EURIBOR trade
3M PLN WIBOR curve → FIX vs. 3M PLN WIBOR trade
6M PLN WIBOR curve → FIX vs. 6M PLN WIBOR trade
CSA Discounting
If CSA Discounting is set to TRUE (see valuation parameters), where a CSA Ccy has been defined at trade level, the portfolio will be split in sub-portfolios of trades with the same CSA Ccy.
Currently, the permissible CSA Ccy values are the same as the permissible values for single Discount Ccy. See permissible discount currency list.
For each CSA Ccy, the corresponding sub-portfolio will be valued using Case 1 above (with Discount Ccy = CSA Ccy).