Curvature
Download sample file: SBM_Curvature_Sensitivities.csv
This file defines the Curvature shocked prices, including a description of the risk factor. Full details on each risk factor are explained in the relevant section of the Atoti FRTB Interpretation and Implementation guide:
This Curvature file type is identified using the pattern: **/SB*_Curvature_Sensitivities*.csv (as specified by sb.curvature.sensitivities.file-pattern
).
This file is loaded using the SBM_Curvature_Sensi topic.
Normalization
The contents of this file are normalized and loaded into four stores during the ETL. For each row:
- A description of the “underlying” is generated and added to the UnderlyingDescription store. This description is shared with Delta and Vega.
- A description of the risk-factor is generated and added to the RiskFactorDescription store.
- The sensitivities are added to the Curvature store.
- A row is added to the TradeBase store, to insert a new fact into the cube.
Filling missing data
When the bucket field is omitted, it is filled from the Commodity, CSR, and Equities bucket files (as appropriate). To take advantage of this, the bucket files must be loaded before (or at the same time as) the Curvature file.
When the bucket field is provided, some of the fields describing the underlying become optional. For CSR and Equities, these fields can be populated from previously loaded bucket description files.
Risk Class | Optional Fields When Bucket Provided | Bucket File | Bucket Description File |
---|---|---|---|
CSR non-Sec | CSRQuality, CSRSector | CSR non-Sec Buckets | CSR non-Sec Bucket Descriptions |
CSR Sec non-CTP | CSRQuality, CSRSector | CSR Sec non-CTP Buckets | CSR Sec non-CTP Bucket Descriptions |
CSR Sec CTP | CSRQuality, CSRSector | CSR Sec CTP Buckets | CSR Sec CTP Bucket Descriptions |
Equity | EquityEconomy, EquityMarketCap, EquitySector | Equity Buckets | Equity Bucket Descriptions |
Commodity | Commodity Buckets |
note
The bucket is not sufficient to populate the CSRRating field for CSR non-Sec.
Field | Key | Null | FieldType | RiskClass | Description | Example |
---|---|---|---|---|---|---|
AsOfDate | Y | N | Date ‘YYYY-MM-DD’ | Timestamp (at close of business) for the data. | ||
TradeId | Y | N | String | If coming from multiple systems may need to prepend source system to the id for uniqueness | “IR_IRSWAP_LIBOR3M”, “EQ_12345677”, etc. | |
RiskClass | Y | N | String | Defines the risk class that the delta data represents. For each risk class the string is the risk class name | “GIRR”, “CSR non-Sec”, “CSR Sec non-CTP”, “CSR Sec CTP”, “Equity”, “Commodity”, “FX” | |
RiskFactor | Y | Y | String | Risk factor name. It is expected that the risk factor name encompasses the definition of the risk factor per the FRTB specification ([MAR21.3] to [MAR21.14]). If not provided, it will be generated from the ‘Underlying’ column. For details on each risk factor, see the relevant section in the Atoti FRTB Interpretation and Implementation guide. |
||
GIRR | The currency and equals the bucket. | “USD”, “EUR” | ||||
CSR non-Sec | Name of issuer credit spread curve. | “APPLE”, “GOOGLE” | ||||
CSR Sec CTP | Name of issuer credit spread curve. | |||||
CSR Sec non-CTP | Name of issuer tranche. | |||||
Equity | Name of equity issuer. | |||||
Commodity | Name of Commodity. | “Brent”, “WTI” | ||||
FX | A currency pair (the exchange rate used in the calculation of the sensitivity). If omitted, it is generated from the underlying and FXCounterCurrency. | |||||
Shift_Up_PV | N | N | Double | Valuation resulting from parallel shocks up | ||
Shift_Down_PV | N | N | Double | Valuation resulting from parallel shocks down | ||
CurvatureCcy | N | N | String | Currency of PV values | ||
RiskWeight | N | Y | Double | The risk weight used in the shifted PV values. If field is null, it is assumed to be the value expected in the calculations (at query time). | ||
PVApplied | N | N | String with set values | Boolean ‘Y’ or ‘N’ to indicate if PV has been removed from sensitivities or not. Default value = ‘N’ | ||
(unused) | N | Y | String | Field is ignored. | ||
GIRR Ccy | N | Y | String | GIRR only This is the currency of the curve and equals the bucket. | ||
Underlying | N | N | String | Represents the primary component of the risk factor. For details on each risk factor, see the relevant section in the Atoti FRTB Interpretation and Implementation guide. |
||
GIRR | (Can be null) Not used in calculations, but will populate Underlying field in cube. | |||||
CSR non-Sec | Name of credit issuer. | “APPLE”, “GOOGLE” | ||||
CSR Sec CTP | The name underlying the securitisation. | |||||
CSR Sec non-CTP | Name of the asset pool and tranche. | |||||
Equity | Name of equity issuer. | |||||
Commodity | Name of Commodity. | “Brent”, “WTI” | ||||
FX | The left-hand side of the risk-factor currency pair. | |||||
CSRQuality | N | Y | String | CSR only The Issuer or Tranche credit quality Values must match corresponding buckets file | IG, HY, NR | |
CSRSector | N | Y | String | CSR only The issuer or securitisation sector Values must match corresponding buckets file | For CSR non-Sec and CSR Sec CTP, example values: ‘Sovereign’,‘Financials’,‘Tech’ ‘Covered Bonds’, ‘Other’ For CSR Sec non-CTP, example values: ‘RMBS-Prime’, ‘RMBS-Mid-Prime’, ‘RMBS-Sub-Prime’, ‘CMBS’, ‘ABS-Auto’, ‘Other’ | |
(unused) | N | Y | String | Field is ignored. | ||
EquityEconomy | N | Y | String | Equity only The equity issuer economy. Values must match the equity buckets file. | ‘Emerging Market’, ‘Advanced Economy’, ‘Other’ | |
EquityMarketCap | N | Y | String | Equity only The equity issuer market cap. Values must match the equity buckets file. | ‘Large’ , ‘Small’, ‘Other’ | |
EquitySector | N | Y | String | Equity only Needed for Vega bucket Value can be anything but must match the buckets file | Example values are “CSG” “Telecommunications-Industrials” “Basic Materials” “Financials” “Other” | |
CommodityLocation | N | Y | String | Commodity only Commodity delivery location | “Le Havre”, “Oklahoma” | |
(unused) | N | Y | String | Field is ignored. | ||
(unused) | N | Y | String | Field is ignored. | ||
(unused) | N | Y | String | Field is ignored. | ||
FXCounterCurrency | N | Y | String | FX only. The counter currency of the risk-factor currency pair. This should be set to the “reporting currency” or the “base currency” if the base currency approach is being used. | ||
FXDividerEligibity | N | Y | String | FX only Y/N flag indicating whether the divider specified in [MAR21.98] can be applied.
|
||
CSRRating | N | Y | String | CSR non-Sec only The rating used to determine if covered bonds are highly rated or not | “AAA”, “high” | |
Bucket | N | Y | String | Bucket for underlying. | ||
PresentValue | N | Y | Double | The (unshocked) Present Value of the instrument. This is an optional override for the ‘PresentValue’ in the Trade Attributes file. Note: the use of PresentValue in the Trade Attributes for Curvature is deprecated. | ||
Pool | N | Y | String | CSR Sec non-CTP only Pool for tranche. If empty, copied from Underlying. | ||
Attachment | N | Y | Double | CSR Sec non-CTP only Tranche attachement point. Values between 0.0 and 1.0. If empty, defaults to 0.0. | ||
Detachment | N | Y | Double | CSR Sec non-CTP only Tranche detachment point. Values between 0.0 and 1.0. If empty, defaults to 0.0. | ||
PVLadder | N | Y | String | The cube leaf level (along with the RiskFactor and AsOfDate) to use when interpolating shocked PV ladders. Defaults to being filled with TradeId. |