Skip to content

steve-gerald/dla-longevity-pricing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DLA Longevity Pricing — Rentes Viagères Différées en Univers Stochastique

Projet de portfolio actuariel | Master Actuariat, UCLouvain (2024)
Référence scientifique : Mahayni & Steuten, Review of Managerial Science, 2013


Présentation du projet

Ce projet implémente la tarification stochastique des rentes viagères différées (DLA — Deferred Life Annuities), produits d'assurance permettant une couverture ciblée du risque de grande longévité (âges 80+).

Une DLA ne verse des prestations qu'à partir d'un âge de déclenchement ω (typiquement 80 ou 85 ans). En échange d'une prime nettement inférieure à une rente viagère classique, l'assuré est protégé contre le risque de « survie au-delà de ses réserves » (longevity tail risk).

Problématique centrale

Comment tarifier une DLA en tenant compte simultanément de la stochasticité des taux d'intérêt et de la mortalité, et quels sont les effets combinés de ces deux sources de risque sur la prime ?

Ce projet répond à cette question en implémentant le cadre de Mahayni & Steuten (2013) : modèle affine conjoint (Vasicek) pour les taux et la mortalité, formules analytiques fermées, validation Monte Carlo, et analyse de sensibilité complète.


Résultats clés

Effet Impact sur la prime DLA Explication
↑ Volatilité des taux σᵣ +3 à +8% Convexité (inégalité de Jensen)
↑ Volatilité mortalité σ_μ +1 à +4% Incertitude sur la survie aux grands âges
Corrélation ρ = −0.5 (adverse) +4 à +6% Taux bas + mortalité haute simultanément
ω = 85 vs ω = 80 Prime réduite de 40% Sélection plus forte par survie
DLA vs rente immédiate Prime réduite de 60 à 80% Couverture ciblée uniquement 80+

La modélisation stochastique conjointe révèle une prime sous-estimée de 5 à 15% par rapport au cadre déterministe classique.


Structure du projet

dla-longevity-pricing/
│
├── notebooks/                        # Notebooks Jupyter (fil conducteur)
│   ├── 01_modelisation_mortalite.ipynb       # Lee-Carter, CBD, Vasicek-μ
│   ├── 02_modelisation_taux_interet.ipynb    # Vasicek-r, CIR, calibration BCE
│   ├── 03_tarification_deterministe.ipynb    # DLA(x,ω), grille tarifaire
│   ├── 04_tarification_stochastique.ipynb    # Monte Carlo, effets combinés ★
│   ├── 05_modele_conjoint_correlation.ipynb  # Corrélation ρ approfondie
│   ├── 06_analyse_sensibilite_resultats.ipynb # Wang transform, conclusions
│   └── 07_solvabilite2_scr.ipynb            # Best Estimate, SCR (Solv. II)
│
├── src/                              # Modules Python réutilisables
│   ├── mortalite.py                  # Modèles de mortalité stochastique
│   ├── taux.py                       # Modèles de taux d'intérêt
│   ├── tarification.py               # Valorisation DLA (det. et sto.)
│   ├── simulation.py                 # Moteur Monte Carlo
│   └── solvabilite2.py               # Calcul SCR et Best Estimate
│
├── data/
│   ├── mortality/                    # Tables MR/MC (IABE) ou HMD
│   └── rates/                        # Courbes BCE OIS/swap
│
├── figures/                          # Graphiques exportés
├── reports/                          # Rapport PDF / synthèse
├── requirements.txt
└── README.md

Notebooks en détail

01 — Modélisation stochastique de la mortalité

  • Construction des tables MR/MC belges (Gompertz-Makeham)
  • Modèle de Lee-Carter : estimation SVD, dynamique de κₜ, projection 35 ans
  • Modèle de Cairns-Blake-Dowd : logit(q), facteurs bivariés (κ¹, κ²)
  • Modèle affine continu (Vasicek) : formule fermée p̃(t,T) = exp(A−B·μₜ)
  • Validation analytique vs Monte Carlo, comparaison des trois modèles

02 — Modélisation stochastique des taux d'intérêt

  • Calibration sur la courbe BCE OIS (janvier 2024)
  • Modèle de Vasicek : prix ZC analytiques, duration modifiée
  • Modèle CIR : taux positifs garantis (condition de Feller)
  • Simulation Euler-Maruyama, analyse de sensibilité des prix ZC
  • Duration de la DLA vs rente immédiate : amplification par le différé

03 — Tarification déterministe (référence)

  • Dérivation de DLA(x, ω) = Σ vᵏ · ₖpₓ en temps discret et continu
  • Validation de la décomposition : DLA = ₐEₓ · äω (pure endowment × rente)
  • Grille tarifaire complète : x ∈ {50,55,60,65}, ω ∈ {75,80,85}, MR/MC
  • Prime périodique annuelle, sensibilité au taux technique

04 — Tarification stochastique Monte Carlo ⭐

  • Moteur de simulation conjoint (rₜ, μₜ) avec corrélation ρ (décomposition de Cholesky)
  • Variables antithétiques : réduction de variance d'un facteur ×2 à ×4
  • Validation analytique (formule affine vs Monte Carlo)
  • Effets combinés : σᵣ (convexité), σ_μ (incertitude longévité), ρ (corrélation)
  • Distribution de la valeur DLA, VaR 95%, TVaR 95%

05 — Modèle conjoint et dépendance (en développement)

  • Approfondissement de la structure de corrélation
  • Copules (Gaussienne, Clayton) pour la dépendance queue

06 — Analyse des résultats et gestion des risques (en développement)

  • Transformation de Wang (prime de risque longévité systématique)
  • Transformation d'Esscher
  • Stratégies de couverture : duration matching, swaps de longévité

07 — Solvabilité II (en développement)

  • Best Estimate (courbe EIOPA sans risque)
  • SCR Longévité (choc −20% sur mortalité projetée)
  • SCR Taux d'intérêt, agrégation des SCR

Installation et utilisation

# Cloner le dépôt
git clone https://github.com/<ton-pseudo>/dla-longevity-pricing.git
cd dla-longevity-pricing

# Créer un environnement virtuel
python -m venv .venv
source .venv/bin/activate      # Linux/Mac
.venv\Scripts\activate         # Windows

# Installer les dépendances
pip install -r requirements.txt

# Lancer les notebooks
jupyter notebook notebooks/

Dépendances

numpy >= 1.24
scipy >= 1.10
pandas >= 2.0
matplotlib >= 3.7
seaborn >= 0.12
jupyter >= 1.0

Fondements mathématiques

Valeur stochastique de la DLA

Sous la mesure risque-neutre Q et avec indépendance (ρ = 0) :

V₀^DLA = ∫_{ω−x}^{T_max} B(0,s) · p̃(0,s) ds

où :

  • B(0,T) = exp(Aᵣ(T) − Bᵣ(T)·r₀) — prix ZC (Vasicek taux)
  • p̃(0,T) = exp(A_μ(T) − B_μ(T)·μ₀) — survie stochastique (Vasicek mortalité)

Avec corrélation ρ ≠ 0, un terme de correction croisée apparaît (NB05).

Modèle affine conjoint

drₜ  = κ(θ − rₜ)dt + σᵣ dWₜʳ
dμₜ  = a(μ̄ − μₜ)dt + σ_μ dWₜᵘ    avec dWʳ·dWᵘ = ρ dt

Les deux processus de type Vasicek permettent des formules fermées via le théorème de Duffie-Kan pour les processus affines.


Référence principale

Mahayni, A. & Steuten, L. (2013).
Deferred life annuities: on the combined effects of stochastic mortality and interest rates.
Review of Managerial Science, 7(1), 1–28.


Auteur

SIMO tchemo steve Actuaire | Master Actuariat, UCLouvain (2024)
Spécialisation : tarification non-vie (P&C), modélisation stochastique, Solvabilité II

About

Tarification stochastique des rentes viagères différées (DLA) — projet de portfolio actuariel : modélisation mortalité, taux d'intérêt, Monte Carlo et SCR Solvabilité II.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors