The function takes a completed run-off triangle provided either by some classical parametric reserving technique (ODP model, Mack model, or Tweedie model) or some functional-based alternative (PARALLAX, REACT, or MACRAME) and estimates the overall reserve distribution in terms of the permutation bootstrap approach proposed in Maciak, Mizera, and Pešta (2022).
permuteReserve(
object,
B = 500,
std = TRUE,
quantile = 0.995,
adjustMC = TRUE,
outputAll = TRUE,
pb = TRUE
)An object of the class permutedReserve which is a list with
the following elements:
numeric vector with four values summarizing the estimated reserve: Paid amount (i.e., the sum of the last observed diagonal in the given cumulative run-off triangle); Estimated ultimate (i.e., the sum of the last column in the completed cumulative triangle); Estimated reserve (i.e., the sum of the last column in the completed cumulative triangle minus the sum of the last observed diagonal); True reserve if a completed (true) run-off triangle is available
numeric vector with four values summarizing the overall reserve
distribution: Boot.Mean gives the verage of B permutation bootstrap
reserves; Std.Er. provides the corresponding standard error of B
permutation bootstrap reserves; The value of BootCov% stands for
a percentage proportion between the standard error and the average;
Finally, BootVar.995 provides the estimated 0.995 quantile (by DEFAULT)
of the bootstrap reserve distribution (for quantile = 0.995 and, otherwise,
it is modified acordingly) given relatively with respect to the permutation
bootstrapped mean reserve
a numeric vector of the length B with the estimated
(permuted) reserves for each row-permuted run-off triangle in B
independent Monte Carlo simulation runs
A matrix of the dimensions B x n (provided in the output
if outputAll = TRUE) where n
stands for the number of the origin/development periods and B is the number
os simulated ultimate payments --the last column in the completed run-off triangle.
A matrix of the dimensions B x n (provided in the output
if outputAll = TRUE) where n again stands for the number of the
origin/development periods and B is the number of simulated incremental diagonals
A matrix of the dimensions B x n (provided in the output
if outputAll = TRUE) where n is the number of the origin/development periods
and B stands for the number of simulated cumulative diagonals
A matrix of the dimension B x n (provided in the output
if outputAll = TRUE) where n stands for the number of the origin/development
periods and B is the number of simulated first payment columns
(all columns are identical for std = TRUE)
The input run-off triangle
The completed run-off triangle by using one of the PARALLAX, REACT, or MACRAME estimation method
The true complete run-off triangle (if available) and NA
value otherwise
a numeric vector summarizing the bootstrap computational efficiency:
In particular, the OS/Architecture type, the number of permutations (B),
the input run-off triangle dimension (n) and the computation time needed
for the permutation bootstrap calculations
an object which is the result of some functional-based reserving
method implemented in the ProfileLadder package (functions parallelReserve()
and mcReserve() in particular) or some parametric approach from the
ChainLadder package (specifically the functions chainladder(),
glmReserve(), tweedieReserve(), and MackChainLadder()).
The following object's classes are allowed: profileLadder,
ChainLadder, glmReserve, tweedieReserve, and MackChainLadder.
number of the bootstrap permutations to be performed (by DEFAULT the
number of permutations is set to B = 500)
logical to indicate whether the run-off triangle should be
standardized by the first column increments (TRUE by DEFAULT) or not
(std = FALSE).For more details about the triangle standardization,
see Maciak, Mizera, and Pešta (2022)
quantile level for the BootVar. characteristic of the
bootstrapped distribution (the DEFAULT choice quantile = 0.995 is
explicitly required by the Solvency II principle used by actuaries in practice)
logical (TRUE by DEFAULT) to indicate whether the Markov
chain states and the corresponding breaks should be adjusted for every bootstrap
permutation or the same set of Markov states and breaks is used for each permuted
run-off triangle (only applies if the input object is an output
of the MACRAME algorithm---the function mcReserve())
logical to indicate whether whole permuted triangles should
be stored and provided in the output (outputAll = TRUE set by default),
or just the main summary characteristics are given instead (outputAll = FALSE)
logical (TRUE by DEFAULT) to indicate whether a progress bar
for bootstrap resampling should be used or not (required the R package pbapply)
to be installed
Maciak, M., Mizera, I., and Pešta, M. (2022). Functional Profile Techniques for Claims Reserving. ASTIN Bulletin, 52(2), 449-482. DOI:10.1017/asb.2022.4
European Parliament and Council (2009). Directive 2009/138/EC of
the European Parliament and of the Council of 25 November 2009 on the taking-up
and pursuit of the business of Insurance and Reinsurance (Solvency II). Official
Journal of the European Union, 1–155.
https://data.europa.eu/eli/dir/2009/138/oj
parallelReserve(), mcReserve(), plot.permutedReserve(), summary.permutedReserve()
## REACT algorithm and the permutation bootstrap reserve
data(CameronMutual)
output <- parallelReserve(CameronMutual, method = "react")
summary(permuteReserve(output, B = 100))
## MACRAME algorithm with a pre-specified number of states using the same MC
## states and the same break for each permuted run-off triangle
output <- mcReserve(CameronMutual, states = 5)
plot(permuteReserve(output, B = 100, adjustMC = FALSE))
## Permutation bootstrap applied to a completed run-off triangle
## obtained by a parametric Over-dispersed Poisson model (from ChainLadder pkg)
library("ChainLadder")
output <- permuteReserve(glmReserve(MW2008), B = 100)
summary(output, triangle.summary = TRUE)
Run the code above in your browser using DataLab