ComenzarEmpieza gratis

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

Ver curso

Instrucciones de ejercicio

  • Importa la clase EfficientCVaR de pypfopt.efficient_frontier.
  • Crea la instancia de clase de EfficientCVaR ec utilizando returns; ten en cuenta que no necesitas expected_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() de ec.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este 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)
Editar y ejecutar código