CVaR y selección de cobertura de pérdidas
En ejercicios anteriores has visto que tanto la distribución T como la KDE gaussiana ajustan bastante bien las pérdidas de portafolio del periodo de crisis. Teniendo esto en cuenta, ¿cuál de ellas es la mejor para la gestión de riesgos? Una forma de elegir es seleccionar la distribución que proporcione la mayor cobertura de pérdidas, para cubrir el "peor escenario" de pérdidas.
Las distribuciones t
y kde
están disponibles y se han ajustado a las losses
del portafolio de 2007-2008 (los parámetros ajustados t
están en p
). Derivarás la estimación del CVaR al 99 % de un día para cada distribución; la mayor estimación del CVaR es la cantidad de reserva "más segura", que cubre las pérdidas esperadas que superen el VaR al 99 %.
A la instancia kde
se le ha dado un método especial .expect()
, solo para este ejercicio, para calcular el valor esperado necesario para el CVaR.
Este ejercicio forma parte del curso
Gestión cuantitativa de riesgos en Python
Instrucciones de ejercicio
- Halla el VaR del 99 % utilizando
np.quantile()
aplicado a muestras aleatorias de las distribucionest
ykde
. - Calcula la integral necesaria para las estimaciones de CVaR utilizando el método
.expect()
para cada distribución. - Halla y muestra las estimaciones del CVaR al 99 % para ambas distribuciones.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Find the VaR as a quantile of random samples from the distributions
VaR_99_T = np.quantile(t.rvs(size=1000, *p), ____)
VaR_99_KDE = np.quantile(kde.resample(size=1000), ____)
# Find the expected tail losses, with lower bounds given by the VaR measures
integral_T = t.____(lambda x: x, args = (p[0],), loc = p[1], scale = p[2], lb = ____)
integral_KDE = kde.____(lambda x: x, lb = ____)
# Create the 99% CVaR estimates
CVaR_99_T = (1 / (1 - ____)) * integral_T
CVaR_99_KDE = (1 / (1 - ____)) * integral_KDE
# Display the results
print("99% CVaR for T: ", CVaR_99_T, "; 99% CVaR for KDE: ", CVaR_99_KDE)