ComenzarEmpieza gratis

La frontera eficiente y la crisis financiera

Anteriormente examinaste la matriz de covarianza del portafolio del banco de inversión antes, durante y después de la crisis financiera. Ahora visualizarás los cambios que se produjeron en la frontera eficiente, mostrando cómo la crisis creó un riesgo inicial mucho mayor para cualquier rentabilidad dada.

Utilizando el objeto Algoritmo de línea crítica (CLA) de la biblioteca PyPortfolioOpt pypfopt, derivarás y visualizarás la frontera eficiente durante el periodo de crisis, y la añadirás a un diagrama de dispersión que ya muestra las fronteras eficientes antes y después de la crisis.

Las rentabilidades esperadas returns_during y la matriz de covarianza eficiente ecov_during están disponibles, igual que el objeto CLA de pypfopt. (Recuerda que los diagramas de DataCamp pueden ampliarse en su propia ventana, lo que puede aumentar la legibilidad).

Este ejercicio forma parte del curso

Gestión cuantitativa de riesgos en Python

Ver curso

Instrucciones de ejercicio

  • Crea el objeto Algoritmo de línea crítica (CLA) efficient_portfolio_during, utilizando las rentabilidades esperadas y la covarianza eficiente de las rentabilidades.
  • Imprime el portafolio de varianza mínima de efficient_portfolio_during.
  • Calcula la frontera eficiente de efficient_portfolio_during.
  • Añade los resultados de la frontera eficiente a los diagramas de dispersión ya mostrados de las fronteras eficientes de antes y después de la crisis.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Initialize the Crtical Line Algorithm object
efficient_portfolio_during = CLA(____, ecov_during)

# Find the minimum volatility portfolio weights and display them
print(efficient_portfolio_during.____)

# Compute the efficient frontier
(ret, vol, weights) = efficient_portfolio_during.____

# Add the frontier to the plot showing the 'before' and 'after' frontiers
plt.scatter(vol, ____, s = 4, c = 'g', marker = '.', label = 'During')
plt.legend()
plt.show()
Editar y ejecutar código