Portfolio and Trade Definitions
A portfolio holds the trades whose details can be used for PV calculation or valuation data anomaly detection.
Once a company tree has been defined, the steps required to define a portfolio of trades are as follows:
- create a portfolio
- add standalone trades (1)
- create reference securities and add allocation trades (2)
- add custom trades (3)
(1) A trade that is defined on a standalone basis, by opposition to an allocation trade
(2) Allocation trades (e.g. with different notionals or counterparties) can be defined by reference to a common reference security
(3) A trade that cannot be valued in Xplain, but can be used when running valuation data anomaly detection
You can then perform a system-wide search on any Trade ID (or External Trade ID).
Portfolio Example
You can use the predefined ‘IRS_PTF_1’ portfolio, or define your own independently. This page will guide you through the process using an example: manually creating a ‘NEWPORTFOLIO’ that replicates ‘IRS_PTF_1’ with its underlying trades. For trade definition, we will use two examples: manually defining a ‘USDOIS_10Y’ IRS trade, or importing all the trades. You can download the example .CSV data import files here.
1. Creating a Portfolio
Under
To manually create a portfolio, click on



To import a portfolio (or a list of portfolios), click on (import) and select the relevant portfolio list definition .CSV file.
You can download the import file template here
Field Name | Description | Permissible Values |
---|---|---|
Portfolio ID | The ID for the portfolio (immutable) | Free text (no spaces) |
Name | The name of the portfolio | Free text |
Company ID | The Company ID |
Any existing company See company configuration |
Entity ID | The Entity ID |
Any existing entity See entity configuration |
Description | Portfolio description | Free text |
Shared Between Teams | Whether the portfolio will be accessible across all teams | Boolean |
Teams |
The team(s) that will have access to the portfolios Applicable only if Shared between Teams = FALSE |
Any existing team(s) See creating a team |
2. Adding Standalone Trades
A standalone trade is a trade that is defined on a standalone basis, by opposition to an allocation trade.
Under
To manually create a trade, click on

and setting the trade's attributes



To import a trade (or a list of trades), click on (import) at the trade list level (or globally at the portfolio list level) and select the relevant trade list definition .CSV import file.
You can download the import file template here


Trade Attributes
There are three categories of trade attributes:
- generic attributes (applicable to all trades, including allocation trades)
- specific attributes (according to the trade type)
- trade leg attributes (where applicable)
The number and permissible type of trade legs will be a function of the trade type, as follows:
Trade Type | Description | Trade Leg 1 | Trade Leg 2 |
---|---|---|---|
CAP_FLOOR | Cap or Floor | Ibor | |
CDS | Single name CDS | ||
CREDIT_INDEX | Credit Index Trade | ||
CREDIT_INDEX_TRANCHE | Credit Index Trade | ||
IRS | IRS | Ibor | Overnight | Fixed | Ibor | Overnight | Fixed |
INFLATION | Inflation Swap | Ibor | Overnight | Fixed | Inflation |
SWAPTION | Swaption | Ibor | Overnight | Fixed |
XCCY | Cross-currency Swap | Ibor | Overnight | Fixed | Ibor | Overnight | Fixed |
FXCOLLAR | FX Collar | ||
FXFWD | FX Forward | ||
FXSWAP | FX Swap | ||
FXOPT | FX Option | ||
FXSWAP | FX Swap | ||
LOAN NOTE | Loan Note |
Permissible trade’s attributes will be a function of the trade type, and will either be mandatory (M), optional (O), conditional (C). i.e. mandatory upon a certain condition, optional with a default value (D) or harcoded in Xplain (H).
Generic Trade Attributes
These attributes are applicable to all trade types.
Field Name | Description | Permissible Values | TYPE |
---|---|---|---|
Trade ID | Unique trade identifier | Free text (no spaces) | M |
Trade Type | Trade Type |
CAP_FLOOR | CDS | CREDIT_INDEX | CREDIT_INDEX_TRANCHE | FXFWD | FXOPT | INFLATION | IRS | LOAN_NOTE | SWAPTION | XCCY | M |
External Trade IDs (*) | A list of external ID Sources and corresponding Trade ID |
Any user-defined external ID Source Free text (no spaces) for the associated Trade ID | O |
Custom Fields (*) | A list of Custom Fields and corresponding Value |
Any user-defined Custom Field Free text (no spaces) for the associated value | O |
Trade Date | Trade date | YYYY-MM-DD (ISO 8601) | O |
Trade Ccy | The currency in which the trade metrics are expressed |
Must be either one of the legs' currency Harcoded to the single trade curency where applicable Default = Base Currency for Trade Type = FXFWD | D/M/H |
Counterparty | Counterparty identifier | Free text | O |
Counterparty Type (**) | Counterparty type | BILATERAL | CLEARED | O |
CSA Discount Ccy | The discount currency to apply (if applicable) if CSA Discounting is set to TRUE at valuation level | Any permissible discount currency | O |
Client PV | Client PV | Numeric | O |
Description | Description | Free text | O |
Onboarding Information | Trade onboarding data and requirements | See Trade Onboarding | O |
You can add to a trade multiple trade IDs related to different external systems to a trade. Bespoke external Trade ID sources need to be defined first.


You can add to a trade multiple bespoke custom fields which need to be defined first.


Specific Trade Attributes
These attributes will be required to define the economics of a trade and will be further supplemented by trade leg attributes, where applicable.
For other trade types, please refer to Permissible Values / Specific Trade Attributes.
Field Name | Description | Permissible Values | TYPE |
---|---|---|---|
Start Date | Accrual schedule's start date | YYYY-MM-DD (ISO 8601) | M |
End Date | Accrual schedule's end date | YYYY-MM-DD (ISO 8601) | M |
Business Day Convention | Business days adjustment convention |
See Permissible Business Days Conventions Default = "Following" | D |
Business Day Adjustment |
Business days adjustment type (Accrual and/or Payment Dates) |
ACCRUAL_AND_PAYMENT or PAYMENT_ONLY Default = "ACCRUAL_AND_PAYMENT" | D |
Calendar | The default business centre(s) | Derived from trade type and currency | H |
Stub Convention | Stub convention |
See Permissible Stub Conventions Default = "SmartIntial" | D |
Regular Start Date | Regular accrual schedule's start date |
YYYY-MM-DD (ISO 8601) For Stub = "Both" | C |
Regular End Date | Regular accrual schedule's end date |
YYYY-MM-DD (ISO 8601) For Stub = "Both" | C |
Initial Exchange | Initial exchange of notional? |
Boolean Default = FALSE | D |
Final Exchange | Final exchange of notional? |
Boolean Default = FALSE | D |
Roll Convention | Roll convention applicable to trade |
See Permissible Roll Conventions Default = "None" | D |
Pay Leg Type | Pay Leg Type | Ibor | Overnight | Fixed | Inflation | M |
Receive Leg Type | Recieve Leg Type | Dependent on trade type and other leg | M |
To view the attributes and permissible values for other trade types, please refer to Permissible Values / Specific Trade Attributes.
Trade Leg Attributes
Where applicable, the permissible trade leg types are:
- Overnight
- Fixed
- Ibor
- Inflation
A description of the trade leg’s attributes and corresponding permissible values are set out in the Portfolios and Trades Permissible Values section.
3. Creating a Reference Security and Adding Allocation Trades
As an alternative to a standalone trade, you can define allocation trades (e.g. with different notionals or counterparties) by reference to a common reference security. You will first need to create a reference security by following a process similar to that of a standalone trade.
3.1. Creating a Reference Security
Under
The difference in trade attributes between creating a standalone trade and a reference security are:
- Reference Trade ID replaces Trade ID as the unique identifier of the reference security with the prefix “REF_”
- for FX forward trades, notionals are not defined. Instead, the Trade Currency and the Base Currency are set to be the same, and you define the applicable FX Rate and whether you hold a Long / Short position. The Base Notional will be derived at the allocation trade level, with a positive sign if you are ‘long’ the forward and negative if you are ‘short’ the forward and will be set to the Allocation Notional (which is always positive). The Counter Notional derived from FX Rate, with the opposite sign to the Base Notional.
- for FX swap trades, as they are defined as two FX forward trades, the same rules apply as for FX forward trades for the near date and the far date.
- for FX option trades, notionals are not defined. Instead, you define the option’s Strike. The Base Notional will be derived at the allocation trade level, with a positive sign for a call option and negative for a put option and will be set to the Allocation Notional (which is always positive). The Counter Notional derived from the Strike, with the opposite sign to the Base Notional.
- for FX collar trades, the same rules apply as for FX option trades for the call option and the put option component.
- for options (caps / floors, swaptions and FX options) and credit trades (CDS and index), Buy / Sell is defined at the allocation trade level. For FX collar trades, Buy / Sell will apply to the call option component.
- for custom trades, Option Position (and Protection for credit custom trades) are defined at the allocation trade level.


3.2. Adding Allocation Trades
Under
A new allocation trade can only be created if there is an existing reference security that it can be mapped to.


Alternatively, you can add an allocation trade at the reference security level, under



Field Name | Description | Permissible Values | TYPE |
---|---|---|---|
Company ID (1) | Company -> Entity -> Portfolio | Any existing company | M |
Entity ID (1) | Company -> Entity -> Portfolio | Any existing entity | M |
Portfolio ID (1) | Company -> Entity -> Portfolio | Any existing portfolio | M |
Reference Security (2) | Reference Security | Any existing reference security | M |
Allocation Notional (3) | Notional of allocation trade | Numeric. Must be positive. | M |
Trade Date | Trade date | YYYY-MM-DD (ISO 8601) | O |
Counterparty | Counterparty identifier | Free text | O |
Counterparty Type | Counterparty type | BILATERAL | CLEARED | O |
Client PV | Client PV | Numeric | O |
Description | Description | Free text | O |
Buy / Sell (4) | Buy/sell optionality/credit protection | BUY | SELL | M |
Onboarding Information | Trade onboarding data and requirements | See Trade Onboarding | O |
4. Adding Custom Trades
A custom trade is a trade that cannot be valued in Xplain, but can be used when running valuation data anomaly detection.
Under


There are two categories of custom trade attributes:
- generic attributes (applicable to all trades, including allocation trades)
- specific attributes (according to the custom trade type)
Specific attributes will be a function of the custom trade type, as follows:
Custom Trade Type | Description |
---|---|
CUSTOM RATES | Custom Rates Type 1 to 5 |
CUSTOM FX | Custom FX Type 1 to 5 |
CUSTOM CREDIT | Custom Credit Type 1 to 5 |
CUSTOM EQUITY | Custom Equity Type 1 to 5 |
CUSTOM COMMODITY | Custom Commodity Type 1 to 5 |
CUSTOM OTHER | Custom Other Type 1 to 5 |
Field Name | Description | Permissible Values | TYPE |
---|---|---|---|
Asset Class | Asset Class | Free Text | O |
Sub-Asset Class | Sub-Asset Class | Free Text | O |
Underlying | The trade currency(ies) | Free Text | O |
Option Position | Buy/sell optionality | BUY | SELL | [N/A] | O |
Ccy | Trade 3-letter ISO 4217 currency code | See Permissible Currencies | M |
Notional | Notional applied to both legs where applicable | Numeric (positive) | M |
Start Date | Accrual schedule's start date | YYYY-MM-DD (ISO 8601) | M |
End Date | Accrual schedule's end date | YYYY-MM-DD (ISO 8601) | M |
Additional Information | Additional Information | Free Text | O |
To view the attributes and permissible values for other custom trade types, please refer to Permissible Values / Specific Custom Trade Attributes.
System-wide Search on Trade ID
You can perform a system-wide search on any Trade ID or External Trade ID by entering part of the Trade ID in the search box in the top right corner and clicking on . You can click on any result to be redirected to the selected trade.

