Learn R Programming

ProfileLadder (version 0.2.2)

parallelReserve: Parallel Based Development Profile Reserve

Description

The function takes a cumulative (or incremental) run-off triangle (partially or completely observed) and returns the reserve prediction obtained by the PARALLAX or REACT algorithm (see Maciak, Mizera, and Pešta (2022) for more details). If a full data matrix is provided as the input then the algorithms uses only on the relevant part of the data---the run-off triangle only (i.e., the top-left triangular part of the matrix) but standard incremental residuals (true incremental payments minus predicted increments) are returned for retrospective validation purposes (if residuals = TRUE). If the run-off triangle is provided only,then the algorithm caclulates so-called back-fitted (incremental) residuals instead (see Maciak, Mizera, and Pešta (2022) for details).

Usage

parallelReserve(
  chainLadder,
  method = "parallax",
  cum = TRUE,
  residuals = FALSE
)

Value

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

reserve

numeric vector with four values summarizing the reserve: Total paid amount (i.e., the sum of the last observed diagonal in a cumulative run-off triangle); Total estimated amount (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 in chainLadder); True reserve---if the completed (true) chainLadder is provided in the input (i.e., the sum of the last column in chainLadder minus the sum of the last diagonal in chainLadder)

method

algorithm used for the reserve estimation (PARALLAX or REACT)

Triangle

the run-off triangle considered as the input for the underlying estimation algorithm (PARALLAX or REACT)

FullTriangle

completed functional development profiles (the lower-right triangular part in completed) estimated by the PARALLAX algorithm or the REACT algorithm

trueCompleted

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

residuals

a triangle with the corresponding residuals (for residuals = TRUE). The residuals are either provided in the upper-left triangle (so-called back-fitted incremental residuals if true completed triangle is not available) or the residuals are given in the lower-right triangle (i,e., standard incremental residuals---if the true completed triangle is given)

Arguments

chainLadder

cumulative or incremental run-off triangle (the triangle must be of the class triangle or matrix) in terms of a square matrix (i.e., a fully observed run-off triangle) or a standard run-off triangle instead (i.e, the top-left triangular part of the matrix

method

prediction method to be used: PARALLAX (DEFAULT method = "parallax") or REACT (method = "react")

cum

logical (TRUE for a cumulative triangle and FALSE for an incremental triangle)

residuals

logical to indicate whether incremental residuals should be provided or not. If the run-off triangle is complete then the residuals are obtained in terms of true increments minus the predicted increments. If the bottom-right part of the triangle is not available the residuals are provided in terms of the backfitting approach (see Maciak, Mizera, and Pesta (2022) for further details)

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

See Also

mcReserve(), permuteReserve(), summary.profileLadder()

Examples

Run this code
## run-off (upper-left) triangle with NA values (bottom-right part)
data(MW2014, package = "ChainLadder")
print(MW2014) 
parallelReserve(MW2014, residuals = TRUE)

## completed run-off triangle with 'unknown' truth (lower-bottom part)  
## for the estimation purposes only the upper-left triangle is used 
data(CameronMutual)
parallelReserve(CameronMutual, residuals = TRUE)

## the previous output is identical (in term of the reserve prediction) 
## but back-fitted residuals are provided in the output instead 
print(observed(CameronMutual))
parallelReserve(observed(CameronMutual), residuals = TRUE)


Run the code above in your browser using DataLab