- Notifications
You must be signed in to change notification settings - Fork0
vanzanden/ggsolvencyii
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
The goal of ggsolvencyii is to provide ‘ggplot2’-geom’s to show thecomposition of the Solvency (II) Capital Requirement (SCR) from(diversified) risks and subrisks, whether for standard formula (SF) or(partial) intern models (IM/PIM).
You can install ggsolvencyii from Cran (stable release)
install.packages("ggsolvencyii")or (develoment version) from Github:
# install.packages("devtools")devtools::install_github("vanzanden/ggsolvencyii")
This README is a short version of the vignette ‘ggsolvencyii’ athttps://cran.r-project.org/web/packages/ggsolvencyii/index.html whichshows the same examples with more code. The complete annotated code forthe first figure is shown in vignette ‘showcase’. A further elaborationon the inner workings of the package and the use of parameter-values andtables can be found in vignette "coding overview’.
ggsolvencyii builds on ggplot-functionality and provides three geom’s:geom_sii_risksurface,geom_sii_riskoutline andgeom_sii_riskconnection.
These three geom’s were used to produce the following showcase plotwhich 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.7433642812936The total surface (to the centerpoint of each circle) of the outersegments show the size of undiversified risks. Diversification is madevisible by the difference between the risk segment and the next segmentnearer to the center of the plot. The red (out)lines are displayed forcomparison with the previous SCR buildup.
An life insurer reports its solvency ratio following Standard Formularules, with English names for all risks. It has a set of risks,diversification effects, and accumulations to the SCR for the currentsituation (‘id’=1) and two two-year ORSA scenarios.
The SCR composition of the current situation (id = 1) is shown belowwheresii_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
Geom_sii_risksurface uses one default table for this plotsii_structure_sf16_eng. It defines each risks by indicating from whichcombined ‘child’-risks and diversification (suffix ‘d’) it is made up.Passing another structure table makes this geom usable for localisationor for internal models.
To prevent cluttering of the legend it is possible to group the smallestitems of a level by providing a levelmax-table in such a way that theindicated maximum items in that level is not exceded. the example is onanother datasetsii_z_ex2_data, with only one SCR result.
rotationdescription Rotates the plot in such a way that the indicateditem (can be on either level, i.e. works also on ‘life’ or‘operational’) is plotted on just on the righthandside of ‘12o’clock’. `rotationdegrees’ provides an added rotation. The examplerotates ‘m_equity’ to 12 ’o clock, and then 45 degrees counterclockwise.
The option ‘squared’ makes a square plot, with the surface of allsegments 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 30all SCR-buildups from a single call togeom_sii_risksurface orgeom_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 manualmaxscrvalue-value can be given as a parameter. To prevent distortion, depending on the scale of x and y axis,scalingx andscalingy parameters are available.
The plotdetails table can be passed as a parameter togeom_sii_risksurface andgeom_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.
With the optional aescomparewithid ingeom_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, some in the form of tables, can be used fordeterming what parts of the calculated circle-segments to plot(‘plotdetails’), scaling (‘maxscrvalue’, ‘scalingx’, ‘scalingy’), orfor easy comparison between two instances of a SCR buildup (aesthetic‘comparewithid’).
About
A custom ggplot2 plot to show the components of the SCR in Solvency II, both standard formula and internal model
Resources
Uh oh!
There was an error while loading.Please reload this page.




