1. Visión General
El módulo de Cash-Flow-at-Risk (CFaR) del Dashboard FX Risk calcula el ratio óptimo de cobertura h* que un importador o exportador necesita contratar en forwards para mantener su flujo de caja dentro de una tolerancia de pérdida definida por el usuario, dada la distribución de probabilidad del tipo de cambio a futuro.
El pipeline completo fluye así:
2. Inputs del Motor Analítico
El CFaR no ejecuta simulaciones MC independientes. Consume directamente las salidas del motor analítico log-normal descrito en la Metodología General (sección 6). Los inputs relevantes son:
| Parámetro | Fuente | Descripción |
|---|---|---|
| σ̂HAR | Modelo HAR-YZ OOS | Forecast de volatilidad anualizado. Fuente primaria de riesgo. Se convierte a horizonte: σH = σ̂HAR / √252 × √H |
| F(H) | FRED (CIP) | Forward teórico por paridad cubierta: F = S × exp((rq − rb) × H/252). Tasas interbancarias: SOFR, ESTR, SONIA, TIIE. |
| κ̂ | Log-returns T-1 | Exceso de curtosis muestral. Alimenta el ajuste Cornish-Fisher para colas pesadas. |
| S0 | Precio spot | Último cierre observado (T-1 lagged). |
| P5, P95 | Motor analítico | Percentiles Cornish-Fisher ajustados de la distribución log-normal centrada en F(H). |
2.1 Qué NO entra en el cálculo
| Componente | Rol |
|---|---|
| Régimen (stress/normal/complacent) | Informativo. No multiplica ni modifica h*. |
| Señal Z-Score | Informativo. Contexto direccional, no entra en la fórmula. |
| P(up) / P(down) | Informativo. Se muestra al usuario pero no participa en h*. |
3. Percentiles Cornish-Fisher
La distribución de precios futuros se modela como log-normal centrada en el forward CIP. Los cuantiles se ajustan por curtosis mediante la expansión de Cornish-Fisher:
Percentiles calculados para cada horizonte (21d, 63d, 126d):
| Percentil | z normal | Uso en CFaR |
|---|---|---|
| P5 | −1.645 | Peor caso exportador (spot baja) |
| P15 | −1.04 | TC referencia exportador |
| P25 | −0.674 | Banda inferior 50% |
| Mediana | 0 | Forward center F(H) |
| P75 | +0.674 | Banda superior 50% |
| P85 | +1.04 | TC referencia importador |
| P95 | +1.645 | Peor caso importador (spot sube) |
4. Fórmula Analítica de h*
4.1 Intuición
Un tesorero que cubre una fracción h de su nominal con un forward obtiene un tipo efectivo que es la mezcla lineal entre el forward contratado y el spot futuro:
En el peor escenario (P95 para importador, P5 para exportador), queremos que esa mezcla no supere el umbral de tolerancia del usuario.
4.2 Inputs del usuario
| Parámetro | Descripción | Ejemplo |
|---|---|---|
| TC contable | Tipo presupuestado o contable del usuario | 1.1808 |
| Pérdida máxima (%) | Tolerancia de desviación sobre TC contable | 3% |
| Perspectiva | Cobrador (importador) o Pagador (exportador) | Cobrador |
| Nominal | Monto de la operación | $100K USD |
4.3 Cálculo del umbral
Exportador: threshold = TCcontable × (1 − maxLoss%)
4.4 Derivación de h*
Importador (cobrador — compra divisa, riesgo: spot sube):
El peor caso es P95. Necesitamos:
Resolviendo para h:
Exportador (pagador — recibe divisa, riesgo: spot baja):
El peor caso es P5. Necesitamos:
Resolviendo para h:
En ambos casos, h* se acota al rango [0, 1].
4.5 Verificación de alcanzabilidad
Si ni siquiera cubriendo el 100% se alcanza el threshold (porque el propio forward ya supera la tolerancia), el sistema marca el resultado como no alcanzable:
Exportador: alcanzable = F ≥ threshold
5. Ejemplo Numérico
Cobrador (importador) EUR/USD — 3 meses
Datos: Spot = 1.1800, Forward 63d = 1.1851, P95 = 1.2200, TC contable = 1.1800, Tolerancia = 3%
Paso 1 — Threshold: 1.1800 × (1 + 0.03) = 1.2154
Paso 2 — P95 vs threshold: 1.2200 > 1.2154 ⇒ cobertura necesaria
Paso 3 — h*: (1.2200 − 1.2154) / (1.2200 − 1.1851) = 0.0046 / 0.0349 = 13.2%
Paso 4 — Verificar: 0.132 × 1.1851 + 0.868 × 1.2200 = 1.2154 ≈ threshold ✓
Paso 5 — Coste: ((1.1851 − 1.1800) / 1.1800) × 100 = +0.43% premium
Resultado: Forward del 13% del nominal ($13.2K de $100K) al 1.1851. Incluso en el escenario P95, el TC efectivo no supera 1.2154.
6. Tabla de Escenarios
Para cada horizonte, el sistema genera una tabla de sensibilidad con niveles de cobertura estándar (0%, 25%, 50%, 75%, 100%) más el h* óptimo:
| h | TC peor caso | TC esperado | TC mejor caso |
|---|---|---|---|
| 0% | P95 (sin protección) | Mediana | P5 |
| 25% | 0.25F + 0.75·P95 | 0.25F + 0.75·Med | 0.25F + 0.75·P5 |
| 50% | 0.50F + 0.50·P95 | 0.50F + 0.50·Med | 0.50F + 0.50·P5 |
| 75% | 0.75F + 0.25·P95 | 0.75F + 0.25·Med | 0.75F + 0.25·P5 |
| 100% | F (certeza total) | F | F |
| h* | ≈ threshold | h*·F + (1-h*)·Med | h*·F + (1-h*)·P5 |
La propiedad clave de h* es que su peor caso coincide exactamente con el threshold. Cualquier h < h* viola la tolerancia; cualquier h > h* es cobertura superior a la necesaria (mayor coste de oportunidad).
7. Semántica de Perspectivas
| Término | Perspectiva | Riesgo | Cola peor caso | Threshold |
|---|---|---|---|---|
| Cobrador (importador) | imp | Spot sube | P95 (precio alto) | TC × (1 + loss%) |
| Pagador (exportador) | exp | Spot baja | P5 (precio bajo) | TC × (1 − loss%) |
8. Mark-to-Market
El módulo MtM evalúa la posición actual del spot respecto al TC contable del usuario:
P&L = nominal × |S0 − TCcontable| / S0
Semáforo MtM:
| |desviación| | Color | Interpretación |
|---|---|---|
| < 0.1% | Verde | Posición neutra, spot alineado con TC contable |
| 0.1% – 2% | Verde | Desviación menor, ganancia/pérdida manejable |
| 2% – 5% | Amarillo | Desviación significativa, atención recomendada |
| > 5% | Rojo | Desviación crítica, acción urgente |
9. Análisis Break-Even
Para horizontes donde h* = 0 (no se necesita cobertura aún), el sistema calcula el nivel de spot a partir del cual la cobertura se activaría:
Esto permite al tesorero monitorear: “si el spot se mueve hasta X, mi h* dejará de ser cero”.
10. Coste del Forward
Un coste positivo indica premium (forward más caro que spot). Un coste negativo indica discount. Este coste se muestra junto al h* para que el tesorero valore si el coste de la cobertura es razonable vs el riesgo eliminado.
11. Análisis Narrativo Automático
El sistema genera un análisis en lenguaje natural estructurado en dos preguntas:
11.1 “¿Cuánto estoy perdiendo ya?”
Evalúa la desviación actual del spot respecto al TC contable: dirección, porcentaje y P&L nominal.
11.2 “¿Cuánto cubro para no perder más del X%?”
Resume el h* por horizonte con nominal a cubrir y tasa forward. Incluye niveles de urgencia:
| h* | Urgencia | Acción recomendada |
|---|---|---|
| ≥ 70% | Alta | Forward inmediato. Considerar 60% ahora + 40% en 30d. |
| 30% – 70% | Media | Cobertura significativa. Ejecutar con urgencia media. |
| < 30% | Baja | Cobertura parcial 25–50% recomendada. |
| 0% | Ninguna | Sin cobertura CFaR necesaria en este horizonte. |
12. Resumen de Fórmulas
| Componente | Fórmula |
|---|---|
| Volatilidad horizonte | σH = σdaily × √H |
| Centro distribución | F(H) = S × exp((rq − rb) × H/252) |
| Ajuste Cornish-Fisher | z* = z + (z³ − 3z) · κ̂ / 24 |
| Tail rate | P95 (imp) o P5 (exp) = F(H) × exp(z* × σH) |
| Threshold | TCcontable × (1 ± maxLoss%) |
| h* importador | (P95 − threshold) / (P95 − F) |
| h* exportador | (threshold − P5) / (F − P5) |
| TC efectivo | h × F + (1 − h) × ST |
| Coste forward | ((F − S0) / S0) × 100% |
13. Garantías de Integridad
- Anti look-ahead: Log-returns, κ̂, y todos los estadísticos usan datos hasta T-1 exclusivamente.
- Cornish-Fisher consistente: Los percentiles se calculan una sola vez en backend (Python) y se consumen en frontend (JavaScript) sin recomputación.
- Perspectiva consistente: Cobrador/Pagador → imp/exp mapea correctamente a P95/P5 y dirección del threshold.
- Sin dependencias circulares: Backend produce mcResults → Frontend consume analíticamente. Sin feedback loop.
- Solución cerrada: h* es analítico (no iterativo). Reproducible y determinista para los mismos inputs.
Referencias
- Corsi, F. (2009). A simple approximate long-memory model of realized volatility. Journal of Financial Econometrics, 7(2), 174–196.
- Yang, D., & Zhang, Q. (2000). Drift-independent volatility estimation based on high, low, open, and close prices. Journal of Business, 73(3), 477–491.
- Cornish, E.A., & Fisher, R.A. (1938). Moments and cumulants in the specification of distributions. Revue de l'Institut International de Statistique, 5(4), 307–320.
- Stulz, R.M. (1996). Rethinking Risk Management. Journal of Applied Corporate Finance, 9(3), 8–25.
- Stein, J.C., Usher, S.E., LaGattuta, D., & Youngen, J. (2001). A comparables approach to measuring Cashflow-at-Risk for non-financial firms. Journal of Applied Corporate Finance, 13(4), 100–109.