Topical Issues on Risks in Financial Markets.

In this post I will discuss the calculation of Delta risk charge for each risk class. Conceptually calculation method is simple. In the first step, risk weighted sensitivity is calculated for each risk factor. Next, risk weighted sensitivities are aggregated within a bucket (read currency for a GIRR Delta risk charge). This is also known as risk position. In a final step, risk positions are aggregated across buckets.

Step 1 – Calculate net sensitivity $s_k$ for each risk factor across all the portfolios on a trading desk. In case of an interest rate portfolio, this sensitivity would be to each tenor of each curve. For example, if a portfolio has interest rate swaps with USD Libor and USD OIS as underlyings then $s_k$ refers to the DV01 sensitivity to both USD Libor and USD OIS curves individually at each tenor (0.25y, 0.5y, 1y, 2y, 3y, 5y, 10y, 15y, 20y and 30y). Where banks use different tenor ladder, risks should be allocated to above tenors through linear interpolation or a method which is approved internally. I will cover sensitivity definitions for all the risk classes separately. For the time being, remember that banks typically calculate Delta/DV01 as change in PV for 1% or 1bp change in the underlying. Under FRTB rules this sensitivity is required to be divided by this 1% or 1bp as the case may be, let’s call it FRTB Delta. For the illustration purposes below, I assume  Deltas to be FRTB Deltas i.e. bank’s deltas already divided by 1% or 1bp.

Step 2 – Calculate risk weighted sensitivity $WS_k$ which is the multiplication of net sensitivity $s_k$ and the corresponding risk weight $RW_k$. Mathemmatically, it is represented as

$WS_k = RW_ks_k$

Refer section 4 in the main FRTB document for actual risk weight values for each risk class. Risk weights for interest rate factors are in table below which, at the discretion of the bank, can be divided by square root of 2 for USD, EUR, AUD, GBP, JPY, SEK, CAD and the domestic reporting currency of the bank.. For FX Delta, risk weight is set at 15%. This risk weight can also be divided by square root of 2 for select currency pairs.

 Tenor 0.25y 0.5y 1y 2y 3y 5y-30y Risk Weight 1.7% 1.74% 1.6% 1.3% 1.2% 1.1%

Step 3 – Risk position,$s_k$, for each bucket b is calculated by aggregating risk weighted sensitivities within each bucket. Aggregation requires use of prescribed correlations $\rho_{kl}$. Given below formula to be used for the aggregation within each bucket.

$K_b=\sqrt{max(\sum_kWS^2_k + \sum_k\sum_{k\neq l}\rho_{kl}WS_kWS_l,0)}$

This equation can easily be implemented in Excel using MMULT function or perhaps by implementing the logic in VBA. However the critical part of this equation is the correlation matrix. Once again I will discuss here correlation for interest rate risk only.

Same Bucket Correlations for GIRR $\rho_{kl}$

• $\rho_{kl}$ between $WS_k$ and $WS_l$ within same bucket (eg. USD) and same curve (eg. USD Libor) with different tenors is set at $max\left[e^{-\Theta\frac{\left|T_k - T_l \right|}{min(T_k,T_l)}},0.4\right]$

Here $T_k$ refers to the tenor related to the weighted sensitivity $WS_k$; and $\Theta$ is set at 3%.

• $\rho_{kl}$ between $WS_k$ and $WS_l$ within same bucket (eg. USD) and same tenor(eg. 1y) with different curve (eg. USD OIS) is set at 99.90%

• $\rho_{kl}$ between $WS_k$ and $WS_l$ within same bucket (eg. USD) but different curves (eg. USD Libor and USD OIS) and different tenors is to be derived by multiplying correlation parameter from the first bullet in this section with 99.90%.

There are two things to take away from this:

1. Correlations are static and are agnostic to currency;
2. However the correlation matrix that is required to be stored will be large and is a function of maximum number of curves in a particular currency. For example, if a bank trades in 10 different curves of USD bucket, the correlation matrix size will be 100,000. Certainly, data structures exist for storing such matrices optimally.

Step 4 – Calculate Delta risk charge by aggregating delta risk positions across all the buckets (currencies). Following formula to be used for this aggregation

$Delta Risk Charge=\sqrt{\sum_bK^2_b + \sum_b\sum_{c\neq b}\gamma_{bc}S_bS_c}$

$S_b = \sum_kWS_k$ for all the risk factors in a bucket b
$S_b = max(min(\sum_kWS_k,K_b),-K_b)$ when a number under square root is negative using first approximation of $S_b$
$\gamma_{bc}$ = 50% for aggregating GIRR delta risk positions between currencies.

Example for an FX Portfolio

Picture below shows steps of calculating a delta risk charge for an FX portfolio.  Currencies in this portfolio are subject to a reduced risk weight of 10.61%  except for USD/MYR which is not included in Basel Committee’s list of currency pairs to which banks at their discretion can apply a risk weight of 15% divided by the square root of 2. Also note that for the EUR/GBP cross, risk weight of 10.61% is applied because it is considered as a first-order cross of EUR/USD and GBP/USD. As per the rule, first-order crosses can also be applied lower risk weight.

Next a formula in Step 4 above is used to calculate delta risk charge. For FX risk class,  $\gamma_{bc}$ is 60%. This formula can be implemented in Excel using MMULT resulting in a delta risk charge of
$3,689,981. For the$9m FX delta position, a risk charge of $3.7m is relatively large. Even if the net delta of this portfolio was 0, for example by reducing EUR/AUD delta position to$1m, the delta risk charge would still be \$3,691,916 (slightly higher). This result is not completely intuitive but by design takes into account the basis between currencies and not allow complete offset even among the perfectly correlated pairs.

By nature there are more steps involved in calculating delta risk charge for GIRR and other risk classes. Some other time I will publish an example for GIRR but before that lets move on to the vega risk charge.

1. Lavinia

Hey! This is kind of off topic but I need some advice from an established blog. Is it hard to set up your own blog? I’m not very techincal but I can figure things out pretty fast. I’m thinking about setting up my own but I’m not sure where to start. Do you have any points or susetggions? Thanks

• Comment by post author