Minimización del CVaR
Este ejercicio te permitirá practicar con las herramientas de PyPortfolioOpt para minimizar el CVaR como objetivo de gestión del riesgo.
Cargarás el módulo pypfopt.efficient_frontier y recuperarás la clase EfficientCVaR, creando una instancia de la clase utilizando los activos de los bancos de inversión durante el periodo 2005-2010.
A continuación, utilizarás el método min_cvar() de la instancia para buscar los pesos óptimos del portafolio que minimicen el CVaR.
Las rentabilidades de los activos del portafolio están en el vector returns: este ejercicio también utiliza un diccionario names para asignar los pesos del portafolio a los nombres de los bancos.
Este ejercicio forma parte del curso
Gestión cuantitativa de riesgos en Python
Instrucciones del ejercicio
- Importa la clase 
EfficientCVaRdepypfopt.efficient_frontier. - Crea la instancia de clase de 
EfficientCVaRecutilizandoreturns; ten en cuenta que no necesitasexpected_returns, ya que la función objetivo es diferente de la optimización de la varianza media. - Busca y visualiza el portafolio óptimo utilizando el método 
.min_cvar()deec. 
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Import the EfficientCVaR class
from pypfopt.____ import EfficientCVaR
# Create the efficient frontier for CVaR minimization
ec = ____(None, ____)
# Find the cVaR-minimizing portfolio weights at the default 95% confidence level
optimal_weights = ec.____()
# Map the values in optimal_weights to the bank names
optimal_weights = { names[i] : optimal_weights[i] for i in optimal_weights}
# Display the optimal weights
print(optimal_weights)