Learn R Programming

ProfileLadder (version 0.2.2)

permuteReserve: Permutation Bootstrap Reserve (PARALLAX, REACT, MACRAME)

Description

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).

Usage

permuteReserve(
  object,
  B = 500,
  std = TRUE,
  quantile = 0.995,
  adjustMC = TRUE,
  outputAll = TRUE,
  pb = TRUE
)

Value

An object of the class permutedReserve which is a list with the following elements:

eSummary

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

pSummary

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

pReserves

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

pUltimates

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.

pLatest

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

pLatestCum

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

pFirst

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)

Triangle

The input run-off triangle

FullTriangle

The completed run-off triangle by using one of the PARALLAX, REACT, or MACRAME estimation method

trueComplete

The true complete run-off triangle (if available) and NA value otherwise

info

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

Arguments

object

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.

B

number of the bootstrap permutations to be performed (by DEFAULT the number of permutations is set to B = 500)

std

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

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)

adjustMC

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())

outputAll

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)

pb

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

References

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

See Also

parallelReserve(), mcReserve(), plot.permutedReserve(), summary.permutedReserve()

Examples

Run this code
## 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