Scénario de test & Cas d'usage
Herramientas para el modelo de datos común.
Descubrir todas las acciones de cdmConfiguración de una distribución Pareto para riesgos de cola larga.
| 1 | |
| 2 | DATA casuser.reins_defs; |
| 3 | LENGTH model $20 distribution $20; |
| 4 | model='catastrofe'; |
| 5 | distribution='Pareto'; |
| 6 | OUTPUT; |
| 7 | |
| 8 | RUN; |
| 9 | |
| 10 | DATA casuser.reins_est; |
| 11 | LENGTH _model_ $20 _name_ $20; |
| 12 | _model_='catastrofe'; |
| 13 | _name_='alpha'; |
| 14 | estimate=3; |
| 15 | OUTPUT; |
| 16 | _model_='catastrofe'; |
| 17 | _name_='theta'; |
| 18 | estimate=2000; |
| 19 | OUTPUT; |
| 20 | |
| 21 | RUN; |
| 22 |
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.fetch TABLE={name='reins_est', caslib='casuser'}; |
| 4 | |
| 5 | RUN; |
| 6 |
| 1 | |
| 2 | PROC CAS; |
| 3 | cdm.cdm nReplicates=25000, seed=777, countDistributions={{name='Poisson', parmValues={{value=20}}}}, severityDefinitions={name='reins_defs', caslib='casuser'}, severityEst={name='reins_est', caslib='casuser'}, adjustedSeverity={symbols={{name='PagoReaseguro', model='catastrofe'}}, sasCode='if category_loss > 5000 then PagoReaseguro = category_loss - 5000; |
| 4 | else PagoReaseguro = 0; |
| 5 | '}, truncateZeros=TRUE, OUTPUT={outSample={name='capa_reaseguro', caslib='casuser'}}; |
| 6 | |
| 7 | RUN; |
| 8 |
La tabla resultante 'capa_reaseguro' debe contener solo aquellos escenarios donde la pérdida agregada superó el deducible (gracias a truncateZeros). La variable 'PagoReaseguro' reflejará el monto neto pagado después de restar los 5,000 iniciales, validando la lógica SAS inyectada.