Les modèles en réassurance
Par Arthur Charpentier le mardi 2 février 2010, 11:09 - publications - Lien permanent
Publication d’un papier sur les modèles en réassurance dans la revue Risques (ici), suite à un questionnement sur la pertinance des modèles classiques
utilisés par les réassureurs. La question initiale était partie de la
constatation - que l’on retrouve ici ou là - sur l’utilisation (ou la
mauvaise utilisation) de modèles sophistiques en finance de marché, en
essayant d’expliquer que - d’un point de vue épistémiologique au moins
- les modèles des réassureurs étaient plus robustes. En particulier, on
notera que les modèles les plus anciens utilisés par les réassureurs
(en particulier la loi de Pareto comme je l’avais évoqué ici)
ont eu une légitimité pratique durant plusieurs décennies avant d’être
justifiés par la théorie des valeurs extrêmes. Je ferais d’ailleurs
bientôt un billet sur l’histoire des valeurs extrêmes en
statistiques, en revenant en particulier sur les travaux de Gumbel ou de Fréchet.
> sinpe = read.table("http://perso.univ-rennes1.fr/arthur.charpentier/sinpe.csv",header=TRUE,sep=";")
> head(sinpe)
DSUR MNTPE
1 19850206 240439
2 19851228 125674
3 19850504 488331
4 19851118 457347
5 19850220 990919
6 19851214 182939
> annee=as.numeric(substr(as.character(sinpe$DSUR),1,4))
> sinistres=sinpe$MNTPE[annee>1992]
> XS=sinistres/100000
On se limite ici aux sinistres survenus après 1992. Si l’on visualise ces montants de sinistres, on obtient
> datesur=as.Date(as.character(sinpe$DSUR),"%Y%m%d")
> jour=datesur[annee>1992]
> plot(jour,sinistres/100000,xlab="",ylab="Coût individuel",cex=.5,ylim=c(0,600))
> ded=50
> abline(h=ded)

> library(evir)
> n=length(X)
> plot(log(sort(X)),log((n:1)/(n+1)),
+ xlab="Coûts des sinistres (logarithme)",ylab="Fonction de survie (logarithme)",cex=.8)
> out <- gpd(XS, 15)
> XI=as.numeric(out$par.ests[1]); BETA=as.numeric(out$par.ests[2])
> x0=seq(2,8,.01)
> lines(x,-1/XI*(x-log(15)),col="red")

> hill(X)

> DEDUC = seq(10,50,by=5)
> lambda=0; seuil=5
> WG1=WG2=rep(NA,length(DEDUC))
> for(k in 1:length(DEDUC)){
+ deductible=DEDUC[k]
+ out <- gpd(XS, seuil)
+ XI=as.numeric(out$par.ests[1]); BETA=as.numeric(out$par.ests[2])
+ G0=function(x){1-pgpd(x+seuil, xi = XI, mu = seuil, beta = BETA)}
+ G=function(x){(G0(x+deductible-seuil))/(G0(deductible-seuil))}
+ F=function(x){pnorm(qnorm(G(x))+lambda)}
+ (wang1=integrate(F, 0, Inf))
+ X=XS[XS>deductible]
+ n=length(X)
+ FS= function(z){
+ m=rep(NA,length(z))
+ for(i in 1:length(m)){
+ m[i]=sum(X>z[i]+deductible)/n}
+ return(m)
+ }
+ G=function(x){pnorm(qnorm(FS(x))+lambda)}
+ (wang2=sum(G(seq(0,800,.01))*.01))
+ WG1[k]=as.numeric(wang1$value)
+ WG2[k]=wang2
+ }
> plot(DEDUC,WG2-DEDUC,type=’b’,xlab="Niveau de la priorité (’00 000 euros)",ylab="Prime pure par sinistres réassuré",ylim=c(0,50))
> lines(DEDUC,WG1-DEDUC,type=’b’,col="red",pch=4)
> legend(10,50,c("Aujustement d’une loi de Pareto","’Burning cost’"),
+ col=c("red","black"),lty=1,cex=.8,pch=c(4,1))




Commentaires
Merci de cette trés belle réhabilitation Paretienne. Pour avoir dû batailler de nombreuses années pour défendre des alphas "décents" dans les cotations de réassurance j'apprécie particullièrement votre papier.
Au passage j'apprends l'existence de l'estimateur de Hill qui me paraît être un redoutable outil d'efficacité voire de cohérence des cotations.
Peut-être un jour le verra-t-on systématisé par exemple en annexe des outputs des modèles Catastrophe?
REPONSE: ravi de voir que cela vous plait !.... j'ai fait un lobbying assez actif plusieurs années lorsque je faisais le cours de réassurance à l'ENSAE (soit 4 ou 5 années consécutives, de mémoire): l'essentiel portait sur la modélisation des évènements extrêmes, et la base de la théorie des valeurs extrêmes... je pense que c'est effectivement le nerf de la guerre....