MackChainLadder {ChainLadder} | R Documentation |
Mack-chain-ladder model to forecast IBNR claims based on a cumulative claims triangle.
MackChainLadder(Triangle, weights = 1/Triangle) ## S3 method for class 'MackChainLadder': print(x, ...) ## S3 method for class 'MackChainLadder': plot(x, mfrow=c(3,2), title=NULL, ...) ## S3 method for class 'MackChainLadder': summary(object, ...)
Triangle |
a cumulative claims triangle. A quadratic (nxn)-matrix C_{ik} which is filled for k <=q n+1-i, i=1,...,n |
weights |
weights. Default: 1/Triangle |
x, object |
an object of class "MackChainLadder" |
mfrow |
see par |
title |
see title |
... |
not in use |
Let C_{ik} denote the cumulative loss amounts of origin year i=1,...,n, with losses know for development year k <=q n+1-i. In order to forecast the amounts C_{ik} for k > n+1-i the Mack chain-ladder-model assumes:
E[ frac{C_{i,k+1}}{C_{ik}} | C_{i1},C_{i2},...,C_{ik} ] = f_k
Var( frac{C_{i,k+1}}{C_{ik}} | C_{i1},C_{i2},...,C_{ik} ) = frac{σ_k^2}{C_{ik}}
{ C_{i1},...,C_{in}}, { C_{j1},...,C_{jn}},; are; independent; for; origin; year; i neq j
If these assumptions are hold, the Mack chain-ladder-model gives an unbiased estimator for IBNR (Incurred But Not Reported) claims.
The chain-ladder model can be regarded as weighted linear regression through the
origin for each development year: lm(y ~ x + 0, weights=1/x)
,
where y
is the vector of claims at development year k+1 and x
is
the vector of claims at development year k.
A tail factor is not yet implemented.
Triangle |
input triangle of cumulative claims |
FullTriangle |
forecasted full triangle |
Models |
linear regression models for each development year |
f |
chain-ladder ratios |
f.se |
standard error for chain-ladder ratios |
F.se |
standard error for individual age-to-age ratios |
sigma |
chain-ladder ratio variance |
Mack.S.E |
Mack's estimated standard error for the reserves |
Total.Mack.S.E |
Mack's estimated overall standard error for the reserves |
Markus Gesmann markus.gesmann@web.de
Thomas Mack. Distribution-free calculation of the standard error of chain ladder reserve estimates. Astin Bulletin. Vol. 23. No 2. 1993. pp.213:225 http://www.casact.org/library/astin/vol23no2/213.pdf
Thomas Mack. The standard error of chain ladder reserve estimates: Recursive calculation and inclusion of a tail factor. Astin Bulletin. Vol. 29. No 2. 1999. pp.361:366 http://www.casact.org/library/astin/vol29no2/361.pdf
See also MunichChainLadder
, residuals.MackChainLadder
data(Mortgage) Mortgage MRT <- MackChainLadder(Mortgage) MRT plot(MRT) # We observe trends along calendar years. data(GenIns) GenIns GNI <- MackChainLadder(GenIns) GNI plot(GNI) data(RAA) RAA MCL <- MackChainLadder(RAA) MCL plot(MCL) # investigate in more detail MCL[["Models"]][[1]] # Model for first development period summary( MCL[["Models"]][[1]]) # Look at the model stats op=par(mfrow=c(2,2)) # plot residuals plot( MCL[["Models"]][[1]]) par(op) # let's include an intercept in our model newModel <- update(MCL[["Models"]][[1]], y ~ x+1, weights=1/MCL[["Triangle"]][1:9,1], data=data.frame(x=MCL[["Triangle"]][1:9,1], y=MCL[["Triangle"]][1:9,2]) ) # view the new model summary(newModel) op=par(mfrow=c(2,2)) plot( newModel ) par(op) # change the model for dev. period one to the newModel MCL2 <- MCL MCL2[["Models"]][[1]] <- newModel predict(MCL2) # predict the full triangle with the new model #(only the last origin year will be affected) MCL2[["FullTriangle"]] <- predict(MCL2) MCL2[["FullTriangle"]] MCL2 # Std. Errors have not been re-estimated! # plot the result plot(MCL2, title="Change MCL Model")