Versioning

Top ↑

There are typically three ways to create/edit/archive an object in Xplain:

  1. manually through the user interface;
  2. by importing the data with a .CSV file;
  3. via the API.

Overview

For auditing and backtesting purposes, all entities that may affect valuation are versioned in Xplain. A new version will typically be saved when creating, editing or archiving an object. The prevailing version can then be retrieved by reference to the anchor date, which can be controlled at the right of the menu item bar.

Setting the Anchor Date
Alt for image

There are three types of versioning:

  1. Major/minor: objects such as curves can have several major versions which will be applicable over a specific period. When a major version is amended, a minor version will be created. The latest minor version of the relevant major version will automatically be used by reference to the anchor date. The first version of an object is referred to as the Root version.
  2. Minor: objects such as market or valuation data will only have one main version for a given date. When their value is amended, a minor version will be created.
  3. Audit only: changes in objects such as data providers will only be recorded in Xplain’s database.

Major/minor Versioning

Objects with major/minor versioning are typically objects whose configuration may change over time and which may need to be amended retrospectively. In respect of Curves, this includes curve configurations, curves and volatility surfaces. In respect of Portfolios, this includes valuation and valuation data provider settings and trade data. In respect of Data, this includes market data key mapping and correlation matrices for xva calculations.

The key attributes of a major/minor version are:

  • validFromDate attribute (which will define the applicability of the version); and
  • status.

A version can be “ACTIVE”, “ARCHIVED” or “DELETED”. The key difference between “ARCHIVED” and “DELETED” is that the object will effectively not be accessible when in archived mode while the version will simply be ignored when deleted.

Versioning will be driven by the user’s choice upon:

  1. creating a new object;
  2. editing an object; and
  3. archiving an object.

The ability to control the anchor date (or system date) is very useful for backtesting. However, safeguard features in Xplain such as transparency via a full history of all existing versions, alongside generic deletion rules in respect of existing future versions, have been implemented to prevent unintended consequences that may be linked to a bi-temporal model.

1. Creating a new object

When creating a new object, the default option will be to create the Root version, which will be applicable regardless of the anchor date.

Case 1: Creating a Root Version
Alt for image
Case 1: Creating a Root Version - Version List
Object/Versions
Alt for image

Alternatively, through the advanced versioning options, instead of a Root version, you can choose to create a major version as at the anchor date (e.g. 30-NOV-2022). In this case, a Root version with the status “ARCHIVED” will be created at the same time and the object will only be accessible from the anchor date onwards.

Case 2: Creating a Major Version as of the Anchor Date
Alt for image
Case 2: Creating a Major Version as of the Anchor Date - Version List
Object/Versions
Alt for image

2. Editing an object

When editing an object, the default option will be to create a minor version of the prevailing major version.

Case 1: Editing by creating a minor version of the prevailing major version
Alt for image
Case 1: Editing by creating a minor version of the prevailing major version - Version List
Object/Versions
Alt for image

Alternatively, through the advanced versioning options, you can choose to create a major version as at the anchor date (e.g. 30 Nov 2022).

In the worked example below, you will need to update the Root Version with the new Major Version.

Case 2: Editing root version by creating a new major version
Alt for image
Case 2: Editing root version by creating a new major version - Version List
Object/Versions
Alt for image

3. Archiving an object

When archiving an object, the default option will be to create a new major version with the status “ARCHIVED” as at the anchor date (e.g. 15-DEC-2022).

Setting the Anchor Date to 2022-12-15
Alt for image
Case 1: Archiving by creating a new major version
Alt for image
Case 1: Archiving by creating a new major version - Version List
Object/Versions
Alt for image

Alternatively, through the advanced versioning options, you can choose to archive the prevailing major version by updating its status from “ACTIVE” to “ARCHIVED” with a new minor version.

Case 2: Archiving by creating a minor version of the prevailing major version
Alt for image
Case 2: Archiving by creating a minor version of the prevailing major version - Version List
Object/Versions
Alt for image

Safeguard Features

When archiving, the default option will be to delete all existing future versions (if any) by updating their status from “ACTIVE” or “ARCHIVED” to “DELETED” with a new minor version, resulting in the object being archived going forward. Alternatively, through the advanced versioning options, you can choose to preserve all future versions by only archiving the prevailing version.

When editing, the default option will be to insert such changes without impacting the future versions (if any). Alternatively, through the advanced versioning options, you can choose to delete all future versions, by updating their status from “ACTIVE” or “ARCHIVED” to “DELETED” with a new minor version, resulting in the new version to be applicable going forward.


Roles and Permissions
Importing
Introduction to Xplain
Curves
Portfolios
Data
Valuations
Data Cleansing
Preferences
Admin
Importing and Versioning
XVA Module
TRS Module