Pour la fin du cours, on a commencé à voir la méthode dite Chain Ladder. Pour cela, rappelons que l’on dispose du jeu de données suivants, de paiements cumulés,
> source("https://perso.univ-rennes1.fr/arthur.charpentier/bases.R") > PAID [,1] [,2] [,3] [,4] [,5] [,6] [1,] 3209 4372 4411 4428 4435 4456 [2,] 3367 4659 4696 4720 4730 NA [3,] 3871 5345 5398 5420 NA NA [4,] 4239 5917 6020 NA NA NA [5,] 4929 6794 NA NA NA NA [6,] 5217 NA NA NA NA NA > PAID/PREMIUM [,1] [,2] [,3] [,4] [,5] [,6] [1,] 0.6989 0.9522 0.9607 0.9644 0.9660 0.9705 [2,] 0.7206 0.9972 1.0051 1.0102 1.0124 NA [3,] 0.7960 1.0991 1.1100 1.1145 NA NA [4,] 0.8191 1.1433 1.1632 NA NA NA [5,] 0.8688 1.1976 NA NA NA NA [6,] 0.8112 NA NA NA NA NA
si on visualise l’évolution du ratio sinistre/primes. On peut visualiser les facteurs de transition dans le tableau ci-dessous,
> PAID[,2:6]/PAID[,1:5] [,1] [,2] [,3] [,4] [,5] [1,] 1.362418 1.008920 1.003854 1.001581 1.004735 [2,] 1.383724 1.007942 1.005111 1.002119 NA [3,] 1.380780 1.009916 1.004076 NA NA [4,] 1.395848 1.017407 NA NA NA [5,] 1.378373 NA NA NA NA [6,] NA NA NA NA NA
Toutefois, pour faire le ratio moyen, on ne fait pas la moyenne des ratios, ou alors à condition de pondérer correctement, par exemple pour passer de la première à la seconde ligne du tableau,
> k=1 > weighted.mean(x=PAID[,k+1]/PAID[,k],w=PAID[,k],na.rm=TRUE) [1] 1.380933 > sum(PAID[1:(6-k),k+1])/sum(PAID[1:(6-k),k]) [1] 1.380933
En itérant, on récupère l’ensemble des coefficients de transition,
> lambda=rep(NA,5) > for(k in 1:5){ + lambda[k]=(sum(PAID[1:(6-k),k+1])/sum(PAID[1:(6-k),k]))} > lambda [1] 1.380933 1.011433 1.004343 1.001858 1.004735
Une fois récupérés tous les coefficients de transition, on peut compléter la partie inférieure du triangle (ou de la matrice),
> PROJECTION=PAID > for(k in 1:5){ + PROJECTION[((7-k):6),k+1]=PROJECTION[((7-k):6),k]*lambda[k] + print(PROJECTION)} [,1] [,2] [,3] [,4] [,5] [,6] [1,] 3209 4372.000 4411 4428 4435 4456 [2,] 3367 4659.000 4696 4720 4730 NA [3,] 3871 5345.000 5398 5420 NA NA [4,] 4239 5917.000 6020 NA NA NA [5,] 4929 6794.000 NA NA NA NA [6,] 5217 7204.327 NA NA NA NA [,1] [,2] [,3] [,4] [,5] [,6] [1,] 3209 4372.000 4411.000 4428 4435 4456 [2,] 3367 4659.000 4696.000 4720 4730 NA [3,] 3871 5345.000 5398.000 5420 NA NA [4,] 4239 5917.000 6020.000 NA NA NA [5,] 4929 6794.000 6871.672 NA NA NA [6,] 5217 7204.327 7286.691 NA NA NA [,1] [,2] [,3] [,4] [,5] [,6] [1,] 3209 4372.000 4411.000 4428.000 4435 4456 [2,] 3367 4659.000 4696.000 4720.000 4730 NA [3,] 3871 5345.000 5398.000 5420.000 NA NA [4,] 4239 5917.000 6020.000 6046.147 NA NA [5,] 4929 6794.000 6871.672 6901.518 NA NA [6,] 5217 7204.327 7286.691 7318.339 NA NA [,1] [,2] [,3] [,4] [,5] [,6] [1,] 3209 4372.000 4411.000 4428.000 4435.000 4456 [2,] 3367 4659.000 4696.000 4720.000 4730.000 NA [3,] 3871 5345.000 5398.000 5420.000 5430.072 NA [4,] 4239 5917.000 6020.000 6046.147 6057.383 NA [5,] 4929 6794.000 6871.672 6901.518 6914.344 NA [6,] 5217 7204.327 7286.691 7318.339 7331.939 NA [,1] [,2] [,3] [,4] [,5] [,6] [1,] 3209 4372.000 4411.000 4428.000 4435.000 4456.000 [2,] 3367 4659.000 4696.000 4720.000 4730.000 4752.397 [3,] 3871 5345.000 5398.000 5420.000 5430.072 5455.784 [4,] 4239 5917.000 6020.000 6046.147 6057.383 6086.065 [5,] 4929 6794.000 6871.672 6901.518 6914.344 6947.084 [6,] 5217 7204.327 7286.691 7318.339 7331.939 7366.656
où on visualise, étape par étape, le remplissage de la partie inférieure de la matrice. La dernière colonne contient des prédictions des charges ultimes, par année de survenance, et sur la diagonale, on a toujours le montant de paiements déjà effectués par année de survenance. Le montant de provision est alors la différence entre ce que l’on pense payer, et ce que l’on a déjà payé.
> PROJECTION[,6]-diag(PAID[,6:1]) [1] 0.00 22.3968 35.7838 66.0646 153.0835 2149.6564 > sum(PROJECTION[,6]-diag(PAID[,6:1])) [1] 2426.985
OpenEdition suggests that you cite this post as follows:
Arthur Charpentier (November 29, 2011). Chain ladder. Freakonometrics. Retrieved December 3, 2024 from https://doi.org/10.58079/ouj9
It works, thanks!.
Hi Arthur,
When I source your R code on the this link:
(“http://perso.univ-rennes1.fr/arthur.charpentier/bases.R”), I get the following message in R console:
Error in file(file, “rt”) : cannot open the connection.
Is there another way to source the code?.
Thanks!.
the file is still online, why don’t you open it and then copy, and paste ?