Comme on l’avait vu en début de cours, on a en fait souvent plus d’information que les paiements effectués. On a aussi les estimations de charge effectuées par les gestionnaires de sinistres, pour les sinistres présents dans la base (i.e. les sinistres déclarés). Par exemple, sur le jeu de données utilisé en cours, on a les paiements, et l’estimation de la charge dossier par dossier,
> 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 > INCURRED [,1] [,2] [,3] [,4] [,5] [,6] [1,] 4975 4629 4497 4470 4456 4456 [2,] 5135 4949 4783 4760 4750 NA [3,] 5681 5631 5492 5470 NA NA [4,] 6272 6198 6131 NA NA NA [5,] 7326 7087 NA NA NA NA [6,] 7353 NA NA NA NA NA
On peut alors utiliser la méthode Chain Ladder non seulement sur les paiements, mais aussi sur les estimation de charge dossier par dossier. Visuellement, on retrouve des courbes assez proches de celles vues en cours (certes, avec des développements mensuels),
> PCL$FullTriangle 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 > ICL$FullTriangle 1 2 3 4 5 6 1 4975 4629.000 4497.000 4470.000 4456.000 4456.000 2 5135 4949.000 4783.000 4760.000 4750.000 4750.000 3 5681 5631.000 5492.000 5470.000 5455.777 5455.777 4 6272 6198.000 6131.000 6101.117 6085.253 6085.253 5 7326 7087.000 6920.146 6886.416 6868.510 6868.510 6 7353 7129.075 6961.230 6927.300 6909.288 6909.288 > library(ChainLadder) > PCL <- MackChainLadder(PAID) > ICL <- MackChainLadder(INCURRED) > k <- 5 > plot(0:(nc+1-k),c(0,PCL$FullTriangle[k,1:(nc+1-k)]), + pch=19,type="b", + ylim=c(0,max(c(PCL$FullTriangle[k,],ICL$FullTriangle[k,]))), + xlim=c(0,nc), ylab="",xlab="",col="blue") > lines(0:(nc+1-k),c(0,ICL$FullTriangle[k,1:(nc+1-k)]), + pch=19,type="b",col="red") > lines((nc+1-k):nc,PCL$FullTriangle[k,(nc+1-k):nc], + pch=1,type="b",col="blue") > lines((nc+1-k):nc,ICL$FullTriangle[k,(nc+1-k):nc], + pch=1,type="b",col="red")
Il existe une méthode combinant les deux triangles, appelées Munich Chain Ladder, dont la théorie a été développée par Gerhard Quarg et Thomas Mack. Numériquement, on a
> (MNCL <- MunichChainLadder(Paid=PAID,Incurred=INCURRED)) MunichChainLadder(Paid = PAID, Incurred = INCURRED) Latest Paid Latest Incurred Latest P/I Ratio Ult. Paid Ult. 1 4,456 4,456 1.000 4,456 4,456 2 4,730 4,750 0.996 4,753 4,750 3 5,420 5,470 0.991 5,455 5,454 4 6,020 6,131 0.982 6,086 6,085 5 6,794 7,087 0.959 6,983 6,980 6 5,217 7,353 0.710 7,538 7,533 Totals Paid Incurred P/I Ratio Latest: 32,637 35,247 0.93 Ultimate: 35,271 35,259 1.00 > k <- 5 > plot(0:(nc+1-k),c(0,MNCL$MCLPaid[k,1:(nc+1-k)]), + pch=19,type="b", ylim=c(0,max(c(MNCL$MCLPaid[k,], + MNCL$MCLIncurred[k,]))),xlim=c(0,nc), + ylab="",xlab="",col="blue") > lines(0:(nc+1-k),c(0,MNCL$MCLIncurred[k,1:(nc+1-k)]), + pch=19,type="b",col="red") > lines((nc+1-k):nc,MNCL$MCLPaid[k,(nc+1-k):nc], + pch=1,type="b",col="blue") > lines((nc+1-k):nc,MNCL$MCLIncurred[k,(nc+1-k):nc], + pch=1,type="b",col="red")
OpenEdition suggests that you cite this post as follows:
Arthur Charpentier (December 7, 2011). Triangles de paiements, ou charge dossier par dossier. Freakonometrics. Retrieved December 3, 2024 from https://doi.org/10.58079/oujg