Learn R Programming

ggsolvencyii 0.1.2

status

Overview

The goal of ggsolvencyii is to provide ‘ggplot2’-geom’s to show the composition of the Solvency (II) Capital Requirement (SCR) from (diversified) risks and subrisks, whether for standard formula (SF) or (partial) intern models (IM/PIM).

Installation

You can install ggsolvencyii from Cran (stable release)

install.packages("ggsolvencyii")

or (develoment version) from Github:

# install.packages("devtools")
devtools::install_github("vanzanden/ggsolvencyii")

short version

This README is a short version of the vignette ‘ggsolvencyii’ at https://cran.r-project.org/web/packages/ggsolvencyii/index.html which shows the same examples with more code. The complete annotated code for the first figure is shown in vignette ‘showcase’. A further elaboration on the inner workings of the package and the use of parameter-values and tables can be found in vignette "coding overview’.

example

ggsolvencyii builds on ggplot-functionality and provides three geom’s: geom_sii_risksurface, geom_sii_riskoutline and geom_sii_riskconnection.

These three geom’s were used to produce the following showcase plot which might be used for an ORSA (Own Risk and Solvency Assessment) report.

#> scaling is based on inputvalue (maxscrvalue) of 25.7433642812936
#> scaling is based on a max (level= 1) value of 25.7433642812936
#> scaling is based on a max (level= 1) value of 25.7433642812936
#> scaling is based on a max (level= 1) value of 25.7433642812936

The total surface (to the centerpoint of each circle) of the outer segments show the size of undiversified risks. Diversification is made visible by the difference between the risk segment and the next segment nearer to the center of the plot. The red (out)lines are displayed for comparison with the previous SCR buildup.

Baseplot and options

base

An life insurer reports its solvency ratio following Standard Formula rules, with English names for all risks. It has a set of risks, diversification effects, and accumulations to the SCR for the current situation (‘id’=1) and two two-year ORSA scenarios.

where sii_z_ex1_data a tidyverse transformation is of the data.

ggplot() +
  geom_sii_risksurface(
    data = sii_z_ex1_data[sii_z_ex1_data$id == 1, ],
    mapping = aes(x = time, y = ratio, id = id, value = value, 
                           description = description, 
                           fill = description, color = description) ) +
theme_bw() +
scale_fill_manual(name = "Risks",values = sii_x_fillcolors_sf16_eng) +
scale_color_manual(name = "Risks",values = sii_x_edgecolors_sf16_eng)
#> scaling is based on a max (level= 1) value of 23

structure

Geom_sii_risksurface uses one default table for this plot sii_structure_sf16_eng. It defines each risks by indicating from which combined ‘child’-risks and diversification (suffix ‘d’) it is made up. Passing another structure table makes this geom usable for localisation or for internal models.

levelmax

To prevent cluttering of the legend it is possible to group the smallest items of a level by providing a levelmax-table in such a way that the indicated maximum items in that level is not exceded. the example is on another dataset sii_z_ex2_data, with only one SCR result.

Rotation and squared

rotationdescription Rotates the plot in such a way that the indicated item (can be on either level, i.e. works also on ‘life’ or ‘operational’) is plotted on just on the righthandside of ‘12 o’clock’. `rotationdegrees’ provides an added rotation. The example rotates ‘m_equity’ to 12 ’o clock, and then 45 degrees counter clockwise.

The option ‘squared’ makes a square plot, with the surface of all segments still in proportion. <!--

The second plot shows a comparison between a circle and square plot of the same data. Note that the radius of the SCR circle is smaller than the size of the SCR square and that angles are different because in the corners there is 'additional' surface available compared to a circle.

#> scaling is based on a max (level= 1) value of 30
#> scaling is based on a max (level= 1) value of 30

scaling

all SCR-buildups from a single call to geom_sii_risksurface or geom_sii_riskoutline plot are by default scaled in such a way that the largest SCR has a plotradius of one. When combining more calls, with several datasets a manual maxscrvalue-value can be given as a parameter. To prevent distortion, depending on the scale of x and y axis, scalingx and scalingy parameters are available.

Plotdetails

The plotdetails table can be passed as a parameter to geom_sii_risksurface and geom_sii_riskoutline. It indicates whether to actual plot surfaces or outlinesegments (1 to 4) after the composition of the round (or squared) layout of segments. An example is the seperate plotting of inner and outer segments, with different transparancy in the showcase, or only plotting the outline of the SCR itself and the lowest risklevels. See the separate vignette for a detailed explanation.

Outlines, comparewithid

With the optional aes comparewithid in geom_sii_riskoutline it is possible (without the need of bothersome data-manipulation) to overlay the outline of one SCR over the surfaceplot of another. This for easy comparison between the two. See vignettes "geom_sii_riskoutline" and "geom_sii_riskconnection" for details. -->

additional parameters

additional parameters, some in the form of tables, can be used for determing what parts of the calculated circle-segments to plot (‘plotdetails’), scaling (‘maxscrvalue’, ‘scalingx’, ‘scalingy’), or for easy comparison between two instances of a SCR buildup (aesthetic ‘comparewithid’).

Copy Link

Version

Install

install.packages('ggsolvencyii')

Monthly Downloads

181

Version

0.1.2

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Marco van Zanden

Last Published

January 4th, 2019

Functions in ggsolvencyii (0.1.2)

geom_sii_risksurface

geom_sii_risksurface
sii_x_edgecolors_sf16_nld

sii_x_edgecolors_sf16_nld
sii_x_fillcolors_sf16_eng

sii_x_fillcolors_sf16_eng
sii_plotdetails_sf16

sii_plotdetails_sf16
sii_z_ex6_data

sii_z_ex6_data
sii_structure_sf16_eng

sii_structure_sf16_eng
sii_z_ex6_data2

sii_z_ex6_data2
sii_z_ex6_structure

sii_z_ex6_structure
sii_z_ex7_data

sii_z_ex7_data
sii_z_ex3_plotdetails

sii_z_ex3_plotdetails #' A table for geom_sii_risksurface and geom_sii_riskoutline indicating which outlines of each item should be shown, specified per level and/or description. the latter overrule the former. when defining an item (or the squared = TRUE transformation) 4 lines can be distinguished, a radialline going outwards, a circle segment (clockwise), a radialline going inwards, a circle segment (counterclockwise). These are numbered as outline1 to outline4.
sii_z_ex4_data

sii_z_ex4_data
sii_levelmax_sf16_993

sii_levelmax_sf16_993
sii_levelmax_sf16_995

sii_levelmax_sf16_995
sii_x_fillcolors_sf16_nld

sii_x_fillcolors_sf16_nld
sii_z_ex1_data

sii_z_ex1_data
sii_z_ex6_edgecolors

sii_z_ex6_edgecolors
sii_z_ex6_fillcolors

sii_z_ex6_fillcolors
sii_z_ex7_plotdetails

sii_z_ex7_plotdetails #' A table for geom_sii_risksurface and geom_sii_riskoutline indicating which outlines of each item should be shown, specified per level and/or description. the latter overrule the former. when defining an item (or the squared = TRUE transformation) 4 lines can be distinguished, a radialline going outwards, a circle segment (clockwise), a radialline going inwards, a circle segment (counterclockwise). These are numbered as outline1 to outline4.
stat_sii_risksurface

stat_sii_risksurface
geom_sii_riskconnection

geom_sii_riskconnection
geom_sii_riskoutline

geom_sii_riskoutline
sii_z_ex1_levelmax

sii_z_ex1_levelmax
sii_z_ex1_plotdetails

sii_z_ex1_plotdetails #' A table for geom_sii_risksurface and geom_sii_riskoutline indicating which outlines of each item should be shown, specified per level and/or description. the latter overrule the former. when defining an item (or the squared = TRUE transformation) 4 lines can be distinguished, a radialline going outwards, a circle segment (clockwise), a radialline going inwards, a circle segment (counterclockwise). These are numbered as outline1 to outline4.
sii_structure_sf16_nld

sii_structure_sf16_nld
sii_x_edgecolors_sf16_eng

sii_x_edgecolors_sf16_eng
sii_z_ex1_edgecolors

sii_z_ex1_edgecolors
sii_z_ex1_fillcolors

sii_z_ex1_fillcolors
sii_z_ex2_data

sii_z_ex2_data
sii_z_ex3_data

sii_z_ex3_data
sii_z_ex6_levelmax

sii_z_ex6_levelmax
sii_z_ex6_plotdetails

sii_z_ex6_plotdetails #' A table for geom_sii_risksurface and geom_sii_riskoutline indicating which outlines of each item should be shown, specified per level and/or description. the latter overrule the former. when defining an item (or the squared = TRUE transformation) 4 lines can be distinguished, a radialline going outwards, a circle segment (clockwise), a radialline going inwards, a circle segment (counterclockwise). These are numbered as outline1 to outline4.
sii_z_ex1_plotdetails2

sii_z_ex1_plotdetails2 #' A table for geom_sii_risksurface and geom_sii_riskoutline indicating which outlines of each item should be shown, specified per level and/or description. the latter overrule the former. when defining an item (or the squared = TRUE transformation) 4 lines can be distinguished, a radialline going outwards, a circle segment (clockwise), a radialline going inwards, a circle segment (counterclockwise). These are numbered as outline1 to outline4.
sii_z_ex1_structure

sii_z_ex1_structure
sii_z_ex4_levelmax

sii_z_ex4_levelmax
sii_z_ex4_structure

sii_z_ex4_structure
sii_debug_geom

sii_debug_geom