r-shiny:prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/be07.pdf ·...

46
Master 1 Actuariat Bureau d’étude R-Shiny : Prolongement de tables de maintien en invalidité et impact de l’âge de départ à la retraite sur les garanties invalidité Auteurs : Léonie Le Bastard Houda Benabderrahman Malika Traoré Encadrants : Mr. Franck Vermet Mme. Korotoumou Traoré Version 0.1 du 10 juin 2018

Upload: others

Post on 05-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Master 1 Actuariat

Bureau d’étude

R-Shiny : Prolongement de tables demaintien en invalidité et impact de l’âgede départ à la retraite sur les garanties

invalidité

Auteurs :Léonie Le BastardHouda BenabderrahmanMalika Traoré

Encadrants :Mr. Franck Vermet

Mme. Korotoumou Traoré

Version 0.1 du10 juin 2018

Page 2: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Remerciements

Avant de commencer notre rapport, nous souhaitons remercier toutes les personnesayant contribué de près ou de loin à notre bureau d’étude. Tout d’abord, nous remercionschaleureusement Korotoumou TRAORÉ ancienne élève de l’EURIA (promotion 2017) pourson mémoire sur lequel est basé ce sujet qui nous a permis d’acquérir de nouvelles com-pétences en assurance vie et en informatique. Elle nous a accompagnées et guidées dansnotre travail. Nous tenons également à la remercier pour sa disponibilité.

Pour terminer, nous aimerions remercier notre tuteur universitaire Monsieur FranckVERMET ainsi que Monsieur Anthony NAHELOU, actuaire indépendant, responsabledes bureaux d’études. Il nous ont conseillées et orientées au cours des différentes séancesde bureau d’étude afin de permettre à notre projet de progresser.

1

Page 3: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Résumé

Dans le cadre de ce bureau d’étude, nous avons développé une application R-Shinypermettant à toute personne même non familière avec le langage informatique d’effectuerdes calculs actuariels portant sur les garanties invalidités.

L’application se basant sur le mémoire de Korotoumou Traoré, ancienne élève de l’EU-RIA promotion 2017, a plusieurs objectifs :

• Le prolongement de tables de maintien en invalidité jusqu’à un âge choisi à partir detables de mortalité

• Le calcul de provisions mathématiques dans le cadre de garanties invalidité, en fonc-tion de la table de maintien en invalidité et du choix de l’âge légal de départ à laretraite

• Le calcul de la probabilité de maintien en invalidité pour un assuré donné

• Le calcul de la provision mathématique pour un portefeuille d’invalides

• L’étude de l’influence de l’âge de départ à la retraite et des tables utilisées, sur lesprovisions mathématiques

Mots clés : Invalidité, Mortalité, Prolongement, Mensualisation, Interpolation, Provi-sions Mathématiques ...

2

Page 4: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Table des matières

Introduction 7

0.1 Origine du sujet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

0.2 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1 Présentation de R-Shiny 10

1.1 Fonctionnement de R-Shiny . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.2 Conception de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Calculs et prise en main de notre application 12

2.1 Prolongement de tables de maintien en invalidité . . . . . . . . . . . . . . . 12

2.1.1 Introduction : Objectif de l’outil . . . . . . . . . . . . . . . . . . . . 12

2.1.2 Comment sont structurées ces tables ? . . . . . . . . . . . . . . . . 13

2.1.3 Paramètres à fixer . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1.4 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2 Mensualisation de la table de maintien en invalidité . . . . . . . . . . . . . 16

2.2.1 Introduction : Objectif de l’outil . . . . . . . . . . . . . . . . . . . . 16

2.2.2 Explication de la méthode d’interpolation . . . . . . . . . . . . . . 17

2.3 Calcul de probabilité de maintien en invalidité . . . . . . . . . . . . . . . . 17

2.3.1 Introduction : Objectif de l’outil . . . . . . . . . . . . . . . . . . . . 17

2.3.2 Paramètres à fixer . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3.4 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4 Calcul des provisions mathématiques pour un assuré . . . . . . . . . . . . . 20

2.4.1 Introduction : Objectif de l’outil . . . . . . . . . . . . . . . . . . . . 20

3

Page 5: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Table des matières 4

2.4.2 Paramètres à fixer . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.4.3 Résultats : Comment est calculée cette provision mathématique ? . 23

2.5 Calcul des provisions mathématiques pour un portefeuille d’assurés . . . . 24

2.5.1 Objectif de l’outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.5.2 Paramètres à fixer . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.5.3 Résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3 Étude statistique de l’impact de l’augmentation de l’âge de départ à laretraite sur les garanties invalidité 26

3.1 Effet du choix de la table de maintien en invalidité sur les provisions mathé-matiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2 Effet de l’augmentation de l’âge de départ à la retraite . . . . . . . . . . . 27

3.3 Étude de la méthode de prolongement des tables de maintien en invaliditéet de sa pertinence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Conclusion 31

Bibliographie 32

A Codes R 33

Page 6: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Table des figures

2.1 Structure de la table de maintien en invalidité du BCAC . . . . . . . . . . 13

2.2 Paramètres à fixer pour le prolongement de la table de maintien en invalidité 13

2.3 Extrait de la table de mortalité TD88-90 . . . . . . . . . . . . . . . . . . . 14

2.4 Valeurs de la fonction S62(t) . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.5 Exemple de prolongement de la table d’invalidité du BCAC pour un âged’entrée en invalidité de 40 ans . . . . . . . . . . . . . . . . . . . . . . . . 16

2.6 Extrait de table de maintien en invalidité avec anciennetés annuelles . . . . 16

2.7 Extrait de table de maintien en invalidité avec anciennetés mensuelles . . . 17

2.8 Paramètres à fixer pour le calcul de la probabilité de maintien en invalidité 18

2.9 Extrait de table de maintien en invalidité avec anciennetés annuelles . . . . 19

2.10 Paramètres à fixer pour le calcul des provisions mathématiques . . . . . . . 22

2.11 Paramètres à fixer pour le calcul de la provision mathématique pour unportefeuille d’assurés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.1 Effet du choix de la table d’invalidité sur les provisions mathématiques . . 26

3.2 Impact de l’âge de départ à la retraite sur les provisions mathématiques d’unassuré . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3 Extrait de la table du BCAC 2013 prolongée jusque 69 ans . . . . . . . . . 29

3.4 Évolution d’une population de valides et d’invalides . . . . . . . . . . . . . 30

5

Page 7: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Liste des sigles et acronymes

ACPR Autorité de Contôle Prudentiel et de Résolution

BCAC Bureau Commun d’Assurances Collectives

CPAM Caisse Primaire d’Assurance Maladie

PASS Plafond Annuel de la Sécurité Sociale

PM Provisions Mathématiques

6

Page 8: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Introduction

0.1 Origine du sujet

En septembre 2017, Korotoumou Traoré élève de l’EURIA, a soutenu son mémoired’actuariat (Traoré 2017) sur le sujet " Effet d’un changement réglementaire de l’âge de laretraite sur les garanties invalidité d’un portefeuille de prévoyance collective". L’objectif dece bureau d’études est d’implémenter les calculs traités dans ce mémoire et de créer un outilpermettant à toute personne de pouvoir calculer et visualiser les effets d’un changementde l’âge de départ à la retraite ainsi que du choix de la table de maintien en invaliditésur les provisions mathématiques en laissant libre choix des paramètres. Une application adonc été développée grâce à l’outil R-Shiny se servant de la puissance de calcul du logicielR et permettant la création de pages web interactives afin de permettre à toute personne,même non-initiée à la programmation, d’utiliser les fonctions et algorithmes codés sous R.Cette application est disponible sur l’Euria-lab à l’adresse : http://euria-lab.fr/

0.2 Contexte

La reconnaissance de l’invalidité par la sécurité sociale permet de percevoir une pensionen compensation de la perte de salaire entraînée par l’état de santé de l’assuré. Une personneest déclarée invalide si, après une maladie ou un accident non professionnel, sa capacité detravail ou de gain est réduite d’au moins 2/3. Afin de déterminer le montant de la pension,les personnes invalides sont classés par la Sécurité sociale en 3 catégories, en fonction deleur situation :

• 1ere catégorie : Invalides capables d’exercer une activité rémunérée

• 2e catégorie : Invalides absolument incapables d’exercer une profession quelconque

• 3e catégorie : Invalides étant dans l’obligation d’avoir recours à l’assistance d’unetierce personne pour effectuer les actes ordinaires de la vie

7

Page 9: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

0.2. Contexte 8

La catégorie d’invalidité est déterminée par le médecin de la CPAM (Caisse Primaired’Assurance Maladie). La rente de la sécurité sociale sera alors fonction du salaire annuelmoyen, obtenue à partir de vos 10 meilleures années de salaire, dans la limite du pla-fond annuel de la sécurité sociale (PASS). Cette rente dépendra également de la catégoried’invalidité.

Voici les pensions d’invalidité en pourcentage du salaire annuel moyen :

• 1re catégorie : 30%

• 2e catégorie : 50%

• 3e catégorie : 50%, majoré de 40% au titre de la majoration pour tierce personne

Le salarié fait alors face à une perte de revenu.

Afin de compenser cette perte dû à l’arrêt de travail, il existe une garantie optionnellefigurant dans les contrats d’assurance décès permettant ainsi à l’assuré de préserver sonniveau de vie. Celle-ci s’ajoute alors à la rente d’invalidité de la sécurité sociale. La valeurde la pension dépend du contrat de l’assurance.

L’invalidité est une notion directement liée à la capacité de travail. Un retraité ne peutdonc pas être reconnu invalide. Le versement de la rente d’invalidité par l’assureur se feraalors jusqu’à la sortie d’invalidité de l’assuré ou jusqu’à son départ à la retraite.

Il est donc important de remarquer qu’une modification de l’âge légal de départ à la retraiteaugmentera la période probable de versement des rentes. Cela impactera alors les provisionsmathématiques de l’assureur qui seront naturellement revues à la hausse.

En effet, les provisions mathématiques évaluent la différence entre les engagements del’assureur et ceux de l’assuré. Une augmentation de la période de versement des rentes aurapour effet d’augmenter les engagements de l’assureur, alors que ceux de l’assuré resterontinchangés.

Une fois l’invalidité reconnue, l’assureur se doit de verser une rente à l’assuré, tandis que cedernier n’a plus de primes à payer. La provision mathématique est alors la somme des fluxprobabilisés et actualisés de l’assureur envers l’assuré. Ces flux probabilisés sont calculésen évaluant la probabilité de maintien en invalidité de l’assuré pour chaque période deversement de la rente. On utilise pour cela une table de maintien en invalidité construitepar le Bureau Commun des Assurances Collectives (BCAC).

Le BCAC construit régulièrement de nouvelles tables afin de prendre en compte l’évolutionau cours des années des probabilités de maintien en invalidité. On comprend alors que lechoix de la table a également un impact sur le calcul des provisions mathématiques.

La table du BCAC 2010 considère un âge de départ à la retraite de 62 ans, tandis que latable du BCAC 2013 le fixe à 65 ans. Une augmentation de l’âge de départ à la retraite

Page 10: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

0.2. Contexte 9

nécessite alors un prolongement de la table de maintien du BCAC afin de pouvoir évaluer lesprovisions mathématiques pour ce nouvel âge maximal de versement de la rente d’invalidité.

La première fonctionnalité de l’application consistera donc à prolonger une table d’invaliditésélectionnée, jusqu’à un âge de départ à la retraite choisi.

Page 11: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Chapitre 1

Présentation de R-Shiny

1.1 Fonctionnement de R-Shiny

R shiny est un package développé par R studio dans le but de créer et de mettre enligne des applications web interactives. L’un des avantages de R shiny est que l’utilisateurn’a pas besoin d’avoir des connaissances dans d’autres langages de programmation ; seulela maîtrise de R suffit.

Cependant, il est possible d’utiliser des outils de programmation tels que HTML, Ja-vaScript et CSS dans le but de compléter les fonctionnalités de R shiny et de customiserl’application.

Concernant le fonctionnement du package shiny, il est nécessaire de créer au préalabledeux fichiers qui sont le UI et le SERVER.

• La partie UI (User Interface script) : permet de contrôler la mise en page et l’ap-parence de l’application. C’est dans cette partie que sont définis toutes les variablesd’entrée (Input) et les différents résultats (output) que l’on souhaite afficher. Celapermettra donc à l’utilisateur de faire varier les inputs et de voir l’impact de ceschangements sur les résultats.

• La partie Server : contient les fonctions nécessaires au calcul des résultats. Pour cefaire, le code prendra donc en entrée les différentes variables définies dans la partieUI et fait les traitements dans le server. Les résultats de ce traitement seront ensuiterestitués dans la partie UI pour être affichés dans l’interface de l’application. Toutcela se fait de manière dynamique grâce aux fonctions réactives contenues dans lepackage shiny.

Une fois à l’aise avec la librairie rshiny il est possible d’améliorer l’attrait visuel del’application et cela en utilisant la librairie shinydashboard. Ladite librairie permet de

10

Page 12: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

1.2. Conception de l’application 11

garder toutes les entrées et sorties dans le UI et le Server respectivement avec juste quelquespetites modifications dans l’interface utilisateur (UI). De plus, shinydashboard a plusieursavantages. Entre autres, on peut avoir un menu à gauche représentant les différentes ru-briques et sous rubriques de l’application, il est flexible et le contenu est intelligemmentdimensionné afin de permettre un affichage adapté et esthétique. Aussi différents langagestels que CSS et HTML peuvent être utilisés dans le code.

1.2 Conception de l’application

Au tout début de notre Bureau d’étude, nous avons tout d’abord préféré implémenterles différents calculs et les différentes fonctions qui allaient nous être nécessaires par la suitedans l’application, avant de se familiariser avec R-Shiny.

Une fois toutes les fonctions implémentées efficacement, nous avons dû nous familiariseravec l’outil R-Shiny. Pour ce faire, nous avons utilisé la documentation du site officielhttp ://shiny.rstudio.com ainsi que ses nombreux tutoriels vidéos qui nous ont permis uneprise en main facile des fonctionnalités de base de l’environnement Shiny. Nous avons ainsiréalisé une première application entièrement basée sur la librairie R rshiny. Cependantalors que la conception de l’application semblait toucher à sa fin, nous avons découvert lalibrairie shinydashboard permettant de créer des applications plus ergonomiques et plusagréables visuellement. Nous avons donc à partir de ce moment repensé la conception del’application.

Page 13: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Chapitre 2

Calculs et prise en main de notreapplication

2.1 Prolongement de tables de maintien en invalidité

2.1.1 Introduction : Objectif de l’outil

L’âge légal de départ à la retraite est actuellement de 62 ans. Suite à un accident detravail ou une maladie professionnelle, une personne est déclarée comme invalide à partirdu moment où elle "présente une invalidité réduisant de deux tiers ou plus sa capacité detravail ou de gain, c’est à dire le mettant hors d’état de se procurer, dans une professionquelconque, un salaire supérieur à une fraction de la rémunération normale perçue dansla même région par des travailleurs de la même catégorie, dans la profession qu’il exerçaitavant la date de l’interruption de travail ". La sécurité sociale verse alors une rente men-suelle à l’assurée afin de maintenir son niveau de vie. Cette rente dépend de son salaireannuel tranche A correspondant à la moyenne des 10 meilleurs salaires revalorisés. La sécu-rité sociale verse alors cette rente jusque 62 ans. Passé cet âge, c’est le régime des retraitesqui versera une rente à l’assuré. Les assurances ne s’intéressent donc aux probabilités demaintien en invalidité que jusque l’âge de 62 ans. La table de BCAC 2010 n’a donc étéconstruite que jusque cet âge, tandis que la version de 2013 considère un âge de départ àla retraite de 65 ans.

L’objectif est donc ici de prolonger ces tables de maintien en invalidité jusqu’à l’âge sou-haité. Pour chaque âge d’entrée en invalidité, il faut donc calculer les effectifs de personnestoujours invalides pour des anciennetés supérieures à celles déjà fournies.

Pour effectuer ce prolongement, nous ferons l’hypothèse que seul le décès peut être àl’origine de la sortie de l’état d’invalidité. Cela nous permettra de nous baser seulementsur des tables de mortalité pour déterminer les valeurs recherchées.

12

Page 14: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.1. Prolongement de tables de maintien en invalidité 13

2.1.2 Comment sont structurées ces tables ?

Pour chaque âge d’entrée en invalidité, on considère 10 000 individus au temps 0. Onregarde alors l’évolution du nombre d’invalides avec le temps. Les colonnes correspondentà l’ancienneté et on considère une ligne par âge d’entrée en invalidité.

Figure 2.1 – Structure de la table de maintien en invalidité du BCAC

Notons que l’ancienneté varie de 0 à ancmax, où ancmax est une constante telle queancmax = ageretraite − ageentree

Cet outil vous permet de prolonger une table de maintien en invalidité jusqu’à un âgerentré en paramètre.

2.1.3 Paramètres à fixer

Figure 2.2 – Paramètres à fixer pour le prolongement de la table de maintien en invalidité

Page 15: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.1. Prolongement de tables de maintien en invalidité 14

• Choisissez un âge de départ à la retraite. Il s’agit de l’âge jusque lequel les effectifsde population seront calculés.

• Choisissez une table d’invalidité à prolonger parmi les tables BCAC2010 et BCAC2013ou entrez votre propre table grâce au bouton "Browse"

• Choisissez une table de mortalité parmi celles proposées (TD88-90,TV88-90, TH0002ou bien TF0002), ou entrez votre propre table qui servira pour calculer le prolonge-ment de la table précédente. Cette dernière doit avoir le même format que la tablede mortalité de la figure 2.3 suivante :

Figure 2.3 – Extrait de la table de mortalité TD88-90

La première colonne contient les âges et la seconde les effectifs.

• Enfin, le slider vous permet d’appliquer un coefficient de majoration aux probabilitésde décès de la table de mortalité sélectionnée

Par défaut, la table d’invalidité considérée est celle du BCAC 2010 et la table de morta-lité est la table TD88-90 correspondant à la table de mortalité de la population masculinefrançaise sur la période 1988 - 1990. Cette dernière table est celle ayant été sélectionnéepar l’Institut des Actuaires pour le prolongement de la table de maintien en invalidité.

Une fois le prolongement terminé, vous avez la possibilité de télécharger la nouvelletable de maintien en invalidité au format (.csv).

Page 16: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.1. Prolongement de tables de maintien en invalidité 15

âge 62 ans 63 ans 64 ans 65 ansNombre de survivants 79 243 77 807 76 295 74 720Probabilités de survie 1 0,9819 0,9628 0,9429

Figure 2.4 – Valeurs de la fonction S62(t)

2.1.4 Résultats

Comment est effectué le prolongement de la table de maintien en invalidité ?

La durée de vie restante d’un individu d’âge x peut être modélisée par une variablealéatoire positive que l’on note Tx. On définit alors la fonction de survie comme la proba-bilité qu’un individu d’âge x survive au minimum jusqu’à un instant t+ x. On note cettefonction Sx(t). On a alors :

Sx(t) = P(Tx ≥ t) (2.1)

Sx(t) est donc la probabilité qu’un individu d’âge x survive au moins jusque l’âge x+ t.

Ici nous travaillons avec des temps t entiers représentant des années. Pour calculer lesvaleurs de la fonction de survie, une table de mortalité suffit. En effet, considérons unindividu d’âge x. Sa probabilité d’être encore en vie à l’âge t+x ≥ x peut être approximéeen utilisant les effectifs donnés par la table d’invalidité. Notons Nt le nombre de survivantsà l’âge t. La probabilité de survivre jusque l’âge t sachant qu’on a l’âge x est alors :

P(Tx ≥ t) ' Nt+x

Nx

(2.2)

représentant la proportion d’individus ayant survécu entre l’âge x et l’âge t+ x.

La seconde étape du calcul du prolongement consiste à utiliser ces probabilités conjoin-tement avec la dernière valeur présente de chaque ligne de la table d’invalidité. Afin deconnaître le nombre d’invalides à l’âge t ≥ 62, il suffit de multiplier l’effectif de survivantsà 62 ans par la probabilité de survivre entre 62 ans et t. En effet, le nombre d’individussurvivant à l’âge 62 + t noté N62+t sachant N62 est supposé suivre une loi binomiale deparamètre (N62+t, S62(t)).

Pour rappel, l’espérance d’une variable aléatoire X de loi binomiale de paramètre (n, p)est données par :

E[X] = n× p (2.3)

Si l’on note Linvx,anc le nombre d’individus entrés en invalidité à l’âge x, et invalides depuis

Page 17: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.2. Mensualisation de la table de maintien en invalidité 16

âge 63 ans 64 ans 65 ans

Nombre d’invalides 0, 9819× Linv40,22 0, 9628× Linv

40,22 0, 9429× Linv40,22

Nombre d’invalides 6 384,2 6 260,1 6 130,9

Figure 2.5 – Exemple de prolongement de la table d’invalidité du BCAC pour un âged’entrée en invalidité de 40 ans

anc années, avec un âge actuel : ageactuel = anc+ x ≥ 62ans, alors :

Linvx,ancmax+t = P(T62 ≥ t)× Linv

x,ancmax(2.4)

où ancmax représente l’ancienneté maximale de la table d’invalidité originale qui dépendde l’âge d’entrée x.

ancmax = ageretraite − x (2.5)

2.2 Mensualisation de la table de maintien en invalidité

2.2.1 Introduction : Objectif de l’outil

Cette étape consiste à mensualiser la table de maintien en invalidité du BCAC. Celarevient à calculer pour chaque âge d’entrée x en invalidité et pour chaque ancienneté men-suelle ancm le nombre d’invalides linvx,ancm . Ce calcul est basé sur les méthodes d’interpolationlinéaire. L’objectif est donc de passer d’une table de maintien en invalidité de la forme 2.6à une table de la forme 2.7.

Cette mensualisation se base sur la table prolongée à l’étape précédente. Aucun para-mètre supplémentaire n’est donc requis pour cette étape du calcul.

âge d’entrée

anciennetéancinf ancsup

x Linvx,ancinf

Linvx,ancsup

Figure 2.6 – Extrait de table de maintien en invalidité avec anciennetés annuelles

Page 18: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.3. Calcul de probabilité de maintien en invalidité 17

Notons linvx,ancm le nombre d’invalides dans la table mensualisée pour un âge d’entrée xet une ancienneté mensuelle ancm

âge d’entrée

anciennetéancinf + 0

moisancinf + 1

mois... ancinf + 11

moisancsup + 0

mois

x linvx,12×ancinf=

Linvx,ancinf

linvx,12×ancinf+1 .... linvx,12×ancinf+11 linvx,12×ancsup =

Linvx,ancsup

Figure 2.7 – Extrait de table de maintien en invalidité avec anciennetés mensuelles

2.2.2 Explication de la méthode d’interpolation

Le calcul du nombre d’invalides pour une ancienneté mensuelle sera une proportiondu nombre d’invalides avec l’ancienneté annuelle inférieure et du nombre d’invalides d’an-cienneté annuelle supérieure. Notons i le nombre de mois d’ancienneté supplémentaire parrapport à l’ancienneté annuelle inférieure. Par exemple, si l’on souhaite calculer le nombred’invalides pour un âge x et d’ancienneté 6 ans et 3 mois, i sera égal à 3.

On a alors la formule d’interpolation suivante :

linvx,12×ancinf+i = Linvx,ancinf

+i

12× (Linv

x,ancsup − Linvx,ancinf

) (2.6)

L’onglet "Mensualisation" de l’application R-Shiny permet de prolonger puis mensua-liser une table de maintien en invalidité, pour tous les âges d’entrée.

2.3 Calcul de probabilité de maintien en invalidité

2.3.1 Introduction : Objectif de l’outil

L’objectif de cet outil est de calculer la probabilité qu’un individu en invalidité depuisla durée ancactuelle soit quand il avait l’âge x, soit encore en état d’invalidité à l’anciennetéancobjectif . Pour rappel, l’âge actuel de l’individu est donc x + ancactuelle. On souhaitecalculer la probabilité pour qu’il soit encore en état d’invalidité à l’âge x+ ancobjectif .

2.3.2 Paramètres à fixer

Voici les paramètres à fixer dans l’application :

Page 19: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.3. Calcul de probabilité de maintien en invalidité 18

Figure 2.8 – Paramètres à fixer pour le calcul de la probabilité de maintien en invalidité

• Indiquez l’âge d’entrée en invalidité de l’assuré (en années). Les âges non entiers sontautorisés

• Indiquez son ancienneté exacte, c’est-à-dire le temps en années depuis lequel l’assuréest invalide

• Indiquez maintenant le nombre d’années supplémentaires en invalidité pour lequelvous souhaitez connaître la probabilité. Cette valeur vaut ancobjectif − ancactuelle

• Sélectionnez une table d’invalidité parmi celles proposées ou chargez votre propretable au format (.csv). Cette table doit être construite de la même manière que dansla partir "Prolongement et mensualisation" de l’application. La table utilisée pardéfaut est la table du BCAC2010

• Sélectionnez une table de mortalité parmi celles proposées ou chargez votre propretable au format (.csv)

2.3.3 Exemple

2.3.4 Résultats

Comment est calculée cette probabilité de maintien en invalidité pour des anciennetéset des âges exacts ?

La première étape consiste à calculer le nombre exact d’invalides dans la table pourune ancienneté exacte et un âge d’entrée en invalidité exact.

Nous utilisons pour cela une méthode de double interpolation appliquée à la table demaintien en invalidité.

L’idée consiste à combiner 3 interpolations linéaires simples afin de déterminer la valeurLinvxexact,ancexact . Pour cela, nous calculerons par interpolation simple :

Page 20: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.3. Calcul de probabilité de maintien en invalidité 19

âge d’entrée

anciennetéancinf ancexact ancsup

xinf Linvxinf ,ancinf

Linvxinf ,ancexact

Linvxinf ,ancsup

xexact ... Linvxexact,ancexact ...

xsup Linvxsup,ancinf

Linvxsup,ancexact Linv

xsup,ancsup

Figure 2.9 – Extrait de table de maintien en invalidité avec anciennetés annuelles

• Linvxinf ,ancexact

• Linvxsup,ancexact

• puis enfin Linvxexact,ancexact

Calcul de Linvxinf ,ancexact

Linvxinf ,ancexact

= α× Linvxinf ,ancinf

+ (1− α)× Linvxinf ,ancsup

(2.7)

avec : α = ancsup−ancexactancsup−ancinf

Calcul de Linvxsup,ancexact

Linvxsup,ancexact = α× Linv

xsup,ancinf+ (1− α)× Linv

xsup,ancsup (2.8)

avec : α = ancsup−ancexactancsup−ancinf

Calcul de Linvxexact,ancexact

Linvxexact,ancexact = β × Linv

xinf ,ancexact+ (1− β)× Linv

xsup,ancexact (2.9)

avec : β = xsup−xexact

xsup−xinf

Page 21: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.4. Calcul des provisions mathématiques pour un assuré 20

d’où

Linvxexact,ancexact = β ×

(α× Linv

xinf ,ancinf+ (1− α)× Linv

xinf ,ancsup

)+

(1− β)×(α× Linv

xsup,ancinf+ (1− α)× Linv

xsup,ancsup

)(2.10)

Calcul de la probabilité de maintien en invalidité

Cette dernière étape consiste alors à approximer la probabilité que l’assuré invalidedepuis l’âge xexact et d’ancienneté ancexact, soit encore invalide dans k années. Cela revientà calculer sa probabilité d’atteindre l’ancienneté ancobjectif = ancexact + k en invalidité.

Pour cela on calcule grâce à la méthode de double interpolation expliquée précédem-ment :

• Linvxexact,ancexact

• Linvxexact,ancexact+k

Notons Ix la durée de maintien en invalidité d’un assuré invalide depuis l’âge x. On saitque Ix ≥ ancexact et on cherche à calculer la probabilité de l’évènement Ix ≥ ancexact + k :P(Ix ≥ ancexact + k | Ix ≥ ancexact

).

P(Ix ≥ ancexact + k | Ix ≥ ancexact

)=Linvxexact,ancexact+k

Linvxexact,ancexact

(2.11)

2.4 Calcul des provisions mathématiques pour un assuré

2.4.1 Introduction : Objectif de l’outil

Afin de garantir à tout instant le règlement des prestations sur lesquelles il s’est engagé,l’assureur est tenu de constituer une réserve que l’on appelle la provision mathématique.

Il s’agit, d’après l’article 331-3 du code des assurances, de la "différence entre les valeursactuelles des engagements respectivement pris par l’assureur et par les assurés".

Afin de calculer leurs Provisions Mathématiques (PM), les organismes assureurs ont lechoix d’utiliser les tables réglementaires du Bureau Commun des Assurances Collectives(BCAC) ou "d’utiliser une loi de maintien établie par ses soins et certifiée par un actuaire

Page 22: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.4. Calcul des provisions mathématiques pour un assuré 21

indépendant de cette entreprise, agréé à cet effet par l’une des associations d’actuairesreconnues par l’Autorité de Contrôle Prudentiel et de Résolution" (article 331-22 du codedes assurances).

Dans le cadre de cette application, nous laissons à l’utilisateur le choix entre 2 tables demaintien en invalidité du BCAC. La première table du BCAC a été construite en 1993. Ellea depuis été modifiée par l’arrêté du 24 décembre 2010 fixant les règles de provisionnementdes garanties Incapacité de travail, Invalidité et Décès, et récemment reconstruite en 2013.Nous laissons le choix à l’utilisateur d’utiliser la table de 2010, la table de 2013, ou les deuxafin de comparer les provisions mathématiques pour ces deux tables.

L’objectif de cet outil est de calculer la provision mathématique pour un assuré entréen invalidité l’âge x. Son ancienneté en invalidité ainsi que sa rente annuelle sont connues.L’âge de départ à la retraite est laissé au choix. Selon sa valeur, il sera nécessaire ou nonde prolonger la table de maintien en invalidité choisie en utilisant une table de mortalitéà partir de la méthode utilisée dans l’onglet "Prolongement et mensualisation de la tabled’invalidité".

La table standard utilisée pour ce prolongement est la table TD88-90 du fait de soncaractère prévoyant dans le cadre de garanties invalidité. La réglementation en fait en effetla table réglementaire (article 143-2 du règlement ANC Assurance de 2015) :

"Le calcul des provisions techniques de prestations d’incapacité de travail et d’invaliditéest effectué à partir des éléments suivants :1. une loi de survie en invalidité définie par la table de mortalité adéquate TD88-90 del’article 600-5 du présent règlement réactualisant les tables de mortalité. Toutefois, il estpossible pour une entreprise d’assurance d’utiliser une loi de survie en invalidité établiepar l’entreprise d’assurance et certifiée par un actuaire indépendant de cette entreprise,agréé à cet effet par l’une des associations d’actuaires reconnues par l’Autorité de ContrôlePrudentiel et de Résolution ".

Par ailleurs, la table TH00-02 majorée de 50% serait, après étude du Bureau Commund’Assurances Collectives la table de mortalité la plus adaptée à la surmortalité des invalidesentre 60 et 62 ans d’après l’avis technique no2011-01 – Version 1 – Janvier 2011 de l’institutdes actuaires. Cependant, "une comparaison entre la TD88-90 et 150% de la TH00-02 amontré que la TD88-90 restait bien adaptée au provisionnement" du fait de son caractèreplus prudent.

Par conséquent, l’institut des actuaires a décidé de prolonger les tables de maintien eninvalidité en utilisant la table TD88-90.

Cependant, l’utilisateur aura le choix d’utiliser une table différente, mais également de

Page 23: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.4. Calcul des provisions mathématiques pour un assuré 22

lui appliquer un coefficient de majoration s’il le souhaite. Les tables de mortalités proposéessont :

• TD88-90

• TV88-90

• TH00-02

• TF00-02

2.4.2 Paramètres à fixer

Voici les paramètres à fixer dans l’application :

Figure 2.10 – Paramètres à fixer pour le calcul des provisions mathématiques

• Commencez par sélectionner une ou plusieurs tables de maintien en invalidité

• Sélectionnez une ou plusieurs tables de mortalité qui serviront à prolonger la tablede maintien en invalidité si besoin (cf onglet "Prolongement et mensualisation de

Page 24: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.4. Calcul des provisions mathématiques pour un assuré 23

la table d’invalidité"). Vous pouvez si vous le souhaitez, y ajouter un coefficient demajoration. Cela a pour conséquence d’augmenter la probabilité qx de décès à chaqueâge

• Indiquez l’âge d’entrée en invalidité de l’assuré (en années). Les âges non entiers sontautorisés

• Indiquez son ancienneté exacte, c’est à dire le temps en années depuis lequel l’assuréest invalide

• Entrez la rente annuelle de l’assuré

• Choisissez l’âge légal de départ à la retraite à partir duquel l’assureur ne versera plusde prestations à l’assuré

• Fixez le taux d’actualisation

2.4.3 Résultats : Comment est calculée cette provision mathéma-tique ?

Supposons la table de maintien en invalidité prolongée jusque l’âge de départ à laretraite choisi.

La provision mathématique représente la somme des flux de prestations probabiliséset actualisés obtenus à partir des nombres d’invalides Lx,anci de la table de maintien eninvalidité :

PM =nmax∑t=1

Lx,ancexacte+t12

Lx,ancexacte

× Rentea12

× 1

(1 + r)t/12(2.12)

où :

• ancexacte est l’ancienneté actuelle annuelle de l’assuré

• ancexacte + t12

représente donc l’ancienneté de l’assuré dans t mois

• x est l’âge exact d’entrée en invalidité de l’assuré

• Lx,anc correspond au nombre d’invalides de la table de maintien en invalidité pour unâge d’entrée x et une ancienneté anc annuelle

• Rentea est la rente annuelle

• r correspond au taux d’actualisation annuel

Page 25: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.5. Calcul des provisions mathématiques pour un portefeuille d’assurés 24

• nmax est le nombre maximal de mois restant à l’invalide avant l’âge de départ à laretraite

nmax = 12× (ancmax(x)− ancexacte) (2.13)

ancmax(x) est l’ancienneté maximale en invalidité que peut avoir un assuré invalidedepuis l’âge x. Il s’agit ici d’une ancienneté annuelle. On a donc :

ancmax(x) = ageretraite − x (2.14)

Le termeLx,ancexacte+

t12

Lx,ancexactecorrespond à la probabilité qu’un individu entré en invalidité à

l’âge x et d’ancienneté actuelle ancexacte soit encore en invalidité dans t mois.

Pour rappel, il est nécessaire de prolonger les tables de maintien en invalidité si lechoix de l’âge de départ à la retraite est supérieur à 62 ans. Pour cela, nous utilisons laméthode de prolongement expliquée dans l’onglet "Prolongement et mensualisation de latable d’invalidité". L’utilisateur peut alors décider d’appliquer un coefficient de majorationaux probabilités de décès utilisées pour le prolongement grâce au paramètre "Coefficientde majoration (nom de la table)". Si le coefficient de majoration est de a%, cela signifieque les probabilités de décès de la table sont multipliées par (1 + a

100).

q̃x = (1 +a

100)× qx

Notez que les probabilités de décès de la table de maintien en invalidité initiale ne sontpas changées. Seule la table de mortalité utilisée pour le prolongement est impactée par cecoefficient de majoration.

2.5 Calcul des provisions mathématiques pour un por-tefeuille d’assurés

2.5.1 Objectif de l’outil

L’assureur souhaite en général connaître le total de ses engagements envers les assurés.Il doit pour cela sommer l’ensemble des provisions mathématiques calculées pour chacund’entre eux.

2.5.2 Paramètres à fixer

Voici les paramètres à fixer dans l’application :

Page 26: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

2.5. Calcul des provisions mathématiques pour un portefeuille d’assurés 25

Figure 2.11 – Paramètres à fixer pour le calcul de la provision mathématique pour unportefeuille d’assurés

• Entrez une table d’assurés grâce au bouton "Browse". Ce fichier (.csv) devra conteniren colonne :

– L’âge d’entrée en invalidité

– L’ancienneté

– L’indemnisation annuelle

Vous pouvez télécharger un modèle de table d’assurés

• Choisissez l’âge légal de départ à la retraite à partir duquel l’assureur ne versera plusde prestations aux assurés

• Fixez le taux d’actualisation

• Sélectionnez une table de maintien en invalidité ou entrez votre propre table

• Choisissez une table de mortalité parmi celles proposées (TD88-90,TV88-90, TH0002ou bien TF0002), ou entrez votre propre table qui servira pour calculer le prolon-gement de la table précédente (cf onglet "Prolongement et mensualisation"). Vouspouvez si vous le souhaitez, y ajouter un coefficient de majoration tout comme dansle calcul de PM individuelle.

2.5.3 Résultat

Le résultat de cette opération donne la somme des provisions mathématiques indivi-duelles calculées pour chaque individu de la table d’assurés passée en paramètre.

Page 27: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Chapitre 3

Étude statistique de l’impact del’augmentation de l’âge de départ à laretraite sur les garanties invalidité

3.1 Effet du choix de la table de maintien en invaliditésur les provisions mathématiques

Figure 3.1 – Effet du choix de la table d’invalidité sur les provisions mathématiques

Le graphique suivant présente une comparaison de l’évolution des provisions mathéma-

26

Page 28: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

3.2. Effet de l’augmentation de l’âge de départ à la retraite 27

tiques d’invalidité en fonction de l’âge d’entrée en invalidité entre les deux tables d’invaliditéla BCAC 2010 et la BCAC 2013 pour une ancienneté en invalidité fixée à 1 an. On constateque la BCAC 2013 est plus prudente à chaque âge d’entrée entre 20 et 50 ans, avec unécart relatif maximum de 9% conduisant ainsi à une marge de prudence assez importante.Toutefois sur l’intervalle des âges d’entrée allant de 50 ans jusqu’à 64 ans c’est la BCAC2010 qui est la plus prudente mais seulement avec un léger écart entre les deux courbes.L’application sur notre portefeuille d’assurés nous confirme cela. En effet, pour un départà la retraite à 65 ans les provisions mathématiques augmentent de 2,71% en utilisant laBCAC 2013.

3.2 Effet de l’augmentation de l’âge de départ à la re-traite

Concernant la provision mathématique de notre portefeuille d’assurés, elle est égale à12897605 euros pour un âge de départ à la retraite égale à 62 ans et elle passe à 18.583.177euros pour un âge de départ à 65. Nous constatons donc une augmentation de celle-ci enfonction de l’âge de départ à la retraite. Pour mieux comprendre ce phénomène, le rapportrelatif entre la provision mathématique pour un âge de départ à la retraite compris entre[63,65] et la provision mathématique pour l’âge initial de départ à la retraite qui est de 62a été évalué. Ce calcul a été fait en faisant varier l’âge d’entrée en invalidité et en fixanttous les autres paramètres.

À travers les résultats obtenus, force est de constater que l’augmentation des provisionsmathématiques est beaucoup plus importante chez les invalides les plus âgés.

De manière générale, cette augmentation brutale s’explique par le fait que le ratioN−62

dureerestanteeninvalidite

(avec N un âge de départ à la retraire > 62 ) est beaucoup plus élevé chez les invalidesles plus âgés. En effet, chez les assurés qui entrent tard en invalidité la durée de maintiendans cet état est moins élevée que chez les assurés qui entrent tôt en invalidité. De cefait, une augmentation de quelques années de la durée de maintien en invalidité aura uneinfluence moindre sur les provisions mathématiques pour un invalide jeune que pour unassuré entré en invalidité à un âge plus élevé.

Cela peut s’illustrer par le graphe suivant où les provisions mathématiques ont étécalculé avec la table du BCAC 2013 et l’ancienneté est fixer à 0.

Pour les âges compris entre 20 et 50, le ratio des provisions mathématiques en fonctionde l’âge de départ à la retraite ( PM(N)

PM(62)) est légèrement supérieur à 1. Au delà de 50 ans, ce

ratio augmente brutalement et va jusqu’au environ 3.5 pour un âge de départ à la retraiteégale à 65. Cela confirme l’analyse faite précédemment.

Page 29: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

3.3. Étude de la méthode de prolongement des tables de maintien eninvalidité et de sa pertinence 28

Figure 3.2 – Impact de l’âge de départ à la retraite sur les provisions mathématiques d’unassuré

3.3 Étude de la méthode de prolongement des tables demaintien en invalidité et de sa pertinence

La méthode de prolongement des tables de maintien en invalidité a été expliquée plustôt dans la partie 2.1. Afin de déterminer les valeurs manquantes, la méthode utilise lesprobabilités de survie issues d’une table de mortalité choisie.

Pour des âges d’entrée en invalidité déjà présents dans la table (i.e pour des âgesinférieurs à l’âge initial de départ à la retraite), la dernière valeur connue pour un âged’entrée x correspond aux nombre de personnes encore invalides à l’âge initial de départ àla retraite retraiteinit. Afin de déterminer les valeurs manquantes, ce nombre est multipliépar les probabilités de survie entre l’âge maximal de la table initial retraiteinit et k pourk variant de retraiteinit + 1 à retraiteobj représentant l’âge de départ à la retraite de lanouvelle table.

Pour des âges de début d’invalidité supérieurs à l’âge de départ à la retraite initial, onsuppose que l’on commence avec 10000 invalides. Pour une ligne de la table donnée, lesvaleurs suivantes sont alors calculées en se basant uniquement sur les probabilités de survieissues de la table de mortalité choisie. On calcule alors les probabilités de survie tpageentree

pour t variant de 1 à retraiteobj−ageentree représentant l’ancienneté maximale pour un telâge d’entrée.

C’est ici que se pose alors un problème. Regardons le résultat de ce prolongement pour

Page 30: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

3.3. Étude de la méthode de prolongement des tables de maintien eninvalidité et de sa pertinence 29

la table BCAC 2013 contenant les données de maintien en invalidité jusque l’âge de 65 ansen utilisant la table TD88-90. Pour cet exemple, le prolongement a été effectué jusque 69ans.

Figure 3.3 – Extrait de la table du BCAC 2013 prolongée jusque 69 ans

La colonne grise contient les âges de début d’invalidité. Les données en vert corres-pondent aux valeurs déjà présentes dans la table initiale, tandis que les valeurs orange sontles valeurs calculées par la méthode de prolongement.

On remarque alors un décrochage entre les valeurs initiales et les valeurs calculéesimpliquant une incohérence dans la nouvelle table prolongée. En effet, pour une anciennetéfixée (i.e une colonne fixée), l’âge des assurés augmente au fil des lignes puisque leur âgeactuel est ageentree + anc. Il est sensé de penser que la mortalité augmente avec l’âge. Ilserait donc naturel d’observer un taux de survie plus faible pour une colonne fixée, au furet à mesure de l’augmentation de l’âge d’entrée. Ce n’est cependant ici pas le cas. Cetteincohérence provient de la méthode de prolongement utilisée.

En effet, il est raisonnable de penser que la mortalité des invalides, ayant un moinsbon état de santé que les valides, est plus élevée. On peut observer ce phénomène sur legraphique 3.4. L’effectif de la population d’invalides diminue plus rapidement que l’effectifde la table de mortalité. Or la table de mortalité utilisée considère une population noninvalide. Les probabilités de décès étant plus faibles que celles que l’on trouverait pourune population composée uniquement d’invalides, les effectifs de la table de maintien eninvalidité s’en retrouvent surestimés. On peut alors se questionner sur la pertinence decette méthode de prolongement.

Une idée pourrait être d’utiliser une table de mortalité affectée d’un coefficient de

Page 31: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

3.3. Étude de la méthode de prolongement des tables de maintien eninvalidité et de sa pertinence 30

Figure 3.4 – Évolution d’une population de valides et d’invalides

majoration pour le calcul de ces dernières lignes, afin de prendre en compte la surmortalitédes invalides. Mais comment déterminer ce coefficient ?

Une méthode pourrait être d’estimer le rapport des probabilités de décès entre la tablede maintien en invalidité pour un âge d’entrée défini et la table de mortalité choisie.

Page 32: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Conclusion

En s’appuyant sur le mémoire de fin d’étude de Korotoumou Traoré, ancienne étudiantede l’EURIA, nous avons créé une application R-Shiny qui permet d’estimer et de visualiserles effets d’un changement de l’âge de départ à la retraite sur les garanties invalidité d’unportefeuille de prévoyance collective.

A travers les différents onglets de cette application, l’utilisateur peut dans un premiertemps prolonger une table d’invalidité jusqu’à un âge de départ à la retraite souhaité.Ensuite, tout en fixant ses propres paramètres, la table d’invalidité pourra être mensualiséegrâce à des méthodes d’interpolation linéaire. Cela permettra ainsi d’avoir une table avecdes invalides ayant un âge mensuel et une ancienneté mensuelle. En se basant sur ces tablesd’invalidité prolongées et mensualisées, les assureurs peuvent alors évaluer leurs provisionsmathématiques pour un âge de départ à la retraite donné. Pour ce projet, dans la sectioncalcul des provisions mathématiques du portefeuille, nous avons utilisé par défaut la tabled’invalidité du BCAC 2010 un taux d’actualisation égale à 0.52% et une rente annuellede 17863 euros. Pour un âge de départ à la retraite de 62 ans, la provision est estiméeà 12897605 euros tandis que pour un âge de départ à la retraite de 65 ans elle est de18583177 euros. On note donc une augmentation de 44,08%. En d’autres termes, l’assureurdevra augmenter ses provisions de 44,08% pour faire face à ses engagements vis à vis deses assurés.

Pour conclure, ce bureau d’études fût une expérience très enrichissante. D’une part ilnous a permis de travailler sur une problématique réelle du domaine actuariel à laquelle lesassureurs feront face. D’autre part ce projet nous a aidé à développer un esprit de travailen équipe et de nous préparer à notre futur métier d’actuaire.

31

Page 33: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Bibliographie

[Shi ] Shiny from RStudio. https://shiny.rstudio.com/.

[Traoré 2017] K. Traoré. Effet d’un changement réglementaire de l’âge de la retraite sur lesgaranties invalidité d’un portefeuille de prévoyance collective. Mémoire d’actuariat,EURIA, 2017.

32

Page 34: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

Annexe A

Codes R

33

Page 35: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

34

1 #####Chemin#####2 l i b r a r y ( shiny )3 l i b r a r y ( shinydashboard )4 l i b r a r y ( shiny )5 setwd ( "C: //Users //Spane//Desktop//M1 2017−2018//BE" )6 #######################################7 modele <− read . csv ( f i l e = "modele_as su r e s . csv " , sep = " ; " , dec = " . " , c o lC l a s s e s = "numeric " , header = T

)89

10 ##### Fonction pour l e s t ab l e s d ’ i n v a l i d i t e et de mor ta l i t e11 l i reBcacD=func t i on ( inF i l e , h , inp )12 {13 i f ( ( i s . nu l l ( i nF i l e ) ) && ( inp=="BCAC2010" ) )14 {15 C =read . csv ( f i l e = "bcac2010 . csv " , sep = " ; " , dec = " . " , c o lC l a s s e s = "numeric " ) }16 e l s e i f ( ( i s . nu l l ( i nF i l e ) ) && ( inp=="BCAC2013" ) )17 {18 C =read . csv ( f i l e = "BCAC2013 . csv " , sep = " ; " , dec = " . " , c o lC l a s s e s = "numeric " ) }19 e l s e20 {C=read . csv ( i nF i l e $datapath , sep = " ; " , dec = " . " , header=h , c o lC l a s s e s = "numeric " )21 }22 }2324 l i r eMor t a l i t eD=funct i on ( inF i l e , h , inp )25 { i f ( ( i s . nu l l ( i nF i l e ) ) && ( inp=="TD88−90" ) )26 { C=read . csv ( f i l e=" td88_90 . csv " , header=TRUE, sep=" ; " , dec = " . " ) }27 e l s e i f ( ( i s . nu l l ( i nF i l e ) ) && ( inp=="TV88−90" ) )28 { C=read . csv ( f i l e=" tv88_90 . csv " , header=TRUE, sep=" ; " , dec = " . " ) }29 e l s e i f ( ( i s . nu l l ( i nF i l e ) ) && ( inp=="TH0002" ) )30 { C=read . csv ( f i l e="TH0002 . csv " , header=TRUE, sep=" ; " , dec = " . " ) }31 e l s e i f ( ( i s . nu l l ( i nF i l e ) ) && ( inp=="TF0002" ) )32 { C=read . csv ( f i l e="TF0002 . csv " , header=TRUE, sep=" ; " , dec = " . " ) }33 e l s e34 {C=read . csv ( i nF i l e $datapath , header=h , sep=" ; " , dec = " . " )35 }36 }3738 l i r eA s s u r e=func t i on ( inF i l e , h)39 { i f ( i s . nu l l ( i nF i l e ) )40 { C=read . csv2 ( f i l e="Assures . csv " , header=TRUE, sep=" ; " , dec = " . " , c o lC l a s s e s = "numeric " ) }41 e l s e42 {C=read . csv2 ( i nF i l e $datapath , header=h , sep=" ; " , dec = " . " )43 }44 }45464748 l i r eBca c=func t i on ( inp )49 {5051 i f ( inp=="BCAC2010" )52 {53 C =read . csv ( f i l e = "bcac2010 . csv " , sep = " ; " , dec = " . " , c o lC l a s s e s = "numeric " ) }54 e l s e i f ( inp=="BCAC2013" )55 {56 C =read . csv ( f i l e = "bcac2013 . csv " , sep = " ; " , dec = " . " , c o lC l a s s e s = "numeric " ) }57 # e l s e {58 # C =read . csv ( f i l e = "bcac2010 . csv " , sep = " ;" , dec = " ." , c o lC l a s s e s = "numeric ") }59 return (C)60 }6162 l i r eMo r t a l i t e=func t i on ( inp )63 {64 i f ( i s . cha rac t e r ( inp ) )65 {66 i f ( inp=="TD88−90" )67 { C=read . csv ( f i l e=" td88_90 . csv " , header=TRUE, sep=" ; " , dec = " . " ) }68 e l s e i f ( inp=="TV88−90" )69 { C=read . csv ( f i l e=" tv88_90 . csv " , header=TRUE, sep=" ; " , dec = " . " ) }70 e l s e i f ( inp=="TH0002" )71 { C=read . csv ( f i l e="TH0002 . csv " , header=TRUE, sep=" ; " , dec = " . " ) }72 e l s e i f ( inp=="TF0002" )73 { C=read . csv ( f i l e="TF0002 . csv " , header=TRUE, sep=" ; " , dec = " . " ) }}74 e l s e {75 C=read . csv ( f i l e="TH0002 . csv " , header=TRUE, sep=" ; " , dec = " . " ) }76 return (C)77 }7879 ############################################################80 # Prolongement81 ############################################################82 #mor ta l i t e et i n v a l i d i t e sont respect ivement l e s t ab l e s de mor ta l i t e et d ’ i n v a l i d i t e r e n t r e e s par l ’

Page 36: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

35

u t i l i s a t e u r , n e s t l e nombre d ’ annee pro longee l ’ age de depart à l a r e t r a i t e83 pro longer <− f unc t i on ( morta l i t e , i n v a l i d i t e , n , c o e f f ) {8485 #Age de depart a l a r e t r a i t e i n i t i a l86 age_r_i n i t = i n v a l i d i t e [ 1 , 1 ] + nco l ( i n v a l i d i t e ) − 2 #Le "−2" permet de ne pas compter l a co lonne des

ages et l a co lonne " anc iennete = 0"8788 #Age mini d ’ ent r ee en i n v a l i d i t e89 age_min = i n v a l i d i t e [ 1 , 1 ]909192 i f (n<=age_r_i n i t ) {93 bcac_pro longe = i n v a l i d i t e94 colnames ( bcac_pro longe ) = c ( "Age entr é e / Anciennet é" , seq (0 , age_r_in i t −age_min) )95 return ( bcac_pro longe )96 }9798 #On ne garde qu ’ une pa r t i e de l a tab l e de mor ta l i t e ( c e l l e qui nous i n t e r e s s e c ’ e s t a d i r e de 62 ans

jusque l ’ age de depart a l a r e t r a i t e )99 td_88_red <− mor ta l i t e [ which ( mor ta l i t e [ ,1]== age_r_i n i t ) : which ( mor ta l i t e [ ,1]==n) , ]

100101 proba_su rv i e <− cbind ( td_88_red [ , 1 ] , td_88_red [ , 2 ] / td_88_red [ 1 , 2 ] )102103 #####################################################################104 proba_1=NULL105 proba_1 <−l app ly ( 1 : ( n−age_r_i n i t ) , f unc t i on ( i ) {106 ( td_88_red [ i ,2]− td_88_red [ i +1 ,2]) / td_88_red [ i , 2 ] ∗((1+ c o e f f / 100) )107 })108 proba_surv i e1=NULL109 f o r ( i in 2 : ( n−age_r_i n i t +1) ) {110 proba_surv i e1 [1 ]=1111 proba_surv i e1 [ i ]=proba_surv i e1 [ [ i −1] ]∗(1−proba_1 [ [ i −1 ] ] )112 }113 p=as . matrix ( proba_surv i e1 )114115 proba_su rv i e <− p [ , 1 ]116 #####################################################################117118 #Prolongement pour des ages d ’ ent r ee en i n v a l i d i t e i n f e r i e u r e a 62 ans119 bcac_pro longe <− cbind ( i n v a l i d i t e , matrix ( rep (NA, nrow ( i n v a l i d i t e )∗ (n−age_r_i n i t ) ) , nrow = nrow (

i n v a l i d i t e ) ) )120 matr ice_NA_new_rows = matrix ( rep (NA, nco l ( bcac_pro longe )∗10) , nco l = nco l ( bcac_pro longe ) )121 colnames ( matr ice_NA_new_rows ) = colnames ( bcac_pro longe )122 bcac_pro longe <− rbind ( bcac_prolonge , matr ice_NA_new_rows )123124 bcac_pro longe [ ( age_r_i n i t+1−age_min) : ( n+1−age_min) , 1 ] = ( age_r_i n i t : n)125126 f o r ( i in 1 : which ( bcac_pro longe [ ,1]== age_r_i n i t ) ) {127128 de rn i e r = age_r_i n i t+2−bcac_pro longe [ i , 1 ] #Le plus 2 permet de prendre en compte l a colonne age et

l a co lonne d ’ anc i ennete 0 . Dernier correspond a l a colonne de l a d e rn i e r e va l eur de l a BCACi n i t i a l e

129 bcac_pro longe [ i , d e rn i e r : ( d e rn i e r+(n−age_r_i n i t ) ) ] = round ( proba_su rv i e ∗bcac_pro longe [ i , d e rn i e r ] )130 }131132 #Creat ion de nouve l l e s l i g n e s dans l e tab leau pour prendre en compte l e s gens qui r en t r en t en

i n v a l i d i t e ent re 62 ans et (n−1) ans . ( Rappel : n e s t l ’ age de depart en r e t r a i t e )133 age_ent ree <− which ( bcac_pro longe [ ,1]== age_r_i n i t )134 j = 0135 f o r ( i in age_ent ree : ( age_ent r ee + (n−age_r_in i t −1) ) ) {136 age = bcac_pro longe [ i , 1 ]137 proba_su rv i e = td_88_red [ ( j +1) : nrow ( td_88_red ) , 2 ] / td_88_red [ j +1 ,2]138139140 ##############################################################################141 proba_2=NULL142 proba_2 <−l app ly ( 1 : ( ( n−age_r_i n i t +1) ) , func t i on ( i ) {143 ( td_88_red [ i ,2]− td_88_red [ i +1 ,2]) / td_88_red [ i , 2 ] ∗((1+ c o e f f / 100) )144 })145 proba_surv i e2=NA146 proba_surv i e2 [1 ]=1147 i f ( ( n−62+1−j −1)>=1){148 f o r (k in 1 : ( n−age_r_i n i t+1−j −1) ) {149 proba_surv i e2 [ k+1]=proba_surv i e2 [ [ k ] ] ∗(1−proba_2 [ [ k+j ] ] )150151 }152 }153 ###############################################################################154155156 bcac_pro longe [ i , 1+(1 : ( n−age+1) ) ] = round ( proba_surv i e2 [ 1 : ( n−age+1) ] ∗10000)157158 j = j+1

Page 37: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

36

159 }160 colnames ( bcac_pro longe ) = c ( "Age ent r ee Anciennete " , as . cha rac t e r ( seq (0 ,n−age_min) ) )161 bcac_pro longe [ , 1 ] = as . i n t e g e r ( bcac_pro longe [ , 1 ] )162 return ( bcac_pro longe )163164 }165166167 mensua l i sa t ion <− f unc t i on ( tab l e_bcac ) {168 tab_i n t e r p o l e <− NULL169 f o r ( i in 1 : nrow ( tab l e_bcac ) ) {170 l i g n e = NULL171 j = 2172 whi le ( j<nco l ( t ab l e_bcac ) )173 {174 c o e f f = 1−(0:11) /12175 va l eu r s = round ( c o e f f ∗ t ab l e_bcac [ i , j ] + (1− c o e f f )∗ t ab l e_bcac [ i , j +1])176 l i g n e = c ( l i gne , va l eu r s )177 j=j+1178 }179 tab_i n t e r p o l e = rbind ( tab_in t e rpo l e , l i g n e )180 }181 rownames ( tab_i n t e r p o l e ) = 20:(19+nrow ( tab_i n t e r p o l e ) )182 return ( tab_i n t e r p o l e )183 }184185 ############################################################186 # Proba de maintien187 ############################################################188 probamaintien=func t i on ( age_ent , anc_annee , tab_mensuel le , k ) {189190 return ( inv_exact ( age_ent , anc_annee+k , tab_mensue l le ) / inv_exact ( age_ent , anc_annee , tab_mensue l le ) )191 }192193 ############################################################194 # Calcul des PM195 ############################################################196 inv_exact <− f unc t i on ( age_ent , anc_annee , tab_mensue l le ) {197 age_mini <− as . numeric ( rownames ( tab_mensuel le ) [ 1 ] )198 anc_mens <− 12∗anc_annee199200 l i g n e_i n f <− f l o o r ( age_ent− age_mini )+1201202 co l_i n f <− f l o o r ( anc_mens +1 )203204 #Calcul des c o e f f i c i e n t s pour l ’ i n t e r p o l a t i o n205 c o e f f_anc <− 1−(anc_mens − f l o o r ( anc_mens ) )206 c o e f f_age <− 1−(age_ent − f l o o r ( age_ent ) )207208 va l_11 <− tab_mensue l le [ l i g n e_in f , c o l_i n f ]209 va l_12 <− tab_mensue l le [ l i g n e_in f , c o l_i n f +1]210 i f ( i s . na ( va l_12) ) {211 va l_12 = 0212 }213 va l_21 <− tab_mensue l le [ l i g n e_i n f +1, c o l_i n f ]214 i f ( i s . na ( va l_21) ) {215 va l_21 = 0216 }217 va l_22 <− tab_mensue l le [ l i g n e_i n f +1, c o l_i n f +1]218 i f ( i s . na ( va l_22) ) {219 va l_22 = 0220 }221 #Les " i f " ont é t é ra j ou t é s pour genrer l e s cas où l ’ age_ent où l ’ anc_mens sont deja e n t i e r . Dans ce

cas i l n ’ y a pas beso in d ’ i n t e r p o l e r . Dans l e cas où l ’ anc iennet é mensue l le e s t e n t i e r e etcorrespond à l ’ anc iennet é max po s s i b l e pour l ’ ge d ’ entr é e donné , a l o r s va l_22 e s t nu l l e

222223224 nb_inv_exact <− c o e f f_age∗ ( c o e f f_anc∗ va l_11 + (1− c o e f f_anc )∗ va l_12) + (1− c o e f f_age )∗ ( c o e f f_anc∗ va l_21

+ (1− c o e f f_anc )∗ va l_22)225 return ( round (nb_inv_exact ) )226 }227228 inv_age_exact <− f unc t i on ( age_ent , tab_mensue l le ) {229 age_mini <− as . numeric ( rownames ( tab_mensuel le ) [ 1 ] )230 l i g n e_i n f <− f l o o r ( age_ent− age_mini )+1231 c o e f f_age <− 1−(age_ent − f l o o r ( age_ent ) )232 l i g n e_nb_inva l i d e <− c o e f f_age∗ tab_mensue l le [ l i g n e_in f , ] + (1− c o e f f_age )∗ tab_mensuel le [ l i g n e_i n f +1 ,]233 }234235 PM_mensue l le <− f unc t i on ( age_ent , anc_annee , tab_mensuel le , r ente_A, taux , age_depart ) {236 n=age_depart237238 #Ligne du nombre d ’ i n v a l i d e s pour un age d ’ ent r ee exacte et une anc iennete mensue l le

Page 38: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

37

239 l i g n e_age_exact <− inv_age_exact ( age_ent , tab_mensue l le )240 anc_mens = 12∗anc_annee241242 #Colonne correspondant a l ’ anc i ennete mensue l le a c t u e l l e de l ’ a s sure243 co l_i n f <− f l o o r ( anc_mens +1 ) #Car l a premiere co lonne correpond a l ’ anc i ennete 0 . I l y a donc un

deca lage de 1244245 #In t e r po l a t i o n pour conna i t r e l e nombre exacte d ’ i n v a l i d e s pour son age d ’ ent r ee et son anc iennete

exacte246 c o e f f_anc <− 1−(anc_mens − f l o o r ( anc_mens ) )247 nb_inv_anc_exacte <− round ( c o e f f_anc∗ l i g n e_age_exact [ c o l_i n f ] + (1− c o e f f_anc )∗ l i g n e_age_exact [ c o l_i n f

+1])248249 rente_mens <− r ente_A/12250 PM = 0251 i = 1252253 whi le ( age_ent∗12 + i + anc_mens < n∗12) {254255 nb_inv_dans_i_mois = inv_exact ( age_ent , anc_annee+i / 12 , tab_mensuel le )256257 i f ( ! i s . na (nb_inv_dans_i_mois ) ) {258259 PM = PM + nb_inv_dans_i_mois/nb_inv_anc_exacte ∗ r ente_mens ∗ 1/(1+taux ) ^( i / 12)260 }261 i = i+1262263 }264 prorata = f l o o r ( age_ent∗12 + i + anc_mens ) − ( age_ent∗12 + ( i −1) + anc_mens ) #On ca l c u l l e prorata du

de rn i e r mois qui n ’ e s t pas forcement e n t i e r s e l on l e jour de na i s sance de l ’ a s sure265 nb_inv_de rn i e r_mois = inv_exact ( age_ent , anc_annee + i / 12 , tab_mensue l le )266267 PM = PM + prorata ∗ (nb_inv_de rn i e r_mois/nb_inv_anc_exacte )∗ r ente_mens ∗ 1/(1+taux ) ^( i / 12)268269 return (PM)270271 }272273 ############Calcul de l a pm pour tout l e p o r t e f e u i l l e#######274275 PMporte f eu i l l e= func t i on ( assure , t ab l e_mensuel le , age_r e t r a i t e , taux ) {276 A=dim( as sure ) [ 1 ]277 pma0=rep (0 ,A)278 f o r ( i in 1 :A) {279 pma0 [ i ]= PM_mensue l le ( a s sure [ i , 1 ] , a s sure [ i , 2 ] , t ab l e_mensuel le , a s sure [ i , 3 ] , taux/ 100 , age_r e t r a i t e )280281 }282 p= sum(pma0)283284 return (p)285 }286 ############################################################287 # Graphe etude s t a t i s t i q u e288 ############################################################289 P= matrix (NA,60 , nco l=2)290 f= NULL291 G= funct i on ( anci , B1 ,B2 , n) {292 x= c (21 : 62 )293 f o r ( age in 21 :62 ) {294 i f ( age+anc i >= 62) {295 f [ age−20]= NA296 }297 e l s e298 f [ age−20]= PM_mensue l le ( age , anci , B1 ,17863 ,0 . 52 / 100 , n) /PM_mensue l le ( age , anci , B2 ,17863 , 0 . 52 / 100 ,

62)299300 }301302 P= cbind (x , f )303 return (P)304 }305306307 ############################################################308 # CODE SHINY APPLICATION309 ############################################################310311 ui=shinyUI (312 dashboardPage (313 dashboardHeader ( t i t l e="Shiny app l i c a t i on " , t i t l eWidth = 380) ,314 dashboardSidebar (315 width = 380 ,316 sidebarMenu (

Page 39: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

38

317 id = " tabs " ,318 menuItem(319 "A propos " ,320 tabName = "about" ,321 icon = icon ( " ques t ion " ) #’ in fo ’322 ) ,323 menuItem( "Prolongement et mensua l i sa t ion de l a tab l e d ’ i n v a l i d i t é" ,324 tabName = ’menuitemOne ’ ) ,325326 menuItem( " Probab i l i t é de maintien en i n v a l i d i t é" ,327 tabName = "menuitemTwo"328 ) ,329 menuItem( "Calcul des p r ov i s i on s mathé matiques " ,330 tabName = "menuitemThree" , c o l l a p s i b l e =331 menuSubItem( " Prov i s i on mathé matiques pour un assur é" , tabName = ’ subItemFour ’ ) ,332 menuSubItem( " Prov i s i on mathé matiques pour un assur é" , tabName = ’ subItemFour ’ ) ,333 menuSubItem( " Prov i s i on mathé matiques pour un p o r t e f e u i l l e " , tabName = ’ subItemFive ’ )334 ) ,335336 menuItem( "Etudes S t a t i s t i q u e s " ,337 tabName = "menuitem11" , c o l l a p s i b l e =338 menuSubItem( "Impact de l ’ ge de dé part à l a r e t r a i t e " , tabName = ’ subItemFour11 ’ ) ,339 menuSubItem( "Impact de l ’ ge de dé part à l a r e t r a i t e " , tabName = ’ subItemFour11 ’ )340341342 )343344 )345 ) ,346 dashboardBody (347 tabItems (348349 tabItem (tabName = "about" , f luidRow ( img ( s r c=’myImage1 . png ’ , width="40%" , a l i gn = " r i gh t " ) ,350 h1 ( "Prolongement de t ab l e s de maintien en i n v a l i d i t é , impact

du choix des t ab l e s et de l ’ ge de dé part à l a r e t r a i t esur l e s ga r an t i e s i n v a l i d i t é" ,

351 s t y l e = " font−f ami ly : ’ Source Sans Pro ’ ;352 c o l o r : #800080; text−a l i gn : c ente r ;353 padding : 150px" )354 ,355 fluidRow ( column (12 ,356 column (9 , h3 ( "Pré par é par : " , s t y l e = " font−

weight : bold ; font−s t y l e : i t a l i c ; c o l o r:#000000" ) ,

357 h3 ( "Lé on ie Le Bastard" , s t y l e =" font−s i z e : 18px ; c o l o r :#000000" ) ,

358 h3 ( "Houda Benabderrahman" , s t y l e=" font−s i z e : 18px ; c o l o r :#000000" ) ,

359 h3 ( "Malika Traor é" , s t y l e=" font−s i z e :18px ; c o l o r :#000000" ) ) ,

360 column (3 , h3 ( "Encadr é par : " , a l i g n =" l e f t " ,a l i g n =" l e f t " , s t y l e = " font−weight : bold ;font−s t y l e : i t a l i c ; c o l o r :#000000" ) ) , h3 ( "Mr . Franck Vermet" , s t y l e=" font−s i z e : 18px; c o l o r :#000000" ) ,

361 h3 ( "Mme. Korotoumou Traor é" , a l i gn =" l e f t " ,s t y l e=" font−s i z e : 18px ; c o l o r :#000000" ) ) )

362363364365 ) ) ,366367368369 tabItem (tabName = "menuitemOne" ,370 fluidRow (371372 column (4 ,373 s l i d e r I npu t ( "n" , "Age de dé part à l a r e t r a i t e : " , 62 , 70 , 65)

,374 downloadButton ( "downloadData" , "Té l é charger l a tab l e pro long é e" )375 ) ,376377378 column (4 ,379 radioButtons ( inputId = " t a b l e i " , l a b e l = "Table d ’ i n v a l i d i t é" ,380 cho i c e s = c ( ( "BCAC2010" ) , ( "BCAC2013" ) )381382 ) ,383 f i l e I n p u t ( " f i l e_inv " , "Entrez votre tab l e d ’ i n v a l i d i t é ( . csv ) : " , accept=" . csv " )

,384 checkboxInput ( ’ header ’ , ’ Header ’ , TRUE)385

Page 40: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

39

386 ) ,387 column (4 ,388 radioButtons ( inputId = "tablem" , l a b e l = "Table de mor ta l i t é" ,389 cho i c e s = c ( ( "TD88−90" ) , ( "TV88−90" ) , ( "TH0002" ) , ( "TF0002" ) )390391 ) ,392 f i l e I n p u t ( " f i l e_mort" , "Entrez votre tab l e de mor ta l i t é ( . csv ) : " , accept=" . csv "

) ,393 checkboxInput ( ’ header ’ , ’ Header ’ , TRUE) , #394395 s l i d e r I npu t ( inputId = ’ c o e f f_morta ’ , l a b e l = " Co e f f i c i e n t de majorat ion appl iqu

é à l a tab l e de mor ta l i t é" , min = 0 , max = 100 , value =0, s tep = 1)396397 )398 ) ,399400 fluidRow (401 column (12 ,402 tabBox ( width= NULL,403404 tabPanel ( t i t l e = "Table d ’ i n v a l i d i t é" , div ( s t y l e= ’ overf low−x : s c r o l l ’ ,405 tableOutput ( " tab l e Inv " ) ) ) ,406 tabPanel ( t i t l e= "Table de mor ta l i t é" , tableOutput ( " tableMor" ) ) ,407 tabPanel ( t i t l e= "Table prolong é e" , div ( s t y l e= ’ overf low−x : s c r o l l ’ ,408 tableOutput ( " tab l ep ro l onge " ) ) ) ,409 tabPanel ( t i t l e= "Table prolong é e et mensual i s é e" , div ( s t y l e= ’ overf low−x :

s c r o l l ’ ,410 tableOutput ( "

tab l emensua l i s e" ) ) ) ,

411 tabPanel ( " Exp l i c a t i on s " ,412 tags $ i f rame ( s t y l e=" he ight :500 px ; width :100%; s c r o l l i n g=yes ,

border : none" ,413 s r c="http : // stockage . univ−bre s t . f r /~vermet/ c a l c u l .

a c t u a r i e l /prolongement_de_la_tab l e_de_maintien_en_i n v a l i d i t e . pdf

414 " )415416417 )418419420421 )422423 )424 )425426 ) ,427428429430 tabItem (tabName = "menuitemTwo" ,431432 fluidRow (433 column (12 ,434 tabBox ( width= NULL,435436 tabPanel ( t i t l e = " c a l c u l " ,437438 fluidRow (439 column (4 ,440441 numericInput ( "age_exactep " , "Age d ’ entr é e en i n v a l i d i t é : " , 47 .53 ) ,442 numericInput ( " anc iennetep " , "Anciennet é exacte ( en anné es ) : " , 8 . 24 ) ,443 numericInput ( " anc iennete_f " , "Maintien en i n v a l i d i t é ( en anné es ) : " , 1) #,444 ) ,445446 column (4 ,447448 radioButtons ( inputId = " tab l e iP " , l a b e l = "Table d ’ i n v a l i d i t é" ,449 cho i c e s = c ( ( "BCAC2010" ) , ( "BCAC2013" ) )450451 ) ,452 f i l e I n p u t ( " f i l e_invP" , "Entrez votre tab l e d ’ i n v a l i d i t é ( . csv ) : " , accept=" . csv "

) ,453 checkboxInput ( ’ header ’ , ’ Header ’ , TRUE)454455 ) ,456 column (4 ,457 radioButtons ( inputId = "tablemP" , l a b e l = "Table de mor ta l i t é" ,458 cho i c e s = c ( ( "TD88−90" ) , ( "TV88−90" ) , ( "TH0002" ) , ( "TF0002" ) )459

Page 41: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

40

460 ) ,461 f i l e I n p u t ( " f i l e_mortP" , "Entrez votre tab l e de mor ta l i t é ( . csv ) : " , accept=" . csv

" ) ,462 checkboxInput ( ’ header ’ , ’ Header ’ , TRUE) #,463 ) ) ,464 fluidRow (465466 column (12 ,467 h4 ( " Probab i l i t é de maintien en i n v a l i d i t é" ) , #, a l i gn= " cente r ") ,468469 span ( textOutput ( " s e l e c t e d_maintien " ) , s t y l e=" co l o r : t e a l " )470471 )472 )473 ) ,474 tabPanel ( t i t l e = " Exp l i c a t i on s " ,475 tags $ i f rame ( s t y l e=" he ight :500 px ; width :100%; s c r o l l i n g=yes , border : none" ,476 s r c="http : // stockage . univ−bre s t . f r /~vermet/ c a l c u l . a c t u a r i e l /proba_

de_maintien_en_i n v a l i d i t e . pdf477 " ) )478 )479480 )481482 )483484485486487 ) ,488489490 tabItem (tabName = ’ subItemFive ’ ,491 fluidRow (492 column (12 ,493 tabBox ( width= NULL,494495 tabPanel ( t i t l e = " c a l c u l " ,496497 fluidRow (498 column (4 ,499500501 f i l e I n p u t ( " f i l e_assure " , "Entrez votre tab l e d ’ as sur é s ( . csv ) : " , accept=

" . csv " ) ,502 downloadButton ( "download_as su r e s " , "Té l é charger un modè l e " ) ,503504 h1 ( " " ) ,505506 numericInput ( "age_r e t r a i t eP " , "Age de dé part à l a r e t r a i t e " , 65) ,507508 s l i d e r I npu t ( "Tauxx" , "Taux d ’ a c t u a l i s a t i o n : " , −0.50 , 1 , 0 . 52 )509510511 ) ,512 column (4 ,513514 radioButtons ( inputId = " table iPP" , l a b e l = "Table d ’ i n v a l i d i t é" ,515 cho i c e s = c ( ( "BCAC2010" ) , ( "BCAC2013" ) )516517 ) ,518 f i l e I n p u t ( " f i l e_invP" , "Entrez votre tab l e d ’ i n v a l i d i t é ( . csv ) : " , accept

=" . csv " )519 ) ,520 column (4 ,521 radioButtons ( inputId = "tablemPP" , l a b e l = "Table de mor ta l i t é" ,522 cho i c e s = c ( ( "TD88−90" ) , ( "TV88−90" ) , ( "TH0002" ) , ( "TF0002" ) )523524 ) ,525 f i l e I n p u t ( " f i l e_mortP" , "Entrez votre tab l e de mor ta l i t é ( . csv ) : " ,

accept=" . csv " )526 ) ) ,527528 fluidRow (529 column (12 , o f f s e t =0,h3 ( "Ré s u l t a t du c a l c u l " ) , span ( h3 ( textOutput ( "pmporte" ) ) , s t y l e="

co l o r : t e a l " )530 , a l i g n= " cente r " )531532533 )534535 ) ,536 tabPanel ( t i t l e = " Exp l i c a t i on s " ,

Page 42: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

41

537 tags $ i f rame ( s t y l e=" he ight :500 px ; width :100%; s c r o l l i n g=yes , border : none" ,538 s r c="http : // stockage . univ−bre s t . f r /~vermet/ c a l c u l . a c t u a r i e l /PM_du_

p o r t e f e u i l l e %20(1) . pdf539 " ) )540 )541 )542 )543 ) ,544545546547548 tabItem (tabName = ’ subItemFour ’ ,549 fluidRow (550 column (12 ,551 tabBox ( width= NULL,552553 tabPanel ( t i t l e = " c a l c u l " ,554 f lu idPage (555556 fluidRow (557 column (12 ,558 fluidRow ( column (8 ,559 column (5 ,560 checkboxGroupInput ( inputId = " tableipm" , l a b e l = "

Table ( s ) d ’ i n v a l i d i t é" ,561 cho i c e s = c ( ( "BCAC2010" ) , ( "

BCAC2013" ) ) , s e l e c t e d=’BCAC2010 ’562563 ) ,564565 checkboxGroupInput ( inputId = "tablempm" , l a b e l = "

Table ( s ) de mor ta l i t é" ,566 cho i c e s = c ( ( "TD88−90" ) , ( "TV88−90"

) , ( "TH0002" ) , ( "TF0002" ) ) ,s e l e c t e d=’TH0002 ’

567568 ) ,569 numericInput ( "age_exacte " , "Age d ’ entr é e en i n v a l i d i t é

" , 47 . 53 ) ,570 numericInput ( " anc iennete " , "Anciennet é annue l l e exacte

" , 8 . 24 ) ,571 numericInput ( " rente " , "Rente annue l l e d ’ i n v a l i d i t é" ,

17863) ,572 numericInput ( "age_r e t r a i t e " , "Age de dé part à l a

r e t r a i t e " , 65)573 ) ,574 column (3 , o f f s e t =0, s l i d e r I npu t ( "Taux" , "Taux d ’ a c t u a l i s a t i o n " ,

−0.50 , 1 , 0 . 52 ) , uiOutput ( " s l i d e r s " ) ) )575 ,576 column (4 , o f f s e t =0,h4 ( "Ré s u l t a t " ) , tableOutput ( "pmindiv" ) )577 )578579 )580581 )582 )583 ) ,584 tabPanel ( t i t l e = " Exp l i c a t i on s " ,585 tags $ i f rame ( s t y l e=" he ight :500 px ; width :100%; s c r o l l i n g=yes , border : none" ,586 s r c="http : // stockage . univ−bre s t . f r /~vermet/

c a l c u l . a c t u a r i e l /Calcul_de_la_PM. pdf587 " ) )588 )589 )590 )591592 ) ,593594 tabItem (tabName = "subItemFour11" ,595596597 tabPanel ( t i t l e = "Graphe" ,598 fluidRow (599 column (3 ,600601 numericInput ( " ancienneteE " , "Anciennet é exacte ( en anné es ) : " , 0)602603 ) ,604 column (3 ,605 radioButtons ( inputId = " tab le iES " , l a b e l = "Table d ’ i n v a l i d i t é" ,606 cho i c e s = c ( ( "BCAC2010" ) , ( "BCAC2013" ) )607

Page 43: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

42

608 )609610 ) ,611 column (3 ,612 radioButtons ( inputId = "tablemES" , l a b e l = "Table de mor ta l i t é" ,613 cho i c e s = c ( ( "TD88−90" ) , ( "TV88−90" ) , ( "TH0002" ) , ( "TF0002" ) )614615 )616617 ) ,618 fluidRow (619620 column (6 ,621 plotOutput ( " grapheimpact " )622623 )624 )625626 )627 )628629630631632633 )634 )635 )636 )637 )638639640 s e rv e r=sh inyServer (641 func t i on ( input , output ) {642643 ##########################################644 output$ tab l e Inv <− renderTable ({645 C<−l i reBcacD ( input $ f i l e_inv , input $header , input $ t a b l e i )646 data . frame (C)647 })648649 ##########################################650 output$ tableMor <− renderTable ({651 C<−l i r eMor t a l i t eD ( input $ f i l e_mort , input $header , input $ tablem )652 data . frame (C)653 })654655656 ##########################################657 tab_pro <− r e a c t i v e ({658 i n v a l i d i t e<− as . data . frame ( l i reBcacD ( input $ f i l e_inv , input $header , input $ t a b l e i ) )659 mor ta l i t e <− as . data . frame ( l i r eMor t a l i t eD ( input $ f i l e_mort , input $header , input $ tablem ) )660661 X=pro longer ( morta l i t e , i n v a l i d i t e , input $n , input $ c o e f f_morta )662 return ( data . frame (X) )663 })664 output$ tab l ep ro l onge <− renderTable ({665 tab_pro ( )666 })667668669 ##########################################670 output$downloadData <− downloadHandler (671 f i l ename = funct i on ( ) {672 return ( "Table_pro longee . csv " )673 } ,674 content = func t i on ( f i l e ) {675 wr i t e . csv2 ( tab_pro ( ) , f i l e , row . names = FALSE)676 }677 )678679 ##########################################680 output$ tab l emensua l i s e <− renderTable ({681 i n v a l i d i t e<− as . data . frame ( l i reBcacD ( input $ f i l e_inv , input $header , input $ t a b l e i ) )682 mor ta l i t e <− as . data . frame ( l i r eMor t a l i t eD ( input $ f i l e_mort , input $header , input $ tablem ) )683684 X=pro longer ( morta l i t e , i n v a l i d i t e , input $n , 0 )685686 mensu = mensua l i sa t i on (X)687 data . frame (mensu )688 })689690 #########################################

Page 44: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

43

691 output$ s e l e c t e d_maintien<− renderText ({692 i n v a l i d i t e<− as . data . frame ( l i reBcacD ( input $ f i l e_invP , input $header , input $ tab l e iP ) )693 mor ta l i t e <− as . data . frame ( l i r eMor t a l i t eD ( input $ f i l e_mortP , input $header , input $tablemP ) )694695 N= c e i l i n g ( input $age_exactep +input $ anc i ennete_f +input $ anc iennetep )696697698 i f ( N> 105) {699700 Texte = " ATTENTION: l a somme de l ’ ge d ’ entr é e et de l ’ anc iennet é dé passe l ’ ge maximal de l a

tab l e de mor ta l i t e "701 }702 e l s e {703704 i f (N>= nco l ( i n v a l i d i t e )+20){705 pr in t ( " cond i t i on " )706 X=pro longer ( morta l i t e , i n v a l i d i t e , N+1, 0)707 } e l s e {708 X = i n v a l i d i t e709 }710711712 mensu = mensua l i sa t ion (X)713714 P= round ( probamaintien ( input $age_exactep , input $ anciennetep , mensu , input $ anc i ennete_f ) , 3)715 #716 Texte= paste ( c ( "La p r ob ab i l i t é pour qu ’ un ind iv idu entr é en i n v a l i d i t é à l ’ ge " , " an ( s ) et

i n v a l i d e depuis " , " an ( s ) s o i t encore en i n v a l i d i t é dans " , " an ( s ) e s t de" ) , c ( input $age_exactep , input $ anciennetep , input $ anc iennete_f ,P) )

717718 }719720 Texte721 #722723 })724725 #########################################726 output$ s l i d e r s <− renderUI ({727 lapp ly ( 1 : l ength ( input $tablempm) , func t i on ( i ) {728 s l i d e r I npu t ( inputId = paste0 ( "morta" , i ) , l a b e l = paste ( " Co e f f i c i e n t de majorat ion " , input $

tablempm [ i ] ) ,min = 0 , max = 100 , value =0, s tep = 1)729 })730731 })732733 #########################################734 output$pmindiv <−renderTable ({735 invchosen = r e a c t i v e ({736 input $ tableipm737 })738 mortachosen = r e a c t i v e ({739 input $tablempm740 })741742 #########################################743 r=matrix (NA, length ( mortachosen ( ) ) , l ength ( invchosen ( ) ) , dimnames =l i s t ( input $tablempm , input $ tableipm

) )744 new . names=NULL745 f o r ( i in 1 : ( l ength ( mortachosen ( ) ) ) ) {746747 new . names [ i ]= paste ( c ( "Table" , " major é e de " , " % " ) , c ( input $tablempm [ i ] , input [ [ paste0 ( "morta" , i )

] ] , "" ) , c o l l a p s e = "" )748 f o r ( j in 1 : ( l ength ( invchosen ( ) ) ) ) {749750 i n v a l i d i t e<− as . data . frame ( l i r eBca c ( ( input $ tableipm [ j ] ) ) )751752 mor ta l i t e<− as . data . frame ( l i r eMo r t a l i t e ( input $tablempm [ i ] ) )753754 X=pro longer ( morta l i t e , i n v a l i d i t e , input $age_r e t r a i t e +1, input [ [ paste0 ( "morta" , i ) ] ] )#

recupe re r l ’ id des s l i d e r s inputs755756 mensu = mensua l i sa t ion (X)757 r [ i , j ]= PM_mensue l le ( input $age_exacte , input $ anciennete , mensu , input $ rente , input $Taux/100 ,

input $age_r e t r a i t e )758 }759760 }761 row . names ( r )<−new . names762 r763764 }765 , s t r i p ed = TRUE, bordered = TRUE, hover = TRUE, inc lude . rownames=TRUE, spac ing=" l " )

Page 45: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

44

766 #########################################767 output$pmporte <− renderText ({768 i n v a l i d i t e<− as . data . frame ( l i reBcacD ( input $ f i l e_inv , input $header , input $ table iPP ) )769 mor ta l i t e <− as . data . frame ( l i r eMor t a l i t eD ( input $ f i l e_mort , input $header , input $tablemPP) )770 as sure<− as . data . frame ( l i r eA s s u r e ( input $ f i l e_assure , input $header ) )771772 X=pro longer ( morta l i t e , i n v a l i d i t e , input $n+1 ,0)773774 mensu = mensua l i sa t i on (X)775776 PMporte f eu i l l e ( assure , mensu , input $age_r e t r a i t eP777 , input $Tauxx)778 })779 #########################################780 output$download_as su r e s <− downloadHandler (781 f i l ename = funct i on ( ) {782 return ( "modele_as su r e s . csv " )783 } ,784 content = func t i on ( f i l e ) {785 wr i t e . csv2 ( modele , f i l e , row . names = FALSE)786 }787 )788 #########################################789 output$grapheimpact <− renderPlot ({790 i n v a l i d i t e<− as . data . frame ( l i reBcacD ( input $ f i l e_inv , input $header , input $ tab le iES ) )791 mor ta l i t e <− as . data . frame ( l i r eMor t a l i t eD ( input $ f i l e_mort , input $header , input $tablemES ) )792 X1=pro longer ( morta l i t e , i n v a l i d i t e , 66 ,0)793 X2=pro longer ( morta l i t e , i n v a l i d i t e , 63 ,0)794 B1= mensua l i sa t ion (X1)795 B2= mensua l i sa t ion (X2)796797 s1= G( input $ ancienneteE ,B1 ,B2 , 6 5 )798799 s2= G( input $ ancienneteE ,B1 ,B2 , 6 4 )800 s3= G( input $ ancienneteE ,B1 ,B2 , 6 3 )801 p lo t ( s1 [ , 1 ] , s1 [ , 2 ] , type= ’ l ’ , x lab = " ge d ’ entr é e en i n v a l i d i t é" , ylab= ’PMi/PM62 ans ’ , main =

"Impact de l ’ ge de dé part à l a r e t r a i t e sur l e s PM" )802 l i n e s ( s2 [ , 1 ] , s2 [ , 2 ] , type= ’ l ’ , c o l= ’ red ’ )803 l i n e s ( s3 [ , 1 ] , s3 [ , 2 ] , type= ’ l ’ , c o l= ’ blue ’ )804805 legend ( " t o p l e f t " , l egend=c ( "PM65/PM62" , "PM64/PM62" , "PM63/PM62" ) ,806 co l=c ( "Black" , " red " , " blue " ) , l t y =1:2 , cex =0.8)807808 }809 )810 }811 )812813814815 shinyApp ( ui = ui , s e r v e r = se rv e r )

BE_shiny_final.R

Page 46: R-Shiny:Prolongementdetablesde …stockage.univ-brest.fr/~vermet/calcul.actuariel/BE07.pdf · 2018-06-25 · Chapitre1 PrésentationdeR-Shiny 1.1 FonctionnementdeR-Shiny R shiny est

EURIA6 Avenue Victor le Gorgeu,

29200 Brest