Project solvency2

solvency2 is a project template for building a model to calculate life risks of selected policies at various points in their policy periods based on Solvency II standard formula.


The function returns a model named solvency2. The model calculates the capital requirement for life underwriting risk based on Solvency II standard formula by policy and duration.

The overall capital requirement for life underwriting risk, expressed as \(SCR_{life}\), is calculated by aggregating life sub-risks, using a correlation matrix.

Each life sub-risk, as defined in the reference below, is defined as the difference in net asset value under the base (best estimate) scenario and the deterministic scenario with a prescribed stress on the risk factor, except for Lapse risk. For Lapse risk, three (“up”, “down”, “mass”) scenarios are considered.

The model contains a parametric space SCR_Life[t0, PolicyID, ScenID] based from scr_life module. SCR_life() cells in each SCR_Life[t0, PolicyID, ScenID] holds the value of Life underwriting risk at time t0 for PolicyID and ScenID (1 by default), calculated based on the solvency capital requirement standard formula under Solvency II.


Model Structure

Spaces in the dotted yellow line have the same structure as simplelife model, so refer to simplelife for more details about those spaces.

Composition Structure

blockdiag solvency2 SCR_life[t0, PolicyID, ScenID] Economic Assumption Policy LifeTable Input Projection[Risk, Shock, Scope]

Inheritance Structure

blockdiag SCR_life[t0, PolicyID, ScenID] SCR_life PV BaseProj Projection Mortality Lapse LapseMass Expense Override Projection[Risk, Shock, Scope]

Project Modules

solvency2 The main module to build a solvency2 model.
scr_life Source module for Life SCR standard formulas
mortality Override module for the mortality/longevity risk calculation
lapse Override module for the lapse risk calculation
lapse_mass Override module for the mass lapse risk calculation
expense Override module for the expense risk calculation
present_value Present Value mix-in modules
build_input Module to create Input space and its child spaces from input data.
build_input_scr Module to import additional cells for SCR calculation from input file.
lifetable Source module to create LifeTable space from.
policy Source module to create Policy space from.
assumption Source module to create Assumption space from.
economic Source module to create Economic space from.
projection Source module to create Projection space from.