La acción `ecm` (Economic Capital Modeling) crea una muestra de la pérdida a nivel de toda la empresa combinando una simulación de cópula con las distribuciones empíricas marginales de las pérdidas en las líneas de negocio. Esta acción es fundamental en la gestión de riesgos para agregar pérdidas de diferentes fuentes operativas o de negocio, preservando la estructura de dependencia entre ellas definida por la cópula y respetando las características individuales de las colas de distribución de cada riesgo.
| Parámetro | Descripción |
|---|---|
| copulaSample | Especifica la tabla de entrada que contiene la simulación de la cópula en márgenes uniformes. Esta tabla es esencialmente la estructura de dependencia multivariante. |
| marginals | Lista de tablas de entrada que contienen las muestras empíricas de las distribuciones marginales de las líneas de negocio o tipos de riesgo. |
| analysisVariables | Especifica los nombres de las variables marginales en la tabla `copulaSample` que se utilizarán para el análisis. |
| output | Define los detalles de la tabla de salida donde se escribirá la muestra generada de la pérdida agregada a nivel empresarial. |
| outsum | Especifica la tabla de salida para escribir estimaciones de estadísticas descriptivas, percentiles y Valor en Riesgo de Cola (TVaR). |
| seed | Valor entero para la semilla del generador de números pseudoaleatorios, garantizando la reproducibilidad de la simulación. |
| tailStart | Valor doble (entre 0 y 1) que indica el punto de la función de distribución empírica (EDF) donde se considera que comienza la región de la cola. |
| edfAccuracy | Precisión deseada para la función de distribución empírica en la región del cuerpo de la distribución. |
| tailEDFAccuracy | Precisión deseada para la función de distribución empírica en la región de la cola, generalmente más estricta que para el cuerpo. |
Se generan datos simulados: una tabla con estructura de dependencia (cópula) y dos tablas con distribuciones de pérdidas marginales para diferentes líneas de negocio.
| 1 | |
| 2 | PROC CAS; |
| 3 | dataStep.runCode / code = " |
| 4 | data casuser.simulacion_copula; |
| 5 | call streaminit(123); |
| 6 | do i = 1 to 10000; |
| 7 | u_riesgo1 = rand('UNIFORM'); |
| 8 | u_riesgo2 = rand('UNIFORM'); |
| 9 | output; |
| 10 | end; |
| 11 | |
| 12 | run; |
| 13 | |
| 14 | data casuser.marginal_a; |
| 15 | call streaminit(123); |
| 16 | do i = 1 to 2000; |
| 17 | perdida = rand('LOGNORMAL', 4, 1); |
| 18 | output; |
| 19 | end; |
| 20 | |
| 21 | run; |
| 22 | |
| 23 | data casuser.marginal_b; |
| 24 | call streaminit(456); |
| 25 | do i = 1 to 2000; |
| 26 | perdida = rand('GAMMA', 3, 500); |
| 27 | output; |
| 28 | end; |
| 29 | |
| 30 | run; |
| 31 | "; |
| 32 | |
| 33 | RUN; |
| 34 |
Combina la simulación de cópula con las marginales para estimar la pérdida total.
| 1 | |
| 2 | PROC CAS; |
| 3 | ecm.ecm / copulaSample={name="simulacion_copula", caslib="casuser"} marginals={{TABLE={name="marginal_a", caslib="casuser"}, sampleVarName="perdida"}, {TABLE={name="marginal_b", caslib="casuser"}, sampleVarName="perdida"}} analysisVariables={"u_riesgo1", "u_riesgo2"} OUTPUT={outSample={name="perdida_total", caslib="casuser"}} seed=999; |
| 4 | |
| 5 | RUN; |
| 6 |
Ejecución completa solicitando estadísticas detalladas, percentiles específicos y métricas de riesgo de cola (TVaR).
| 1 | |
| 2 | PROC CAS; |
| 3 | ecm.ecm / copulaSample={name="simulacion_copula", caslib="casuser"} marginals={{TABLE={name="marginal_a", caslib="casuser"}, sampleVarName="perdida"}, {TABLE={name="marginal_b", caslib="casuser"}, sampleVarName="perdida"}} analysisVariables={"u_riesgo1", "u_riesgo2"} OUTPUT={outSample={name="ecm_detalle", caslib="casuser"}, varName="TotalLoss"} outsum={outSummary={name="ecm_resumen", caslib="casuser"}, summaryStatistics={{statistic="MEAN"}, {statistic="STDDEV"}, {statistic="SKEWNESS"}}, percentiles={{percentile=95}, {percentile=99.9}}, tVaRLevels={{percentileLevel=99}, {percentileLevel=99.5}}} tailStart=0.9 seed=12345; |
| 4 | |
| 5 | RUN; |
| 6 |
Una compañía de seguros necesita calcular el Capital Económico requerido bajo la normativa Solvencia II. Se deben agregar las pérdidas operativas de dos líneas de negocio princi...
Un banco internacional está modelando el Riesgo Operativo global. Necesitan simular millones de escenarios combinando riesgos de 'Fraude Externo', 'Fallas TI' y 'Prácticas Labor...
El departamento de Riesgos está realizando un 'Stress Test' para eventos de cisne negro (extremadamente raros). Se requiere forzar el análisis para que se concentre exclusivamen...