ecm ecm

Agregación de Riesgo Operativo a Gran Escala

Scénario de test & Cas d'usage

Contexto empresarial

Un banco internacional está modelando el Riesgo Operativo global. Necesitan simular millones de escenarios combinando riesgos de 'Fraude Externo', 'Fallas TI' y 'Prácticas Laborales'. Dado el gran volumen de datos históricos y la necesidad de eficiencia computacional, se busca optimizar el muestreo en el 'cuerpo' de la distribución (pérdidas pequeñas/frecuentes) sin sacrificar la precisión en las colas (pérdidas catastróficas).
Preparación de datos

Generación masiva de datos: Cópula de 100,000 iteraciones y marginales con colas pesadas (Pareto simulado via Lognormal extrema).

¡Copiado!
1 
2PROC CAS;
3dataStep.runCode / code = "
4data casuser.gran_copula;
5call streaminit(555);
6do i = 1 to 100000;
7r_fraude = rand('UNIFORM');
8r_ti = rand('UNIFORM');
9r_laboral = rand('UNIFORM');
10output;
11end;
12 
13run;
14 
15data casuser.m_fraude;
16call streaminit(1);
17do i = 1 to 5000;
18loss = rand('LOGNORMAL', 4, 1.5);
19output;
20end;
21 
22run;
23 
24data casuser.m_ti;
25call streaminit(2);
26do i = 1 to 5000;
27loss = rand('WEIBULL', 1.5, 5000);
28output;
29end;
30 
31run;
32 
33data casuser.m_laboral;
34call streaminit(3);
35do i = 1 to 5000;
36loss = rand('EXPONENTIAL') * 1000;
37output;
38end;
39 
40run;
41";
42 
43RUN;
44 

Étapes de réalisation

1
Ejecución de ECM con optimización de muestreo (bodySampleFrac)
¡Copiado!
1 
2PROC CAS;
3ecm.ecm / copulaSample={name="gran_copula", caslib="casuser"} marginals={{TABLE={name="m_fraude", caslib="casuser"}, sampleVarName="loss"}, {TABLE={name="m_ti", caslib="casuser"}, sampleVarName="loss"}, {TABLE={name="m_laboral", caslib="casuser"}, sampleVarName="loss"}} analysisVariables={"r_fraude", "r_ti", "r_laboral"} bodySampleFrac=0.25 shuffleData=TRUE OUTPUT={outSample={name="riesgo_global_optimizado", caslib="casuser"}} seed=999;
4 
5RUN;
6 

Resultado esperado


La acción se ejecuta exitosamente con un tiempo de procesamiento reducido gracias a `bodySampleFrac=0.25`, muestreando solo el 25% de los datos en la zona de baja pérdida, pero manteniendo la integridad total de los eventos extremos (colas) cruciales para el capital bancario.