CommencerCommencer gratuitement

La frontière efficiente et la crise financière

Vous avez précédemment examiné la matrice de covariance du portefeuille des banques d’investissement avant, pendant et après la crise financière. Vous allez maintenant visualiser les changements qui ont eu lieu au niveau de la frontière efficiente, pour montrer comment la crise a créé un niveau de risque de base bien plus élevé pour n’importe quel rendement donné.

À l’aide de l’objet Critical Line Algorithm (CLA) de la bibliothèque PyPortfolioOpt pypfopt, vous allez dériver et visualiser la frontière efficiente pendant la période de crise, puis l’ajouter à un nuage de points qui affiche déjà les frontières efficientes avant et après la crise.

Les rendements attendus returns_during et la matrice de covariance efficiente ecov_during sont disponibles, tout comme l’objet CLA de pypfopt. (N’oubliez pas que les graphiques DataCamp peuvent être agrandis dans leur propre fenêtre, ce qui améliore la lisibilité.)

Cet exercice fait partie du cours

Gestion quantitative des risques en Python

Afficher le cours

Instructions

  • Créez l’objet du Critical Line Algorithm (CLA) efficient_portfolio_during, en utilisant les rendements attendus et la covariance efficiente des rendements.
  • Affichez le portefeuille de variance minimale de efficient_portfolio_during.
  • Calculez la frontière efficiente de efficient_portfolio_during.
  • Ajoutez les résultats de la frontière efficiente aux nuages de points déjà affichés des frontières efficientes d’avant et d’après la crise.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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()
Modifier et exécuter le code