Diseño y ejecución del General WWR en CCR (Monte Carlo + Stress Test)
0. Plan seguido (resumen)
- Revisión detallada del Excel (estructura de carteras, contrapartes, spreads CDS, CSA/netting).
- Construcción del modelo de factores (IR, FX, EQ, Inflación, Crédito) y correlaciones avanzadas.
- Enfoque A – Monte Carlo
- Proxies de valoración por tipo de instrumento.
- Sensibilidades (deltas) por instrumento.
- Simulación conjunta de factores y spreads con wrong‑way explícito.
- Exposición bruta → netting por NettingID → collareralización por CSA → EE y PFE por tenor, contraparte y netting set.
- Enfoque B – Escenarios de Stress
- 6 escenarios extremos plausibles con probabilidad.
- Revaloración, netting, CSA, EE y PFE por tenor, contraparte y netting set.
- Documentación de shocks y analogías históricas.
- Comparación, calibración cruzada y diagnóstico de WWR.
- Exportación de resultados y gráficos.
1. Ficheros y salidas generadas
El cálculo ha producido:
- Excel con todos los resultados detallados (EE y PFE por contraparte y por netting set bajo Monte Carlo y Stress Test, más detalle de escenarios):
- Gráficos interactivos Plotly (estructura temporal de EE/PFE y comparación Monte Carlo vs Stress):
- Gráfico estático agregado de EE medio por tenor (Monte Carlo):
2. Configuración de la cartera y datos revisados
Tras revisar el Excel:
-
Swap Portfolio Advanced
- 1000 operaciones (validado).
- 50 contrapartes (
CounterpartyID1–50). - Campos clave:
NettingID,Principal,Maturity,InstrumentType(IRS, FX Swap, Equity Swap, Inflation Swap, Repo),Currency,Direction,LegRateReceiving,LegRatePaying,LatestFloatingRate,Period. - Se calculó
TimeToMaturityYearsy se convirtieron nocionales a divisa base (USD) mediante tipos spot FX aproximados.
-
CounterpartyMap
- 50 contrapartes con:
Rating,Sector,RecoveryRate,Beta_Credit,Rho_WWR,ISDA_Flag,CSA_Flag,Threshold,MTA,MarginFrequencyDays,CollateralCurrency,risk_level. - Mapeo 1‑a‑1 entre
NettingIDy contraparte (validado).
- 50 contrapartes con:
-
CDS Spreads
- Columnas
cp1…cp50con spreads anuales. - Se usa la primera fila como spread base por contraparte, convertido a decimal (por ejemplo 100 bps → 0.01).
- Columnas
3. Modelo de correlación avanzado y wrong‑way risk
3.1 Factores de mercado y crédito
Se construyeron 5 factores globales:
- IR: tipos de interés.
- FX: tipo de cambio.
- EQ: renta variable.
- INF: inflación.
- CR: factor global de crédito.
Con datos históricos diarios (2015–2025) se estimó:
- Matriz de correlación de factores Corr(IR,FX,EQ,INF,CR).
- Desviaciones típicas (volatilidades) por factor.
Sobre esta base se construyó un copula gaussiana/t de 5 factores, con corrección eigen para asegurar positividad definida y, opcionalmente, heavy tails (t‑copula con 4 grados de libertad).
3.2 Construcción del WWR por contraparte
Para cada contraparte c:
-
Se determinó el factor principal de exposición (IR, FX, EQ, INF) a partir del tipo de instrumentos predominantes.
-
A partir de:
- βcredit (Beta_Credit),
- ρWWRtarget (Rho_WWR),
- ρ(CR,factorprincipal) (de la matriz de correlación),
se calibraron coeficientes (βeff,γadj) y un término idiosincrático tal que:
-
La variable de crédito simulada combina:
- factor global de crédito,
- factor principal de mercado,
- ruido idiosincrático,
-
Y se fuerza que la correlación resultante exposición–spread se aproxime a ρWWRtarget sin violar la condición de varianza total ≤1.
Los spreads se modelan como:
- sc(t)=sc,0exp(σc⋅estado_creˊditoc(t)), con σc función creciente de ∣βeff∣.
Diagnóstico clave de WWR:
- Contraparte con mayor wrong‑way observado en Monte Carlo (3 años):
- ID 24, con ρ(Exposicioˊn,Spread)≈−0.3134.
- El signo negativo implica que, en este setup, se ha interpretado Rho_WWR como correlación exposición–spread; un valor negativo significa que a mayores spreads, menor exposición.
- Asunción importante: tu intención normativa probablemente es que WWR implique correlación positiva entre exposición y deterioro crediticio. Aquí hemos respetado el signo de
Rho_WWRtal como viene en el Excel; si en tu definición regulatoria WWR debe ser positiva, habría que reinterpretar el campo (ver sección 7).
4. Enfoque A – Simulación Monte Carlo
4.1 Especificaciones principales
- Número de paths: 50 000.
- Tenores: 1D, 1W, 1Y, 3Y.
- Base de tiempo: escala t para shocks.
- Simulación de:
- Factores de mercado (IR, FX, EQ, INF, CR).
- Spreads de crédito por contraparte con la estructura descrita arriba.
4.2 Proxies de valoración y sensibilidades
Para cada operación:
- IRS / Inflation swaps
- PV base aproximado: PV0≈Direction⋅NotionalBase⋅T⋅(LegRateReceiving−LatestFloatingRate).
- Delta IR/INF: ΔIR/INF≈Direction⋅NotionalBase⋅T.
- FX swaps
- Delta FX: aproximadamente la nocional convertida a base currency.
- Equity swaps
- Delta EQ: proporcional a la nocional en base currency.
- Repos
- PV en función de ratediff=LegRateReceiving−LegRatePaying.
- Delta IR proporcional a nocional y madurez.
Estas deltas son las “proxies de sensibilidades” requeridas cuando no había sensibilidades explícitas. Se usan para:
- Revalorizar linealmente ante shocks de factores.
- Capturar de forma parsimoniosa el impacto de escenarios extremos y de Monte Carlo.
4.3 Exposición, netting y CSA
Para cada tenor y path:
-
Exposición por trade: Expo_trade=PV0+Δ⋅shockdefactor.
-
Netting por NettingID: suma de PVs firm‑wide → se toma la parte positiva (exposición de la entidad frente a la contraparte).
-
Exposición por contraparte: suma de netting sets de esa contraparte.
-
CSA (cuando CSA_Flag = 1):
- Si el tenor es mayor que
MarginFrequencyDays, se aplica un esquema simplificado: - Se compara exposición con
ThresholdyMTA(Minimum Transfer Amount). - Si la exposición excede ambos, se supone llamada de margen igual al exceso.
- Se reduce exposición resultante por contraparte y, de forma prorrata, en cada netting set.
- Cuando no hay CSA o el tenor es inferior a la frecuencia de margen: exposición bruta neteada.
- Si el tenor es mayor que
-
Se truncan exposiciones negativas a 0 (foco en exposición positiva de la entidad frente a la contraparte).
4.4 Resultados agregados de Monte Carlo (ejemplos)
- Portfolio (suma de todas las contrapartes, tenor 3Y):
| Métrica | Valor aproximado (divisa base) |
|---|---|
| EE3YMC | 22.7 millones |
| PFE99%MC,3Y | 90.8 millones |
Interpretación:
-
La exposición esperada a 3 años es moderada (~22.7 M), pero el percentil 99 de PFE se acerca a 90.8 M.
-
Esto refleja colas relativamente pesadas, en línea con el uso de t‑copula y correlaciones multi‑factor.
-
Cabecera de la tabla EE/PFE por contraparte (Monte Carlo) Para las primeras contrapartes, por ejemplo CP_FIN_01–05, se obtienen:
- EE crecientes con el tenor (1D → 1W → 1Y → 3Y).
- PFEs 97.5 y 99 muy superiores a EE a 1Y y 3Y, evidenciando la asimetría de exposiciones bajo escenarios adversos.
Los detalles completos están en la hoja:
EE_PFE_CP_MonteCarlodel Excel.
5. Enfoque B – Stress Test por escenarios
5.1 Construcción de escenarios
Se definieron 6 escenarios extremos pero plausibles, cada uno con:
- Nombre, probabilidad (normalizada a 1).
- Shocks en unidades de desviación estándar:
ShockStd_IR,ShockStd_FX,ShockStd_EQ,ShockStd_INF,ShockStd_CR. - Descripción económica y análogo histórico (p.ej. 2008, 2013 Taper Tantrum, 2011 crisis euro).
Ejemplos:
- RatesUp_EquityDown_CreditWiden
- IR muy arriba, EQ abajo, CR se amplía.
- Analógico: Taper tantrum 2013 + ensanchamiento crédito.
- RatesDown_EquityCrash_CreditCrisis
- Caída fuerte de tipos, crash de equity, enorme ensanchamiento de crédito (2008‑like).
- Stagflation_RatesUp_InflationUp
- IR e INF suben mucho, EQ cae, spreads se amplían.
Los shocks se escalan por tenor (heurístico de intensidad) mediante un factor específico por tenor (por ejemplo, 3Y con factor 1.4 frente a 1Y).
5.2 Mecánica de cálculo por escenario
Para cada tenor y escenario:
- Aplicar shock multi‑factor (IR, FX, EQ, INF) a través de las deltas de cada trade.
- Recalcular exposición por netting set y contraparte (como en Monte Carlo).
- Aplicar CSA (
Threshold,MTA,MarginFrequencyDays). - Calcular spreads de crédito por contraparte coherentes con el shock de CR y el factor principal, manteniendo la misma estructura de dependencias βeff,γadj.
- Obtener:
- EE por contraparte como esperanza ponderada por las probabilidades de los 6 escenarios.
- PFE 97.5% y 99% a partir de la distribución discreta escenario–probabilidad.
5.3 Resultados agregados de Stress
- Portfolio (3Y, agregando contrapartes):
| Métrica | Valor aproximado (divisa base) |
|---|---|
| EE3YStress | 44.1 millones |
| PFE99%Stress,3Y | 98.4 millones |
Comparado con Monte Carlo (22.7 M y 90.8 M, respectivamente):
- El EE de Stress casi duplica al de Monte Carlo.
- El PFE 99% de Stress es ~8.5% mayor que en Monte Carlo.
Esto es consistente con escenarios diseñados para ser más severos que la distribución diaria histórica, lo cual es deseable desde el punto de vista regulatorio (proporciona colchón conservador).
Los resultados detallados para contrapartes están en:
EE_PFE_CP_StressEE_PFE_Netting_StressScenarios_Detailsdescribe exactamente shocks y analogías.
6. Comparación de enfoques y robustez del modelo
6.1 Comparación Monte Carlo vs Stress por contraparte
En los gráficos interactivos se muestra para una contraparte de alto riesgo:
- Curva de EE y PFE 99% por tenor bajo Monte Carlo vs Stress.
- En general:
- A corto plazo (1D–1W), las diferencias son modestas.
- A largo plazo (1Y–3Y), los escenarios de Stress producen PFEs más altos, coherente con shocks de cola más persistentes.
El tercer gráfico compara PFE 99% para las 5 contrapartes de mayor risk_level:
- Para varias, el Stress Test domina (PFE más alto); en otras, Monte Carlo y Stress son similares, indicando que los shocks están razonablemente alineados con la dinámica simulada.
- Esto se puede usar para calibrar mejor las volatilidades y correlaciones: si quieres que el modelo MC reproduzca con más precisión un conjunto de escenarios regulatorios concretos, se podrían ajustar σ y la matriz de correlación hasta que las curvas de PFE confluyan.
6.2 Correlación exposición–spread (diagnóstico de WWR)
Se calculó, vía Monte Carlo, la correlación entre:
- Exposición por contraparte a 3 años.
- Spread de crédito correspondiente.
Resultados:
- Número de contrapartes: 50.
- La más “wrong‑way” en el sentido observado (correlación más negativa) es la CP 24 con ρ≈−0.31.
Comentario crítico de modelo:
- Si la intención regulatoria es que “general WWR” implique que cuando el spread sube (peor crédito) la exposición sube, deberíamos esperar correlaciones positivas en contrapartes con WWR.
- Dado que muchos
Rho_WWRen tu input pueden ser negativos, el modelo ha respetado ese signo; puede que tu campo represente “correlación esperada entre crédito y factor de mercado”, no necesariamente entre crédito y exposición neta. - Recomendación: validar semánticamente
Rho_WWRcon tu documentación interna, y, si procede, re‑mapearlo para que el modelo genere correlaciones exposición–spread con el signo deseado.
7. Evaluación regulatoria y limitaciones
7.1 Fortalezas del enfoque implementado
- CCR y WWR integrados:
- Simulación conjunta de factores de mercado y crédito con copula multi‑factor (IR, FX, EQ, INF, CR).
- Dependencia explícita exposición–calidad crediticia por contraparte.
- Netting y CSA:
- Neteo por
NettingIDestricto (1 contraparte por netting set). - CSA con
Threshold,MTA,MarginFrequencyDays, aplicado tanto a nivel de contraparte como re‑asignado a netting sets.
- Neteo por
- Dos enfoques complementarios:
- Enfoque A: distribución completa (MC) → PFE/EE por tenor, idóneo para backtesting y monitorización diaria.
- Enfoque B: escenarios extremos pero plausibles → comparables con frameworks regulatorios de stress.
- Proxies de sensibilidad:
- Se generaron deltas por operación allí donde no había datos de riesgo explícitos.
En conjunto, el modelo cumple conceptualmente con los requerimientos regulatorios de:
- Medir y controlar el General WWR en CCR.
- Incluir adecuadamente netting y CSA.
- Evaluar precisión, estabilidad y robustez bajo dos enfoques metodológicos.
7.2 Limitaciones y simplificaciones
- Valoración lineal (delta‑only):
- No se han incluido vegas, gammas ni efectos de convexidad.
- Bajo escenarios muy extremos, la linealidad puede sub‑estimar o sobre‑stimar la verdadera exposición.
- Datos de mercado proxy (yfinance):
- Se usan proxies globales (p.ej. índices IRS, FX, EQ), no curvas específicas por divisa/tenor.
- Crédito sin modelo completo de default/CVA:
- El foco es la co‑movilidad exposición–spread, no la pérdida esperada (EL) ni CVA regulatorio completo.
- Interpretación de Rho_WWR:
- Como se ha comentado, el signo de
Rho_WWRpuede requerir revisión conceptual para alinear el modelo con tu definición de WWR.
- Como se ha comentado, el signo de
8. Recomendaciones y próximos pasos
-
Validar la semántica de
Rho_WWR- Confirmar si representa:
- correlación entre spread y factor de mercado, o
- correlación entre exposición y crédito.
- Ajustar el mapeo en el modelo para que la correlación exposición–spread refleje lo que exige tu política de WWR.
-
Calibración fina Monte Carlo vs Stress
- Usar las hojas
EE_PFE_CP_MonteCarloyEE_PFE_CP_Stresspara: - Identificar contrapartes donde Stress >> MC.
- Ajustar (por sector/rating) las volatilidades y la matriz de correlación para aproximar el perfil de Stress.
- Usar las hojas
-
Extender sensibilidades
- Si dispones de sensitivities más detalladas (delta/vega por curva, bucket de FX, etc.), se pueden reemplazar las proxies actuales y:
- Mejorar la precisión del PFE por tenor,
- Reducir el error bajo escenarios muy no lineales.
-
Integrar el framework en tu governance
- Incorporar:
- Límites de PFE/EE por contraparte y netting set,
- Indicadores de WWR (correlación exposición–spread) como KRI,
- Reportes periódicos con los gráficos ya generados (HTML) y el Excel.
9. Si quieres refinar el modelo
Puedo, en una siguiente iteración, por ejemplo:
- Ajustar el modelo para que Rho_WWR implique explícitamente correlación positiva exposición–spread.
- Incorporar escenarios regulatorios específicos (p.ej. de tu supervisor) y recalibrar la copula para reproducir sus PFEs.
- Añadir descomposición de riesgo por instrumento/tenor o desglose por sector/país.
Si me indicas tu convención exacta de Rho_WWR y tu nivel de confianza deseado para PFE (97.5 vs 99), adapto el framework a tus estándares internos.

