Learn R Programming

ChainLadder (version 0.1.1-5)

MackChainLadder: Mack-Chain-Ladder Model

Description

Mack-chain-ladder model to forecast IBNR claims based on a cumulative claims triangle.

Usage

MackChainLadder(Triangle, weights = 1/Triangle)

## S3 method for class 'MackChainLadder': print(x, \dots)

## S3 method for class 'MackChainLadder': plot(x, mfrow=c(3,2), title=NULL, ...)

## S3 method for class 'MackChainLadder': summary(object, \dots)

Arguments

Triangle
a cumulative claims triangle. A quadratic (nxn)-matrix $C_{ik}$ which is filled for $k \leq n+1-i, i=1,\ldots,n$
weights
weights. Default: 1/Triangle
x, object
an object of class "MackChainLadder"
mfrow
see par
title
see title
...
not in use

Value

  • Triangleinput triangle of cumulative claims
  • FullTriangleforecasted full triangle
  • Modelslinear regression models for each development year
  • fchain-ladder ratios
  • f.sestandard error for chain-ladder ratios
  • F.sestandard error for individual age-to-age ratios
  • sigmachain-ladder ratio variance
  • Mack.S.EMack's estimated standard error for the reserves
  • Total.Mack.S.EMack's estimated overall standard error for the reserves

Details

Let $C_{ik}$ denote the cumulative loss amounts of origin year $i=1,\ldots,n$, with losses know for development year $k \leq 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},\ldots,C_{ik} ] = f_k$$ $$Var( \frac{C_{i,k+1}}{C_{ik}} | C_{i1},C_{i2},\ldots,C_{ik} ) = \frac{\sigma_k^2}{C_{ik}}$$ $${ C_{i1},\ldots,C_{in}}, { C_{j1},\ldots,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.

References

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

See also MunichChainLadder, residuals.MackChainLadder

Examples

Run this code
Mortgage
MRT <- MackChainLadder(Mortgage)
MRT
plot(MRT) # We observe trends along calendar years.

GenIns
GNI <- MackChainLadder(GenIns)
GNI
plot(GNI)
 
  
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="Changed MCL Model")

Run the code above in your browser using DataLab