Introduction to sstCalculation

FINMA

09.10.2020

This vignette introduces the use of the sstCalculation package to perform the solvency calculation under the Swiss Solvency Test (SST) framework.

Introduction

SST-Template

The SST-Template is an Excel template containing the company name together with all inputs required for the solvency calculation of one insurance company. The FINMA defines the structure of the template and the insurance companies fill it accordingly.

The current version of the SST-Template is available under the following path:

www.finma.ch > Supervision > Insurers > Cross-Sectoral Tools > Swiss Solvency Test (SST)

Solvency model

The sstCalculation package can perform the solvency calculation in different cases: with and without the standard model for participation (participation model) and with and without the new stochastic credit risk model.

The participation model is used

Broadly speaking, the participation model covers the case where one single insurance company (mother) holds a material participation in one or more insurance companies (daughters). When the standard model for participation is used, the insurance company needs to fill multiple SST-Templates: one for the mother company and one for each daughter company. In the SST-Template of each daughter, it can be chosen

  • if LLPO is applied,
  • if simulated risk of the daughter is shown in market risk of participations.

The participation model is not used

When the participation model is not used, the insurance company needs to fill one SST-Template. By abuse of language, we will consider this standard case as a company with one mother and no daughter company.

The (new) stochastic credit risk model is used

This case entails filling in the new sheet ‘Credit Risk Merton’ in the SST-Template. If there are instruments that do not enter the scope of the new credit risk model and follow the old standard model, these must be entered the sheet ‘Credit Risk Basel’ as always done.

The stochastic credit risk model is not used

If the new credit risk model is not used, then the previous deterministic model based on Basel III is used. In this case, it is necessary to completely populate the standard sheet ‘Credit Risk Basel’ with all instruments subject to credit risk.

Performing the solvency calculation

We illustrate the solvency calculation in the case where the participation model is used with one mother and one daughter company. If the participation model is not used, the following explanations are identical, with the exception that only one SST-Template is provided.

The function sstCalculation performs the solvency calculation based on the specified SST-Templates:

result <- sstCalculation(path = c("~/SST-Template_daughter.xlsx", "~/SST-Template_mother.xlsx"),
                         nsim = 1000, seed = 123
)

The mother and daughter templates are automatically identified based on their content. Therefore no specific order is required for the paths. If no seed is specified, the default chosen value is 1.

As we see below, the solvency calculation is a two-stage process. First, the SST-Templates are loaded and validated. Then the simulations are performed and aggregated.

#> Loading
#> |======================================================================================| 100%
#> Performing simulations
#> |======================================================================================| 100%

Additional details about this function are available in the documentation, see ?sstCalculation.

Accessing the solvency results

The variable result is a list that contains the simulation results produced by sstCalculation:

#> --------------------------------------------------
#>                Simulations results
#> --------------------------------------------------
#> - Element `Base case`
#> - Element `Open_FDS`

As the name suggests, Base case represents the default result produced by the tool (see section ‘Variants’ in ‘Advanced functions’ for more information). One can access to these elements with the command result$`Base case`, which is again a list:

#> --------------------------------------------------
#>                SST simulation results
#> --------------------------------------------------
#> - Object `Standalones_Simulations`
#> - Object `Risk_factors_simulations`
#> - Object `Target_capital_decomposition`
#> - Object `Internal_parameters`

In the following we will describe the content of each object. We recall that, as usual, we can access any element from a list by using this command

result$`Base case`$Standalones_Simulations

Standalones_Simulations

The Standalones_Simulations is a matrix containing the simulations of one-year change of the RBC stemming from specific risk categories plus some indicators at the end.

This matrix is stored as data.table and has the following columns:

The nonlife.PY, nonlife.CY are simulated by the R-Tool from the captive module if the nonlife insurance risk is set to captive. Otherwise, each of these two columns contains a constant value, which is provided by the company in the SST-Template and which corresponds to the expected shortfall.

Risk_factors_simulations

The Risk_factors_simulations is a matrix containing the simulations per risk factor, whose names are defined in the SST-Template.

This matrix is stored as data.table and has the following columns:

Note that nonlife risk factors are not simulated because the nonlife risk model is not based on risk factors. Another consideration holds true for the stochastic part of credit risk: since a different idiosyncratic risk factor is considered for each counterparty, it was decided not to include them.

Risk factors simulations for mother and daughter are the same. The simulation_id of Standalones_Simulations corresponds to the number of the risk factors simulation.

Target_capital_decomposition

Key figures that appear in the FDS and are also displayed when using the dashboard. An example is the following:

Key Figures Value in Mio. CHF
 1:                            Insurance risk       324.1518805
 2:                               Market risk      1090.5209307
 3:                               Credit risk       954.0128005
 4:                    Diversification effect      -278.7490686
 5:           Insurance, Market & Credit risk      2089.9365431
 6:                                  Scenario         0.0000000
 7:  Insurance, Market, Credit with Scenarios      2089.9365431
 8:                 Expected insurance result         0.7046668
 9:                 Expected financial result       206.8943485
10:                   Additional effect on TC         0.0000000
11: Impact of LLPO (only participation model)         0.0000000
12:                                       SCR      1882.3375278
13:                                       MVM       288.0672296
14:                            Target capital      2170.4047574

Open_FDS

This is actually a function: if we run result$Open_FDS(), then the generated FDS (of all variants - for more information see ‘Advanced functions’) will appear. Once the Excel file is opened, it can be saved for future purposes.

Advanced functions

2-stage process

The sstCalculation function is a two-stage process. For an increased transparency, the advanced user can access to each step separately.

First, the SST-Template is loaded and validated:

model <- excelToModelSST(path = c("~/SST-Template_daughter.xlsx", "~/SST-Template_mother.xlsx"))

Then simulations can be performed from the model:

result <- simulate(model, nsim = 1000)

For more information, it is possible to type ?excelToModelSST and ?simulate, respectively.

Variants

It is possible to perform batch computations to obtain as-if results and output using different variants of the input. This possibility is enabled by copying and pasting one of the existing sheets of the SST-Template, changing the parameters inside the copied sheet and renaming the sheet with the convention ’old_name__##’, where the previous name of the sheet is followed by double underscore and 2 characters (letters or numbers). The default case is called Base case. If variants are used, multiple versions of the FDS are produced.