L'action `ecm` (Economic Capital Modeling) est conçue pour estimer la distribution de la perte agrégée (globale) d'une entreprise. Elle combine les résultats d'une simulation de copule (qui modélise la structure de dépendance entre les risques) avec les distributions empiriques marginales des pertes pour chaque ligne de métier. Cette approche est fondamentale pour calculer le capital économique nécessaire pour couvrir les risques extrêmes (queue de distribution).
| Paramètre | Description |
|---|---|
| copulaSample | Spécifie la table d'entrée contenant la simulation de copule (marges uniformes). Cette table provient généralement de l'action `copulaSimulate`. |
| marginals | Liste des tables d'entrée contenant les échantillons empiriques des distributions marginales des pertes pour les différentes lignes de métier. |
| output | Définit les paramètres de la table de sortie principale qui contiendra l'échantillon de la perte globale de l'entreprise. |
| outsum | Spécifie les détails de la table de sortie résumée, incluant les statistiques sommaires, les percentiles et la Tail Value-at-Risk (TVaR). |
| analysisVariables | Liste des noms des variables marginales à analyser. Doit correspondre à un sous-ensemble des variables présentes dans la table de simulation de copule. |
| tailStart | Définit la valeur de la fonction de distribution empirique (EDF) où commence la région de queue (tail region). Valeur par défaut : 0.8. |
| seed | Graine pour le générateur de nombres pseudo-aléatoires. Essentiel pour la reproductibilité des résultats. |
Génération d'une table de simulation de copule (données uniformes) et de deux tables de distributions marginales (pertes simulées) pour illustrer l'action.
| 1 | |
| 2 | DATA work.copula_sim; |
| 3 | DO i=1 to 10000; |
| 4 | u1 = rand('Uniform'); |
| 5 | u2 = rand('Uniform'); |
| 6 | OUTPUT; |
| 7 | END; |
| 8 | |
| 9 | RUN; |
| 10 | |
| 11 | DATA work.margin1; |
| 12 | DO i=1 to 5000; |
| 13 | loss = rand('Lognormal', 10, 1); |
| 14 | id = 'Line1'; |
| 15 | OUTPUT; |
| 16 | END; |
| 17 | |
| 18 | RUN; |
| 19 | |
| 20 | DATA work.margin2; |
| 21 | DO i=1 to 5000; |
| 22 | loss = rand('Gamma', 5, 1000); |
| 23 | id = 'Line2'; |
| 24 | OUTPUT; |
| 25 | END; |
| 26 | |
| 27 | RUN; |
| 28 | |
| 29 | PROC CAS; |
| 30 | upload path="work.copula_sim" casout={name="copula_data", replace=true}; |
| 31 | upload path="work.margin1" casout={name="margin_line1", replace=true}; |
| 32 | upload path="work.margin2" casout={name="margin_line2", replace=true}; |
| 33 | |
| 34 | RUN; |
| 35 |
Exécution de l'action ecm avec une configuration minimale : une table de copule et deux tables marginales.
| 1 | |
| 2 | PROC CAS; |
| 3 | ecm.ecm / copulaSample={name="copula_data"} marginals={{TABLE={name="margin_line1"}, sampleVarName="loss"}, {TABLE={name="margin_line2"}, sampleVarName="loss"}} OUTPUT={outSample={name="total_loss_sample", replace=true}}; |
| 4 | |
| 5 | RUN; |
| 6 |
Utilisation de l'action ecm pour calculer la perte globale, en spécifiant les variables d'analyse, en fixant une graine, et en demandant des statistiques détaillées (Percentiles, TVaR) dans une table sommaire.
| 1 | |
| 2 | PROC CAS; |
| 3 | ecm.ecm / copulaSample={name="copula_data"} analysisVariables={"u1", "u2"} marginals={{TABLE={name="margin_line1"}, sampleVarName="loss", idVarValue="u1"}, {TABLE={name="margin_line2"}, sampleVarName="loss", idVarValue="u2"}} seed=12345 tailStart=0.95 OUTPUT={outSample={name="detailed_loss", replace=true}, varName="EnterpriseLoss", writeMarginals=true} outsum={outSummary={name="loss_summary", replace=true}, percentiles={{percentile=99.5, variable="VaR_99_5"}, {percentile=99.9, variable="VaR_99_9"}}, tVaRLevels={{percentileLevel=99.5, variable="TVaR_99_5"}}, summaryStatistics={{statistic="MEAN", variable="AvgLoss"}, {statistic="STDDEV", variable="VolLoss"}}}; |
| 4 | |
| 5 | RUN; |
| 6 |
Une compagnie d'assurance souhaite agréger les risques de ses branches 'Automobile' et 'Habitation' pour estimer son besoin global en capital. L'objectif est de calculer la VaR ...
Une banque systémique doit modéliser les pertes opérationnelles sur 5 types d'incidents (Fraude externe, Panne IT, Juridique, RH, Dommages aux actifs). Le régulateur exige une s...
Un réassureur se concentre uniquement sur les événements extrêmes (Tremblements de terre et Cyclones). Le but est de modéliser finement la queue de distribution (au-delà du 95èm...