{"word_count": 367, "character_count": 3544}
Publication d'un papier sur les modèles en réassurance dans la revue Risques (ici), suite à un questionnement sur la pertinence 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émologique 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.Sinon le code utilisé dans le papier est en ligne ici, et la base là&#62; sinpe = read.table("https://perso.univ-rennes1.fr/arthur.charpentier/sinpe.csv",header=TRUE,sep=";")&#62; head(sinpe)      DSUR  MNTPE1 19850206 2404392 19851228 1256743 19850504 4883314 19851118 4573475 19850220 9909196 19851214 182939&#62; annee=as.numeric(substr(as.character(sinpe$DSUR),1,4))&#62; sinistres=sinpe$MNTPE[annee&#62;1992]&#62; XS=sinistres/100000On se limite ici aux sinistres survenus après 1992. Si l'on visualise ces montants de sinistres, on obtient&#62; datesur=as.Date(as.character(sinpe$DSUR),"%Y%m%d")&#62; jour=datesur[annee&#62;1992]&#62; plot(jour,sinistres/100000,xlab="",ylab="Coût individuel",cex=.5,ylim=c(0,600))&#62; ded=50&#62; abline(h=ded)On peut aussi faire le graphique Pareto-log-log,&#62; library(evir)&#62; n=length(X)&#62; plot(log(sort(X)),log((n:1)/(n+1)),+ xlab="Coûts des sinistres (logarithme)",ylab="Fonction de survie (logarithme)",cex=.8)&#62; out &#60;- gpd(XS, 15)&#62; XI=as.numeric(out$par.ests[1]); BETA=as.numeric(out$par.ests[2]) &#62; x0=seq(2,8,.01)&#62; lines(x,-1/XI*(x-log(15)),col="red")(l'ajustement de la loi de Pareto permettant de tracer la droite rouge) ou encore visualiser l'estimateur de Hill de l'indice de queue,&#62; hill(X)Pour finir, le code suivant permet de calculer la prime pure (ou plus généralement une prime de Wang) soit de manière non-paramétrique (burning cost) ou bien en utilisant l'ajustement d'une loi de Pareto. Le papier étant un papier de vulgarisation, j'ai pris le seuil de manière arbitraire, sans aucune recherche de valeur "optimale"&#62; DEDUC = seq(10,50,by=5)&#62; lambda=0;  seuil=5&#62; WG1=WG2=rep(NA,length(DEDUC))&#62; for(k in 1:length(DEDUC)){+ deductible=DEDUC[k]+ out &#60;- 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&#62;deductible]+ n=length(X)+ FS= function(z){+ m=rep(NA,length(z))+ for(i in 1:length(m)){+ m[i]=sum(X&#62;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+ }&#62; 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))&#62; lines(DEDUC,WG1-DEDUC,type='b',col="red",pch=4)&#62; legend(10,50,c("Aujustement d'une loi de Pareto","'Burning cost'"),+ col=c("red","black"),lty=1,cex=.8,pch=c(4,1))