The standard SST model requires calculating assets’ and liabilities’ first and second order sensitivities towards market factors. These are known as Deltas and Gammas which need to be calculated for each asset and liability (of a replicating portfolio) individually and added according to their weights in the balance sheet. Computationally this is a quite advanced task: there are typically more than 1000 assets and for the defined $82$ SST factors we have to relate to each asset and liability a vector of $82$ elements and a matrix of $82\times 82$ elements.
This page describes the basic idea of our approach of handling a large dataset which is relevant for SST calculation and balance sheet optimisation.
Example: Input Calculation for a 5-years Maturity CHF Corporate Bond
Besides the computational tractability and efficient memory usage the task of calculating Deltas and Gammas is also challenging from the
financial economics perspective. As an example, consider a corporate bond with 5 years maturity. Let’s see how its corresponding
Delta vector and Gamma matrix are calculated:
- We need to estimate a yield curve that incorporates the bond’s credit risk (we use Nelson-Siegel, Svensson, Spline and Polynomial fitting according to an algorithm described in our white paper).
- Calculate key rate durations (Deltas): for each single maturity of $1$ to $5$ years we need to calculate the first order factor sensitivity.
- Calculation of second order sensitivities (Gammas): for a bond with $5$ years maturity we have $5$ diagonal and $10$ off-diagonal Gamma terms. Note that the calculation of each Gamma requires to price the bond $4$ times which results in calling the pricing function $60$ times ($=15 \times 4$)
The above example shows clearly the necessity of a fast and memory friendly implementation of the pricing functions
as well as of the SST logic, i.e. how shocks (absolute and logarithmic) are defined per factor.
Numerical Delta Calculation
For a corporate bond we calculate each Delta element as illustrated on the right with the second element as an example.
For details on the calculation of Deltas and Gammas see our Technical Paper on the SST standard market model’s implementation.
SST Input Calculations using the Swiss Bond Index
Inside our technology
Our object oriented system stores the Deltas and Gammas of all loaded assets and of the liabilities modelled by a replicating portfolio. This allows for high flexibility with respect to various analyses and optimisation methods. See example below: all calculations were done and stored for each element of the balance sheet (balance_sheet object). Now assets’ and liabilities’ (and of course the joint result too) Deltas can be called and plotted with a single line of code.
The same applies for Gammas, Scenarios and other features relevant under the SST’s standard market model.