Dans cette leçon 8 parties
Le simulateur
Un portefeuille de 1 000 contrats. Réglez les hypothèses : la simulation se relance aussitôt.
Voir les résultats en tableau
| Simulation | Le simulateur a besoin de JavaScript. |
|---|
Le problème : la moyenne ne suffit pas
Prenons un portefeuille de 1 000 contrats habitation. Chaque contrat a 5 % de chances par an de déclarer un sinistre, et un sinistre coûte 3 000 € en moyenne. La charge moyenne vaut donc 50 × 3 000 = 150 000 € par an : c’est la prime pure du portefeuille.
Mais un assureur doit aussi tenir pendant les mauvaises années : plus de sinistres que prévu, ou quelques sinistres très coûteux. Solvabilité 2 lui demande de résister à une année qui ne se produit qu’une fois sur 200. Pour la chiffrer, il faut toute la distribution de la charge totale S = X1 + … + XN, et pas seulement sa moyenne. Or cette distribution n’a presque jamais de formule simple. D’où l’idée de la simuler.
La méthode en trois étapes
- Tirer le nombre de sinistres de l’année, N, selon une loi de Poisson de moyenne λ = 1 000 × 5 % = 50.
- Tirer le coût de chacun de ces sinistres selon une loi lognormale de moyenne 3 000 € : la plupart sont modestes, quelques-uns très chers.
- Additionner : on obtient la charge d’une année simulée. On recommence 10 000 fois.
Les 10 000 charges simulées forment une distribution. On y lit la moyenne, mais surtout la queue : les pires années. C’est le modèle collectif, rejoué des milliers de fois.
Lire la VaR et la TVaR
- La VaR à 99,5 % est la charge dépassée une année sur 200 seulement. Sur 10 000 années simulées, c’est à peu près la 50e pire.
- La TVaR à 99,5 % est la moyenne de ces années au-delà de la VaR. Elle dit combien on perd, en moyenne, quand on tombe dans la queue.
- Le capital au-delà de la moyenne, VaR moins charge moyenne, donne l’ordre de grandeur des fonds propres à immobiliser pour traverser cette année-là. C’est l’idée qui sous-tend le capital de solvabilité requis de Solvabilité 2.
Avec les réglages par défaut, la VaR à 99,5 % tourne autour de 330 000 €, plus du double de la charge moyenne, et la TVaR autour de 390 000 €.
Pourquoi les résultats bougent à chaque lancement
Une simulation est un échantillon : relancez-la, la VaR change un peu. Plus on simule d’années, plus l’estimation est stable. Avec les réglages par défaut, la VaR estimée varie d’environ 22 000 € d’un lancement à l’autre avec 1 000 années simulées, 7 000 € avec 10 000 années et 3 000 € avec 50 000 (écart-type).
La raison : la VaR à 99,5 % ne repose que sur les 0,5 % d’années les pires. Avec 1 000 années simulées, cela fait 5 années seulement. Essayez : réglez 1 000 années, puis relancez plusieurs fois.
Ce qui fait grossir la queue
- La dispersion des coûts. Avec un coefficient de variation de 2 plutôt que 1, la charge moyenne ne bouge pas, mais la VaR à 99,5 % passe d’environ 240 000 € à 330 000 €.
- La rareté des sinistres. À charge moyenne égale de 150 000 €, 20 sinistres de 7 500 € en moyenne demandent un capital d’environ 310 000 €, contre 120 000 € pour 100 sinistres de 1 500 €. Plus il y a de sinistres, plus les écarts se compensent : c’est la mutualisation.
Le même calcul en Python
Une vingtaine de lignes suffisent avec NumPy :
import numpy as np
rng = np.random.default_rng(2026)
n_sim = 10000 # années simulées
lam = 1000 * 0.05 # nombre moyen de sinistres par an
moyenne, cv = 3000, 2.0 # coût moyen et coefficient de variation
# paramètres de la loi lognormale
sigma2 = np.log(1 + cv**2)
mu = np.log(moyenne) - sigma2 / 2
N = rng.poisson(lam, n_sim) # sinistres de chaque année
X = rng.lognormal(mu, np.sqrt(sigma2), N.sum()) # coût de chaque sinistre
annee = np.repeat(np.arange(n_sim), N) # année de chaque sinistre
S = np.bincount(annee, weights=X, minlength=n_sim) # charge de chaque année
var = np.quantile(S, 0.995)
tvar = S[S >= var].mean()
print(round(S.mean()), round(var), round(tvar))
Vous obtiendrez une charge moyenne proche de 150 000 € et une VaR proche de celle du simulateur.
Ce qu’il faut retenir
- Monte Carlo remplace une formule introuvable par des milliers de tirages : fréquence, puis coûts, puis somme.
- La moyenne sert à tarifer, la queue sert à dimensionner le capital.
- La VaR donne un seuil, la TVaR la gravité moyenne au-delà de ce seuil.
- Une VaR extrême demande beaucoup de simulations pour être stable.
Pour aller plus loin
À vous de jouer : estimer une TVaR à partir d’une simulation.
Les définitions précises : VaR, TVaR et modèle collectif dans le lexique.
Un modèle complet en assurance temporaire décès (1 000 contrats, 20 000 scénarios, VaR et TVaR à 99,5 %) est publié sur mon GitHub.
Envie d’aller plus loin ?
Le cours Probabilités pour l’actuariat consacre un module à la simulation : lois de fréquence et de coût, modèle collectif, Monte Carlo en Python, VaR et TVaR.