Scénario de test & Cas d'usage
Erstellung einer Copula-Tabelle (Abhängigkeitsstruktur) und zwei Marginalverteilungen (Lognormal für KFZ, Gamma für Wohngebäude).
| 1 | |
| 2 | DATA casuser.copula_base; |
| 3 | call streaminit(123); |
| 4 | DO i=1 to 5000; |
| 5 | u_kfz=rand('uniform'); |
| 6 | u_wohn=rand('uniform'); |
| 7 | OUTPUT; |
| 8 | END; |
| 9 | |
| 10 | RUN; |
| 11 | |
| 12 | DATA casuser.marg_kfz; |
| 13 | call streaminit(123); |
| 14 | DO i=1 to 5000; |
| 15 | schaden=rand('lognormal', 10, 1.5); |
| 16 | OUTPUT; |
| 17 | END; |
| 18 | |
| 19 | RUN; |
| 20 | |
| 21 | DATA casuser.marg_wohn; |
| 22 | call streaminit(123); |
| 23 | DO i=1 to 5000; |
| 24 | schaden=rand('gamma', 5); |
| 25 | OUTPUT; |
| 26 | END; |
| 27 | |
| 28 | RUN; |
| 29 |
| 1 | |
| 2 | PROC CAS; |
| 3 | ecm.ecm / copulaSample={name="copula_base"} marginals={{TABLE={name="marg_kfz"}, sampleVarName="schaden"}, {TABLE={name="marg_wohn"}, sampleVarName="schaden"}} OUTPUT={outSample={name="gesamtverlust_sample"}, varName="TotalLoss"} outsum={outSummary={name="risiko_bericht"}, percentiles={{percentile=99.5, variable="VaR_995"}}, tVaRLevels={{percentileLevel=99.0, variable="TVaR_99"}}} seed=98765; |
| 4 | |
| 5 | RUN; |
| 6 |
Die Tabelle 'gesamtverlust_sample' enthält die simulierten aggregierten Verluste. Die Tabelle 'risiko_bericht' liefert exakt den VaR bei 99,5% und den TVaR bei 99,0%, basierend auf der Kombination der Copula und den Marginalverteilungen.