CommencezCommencez gratuitement

La frontière efficiente et la crise financière

Vous avez déjà 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 survenus dans la frontière efficiente, afin de montrer comment la crise a créé un niveau de risque de base beaucoup 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 fournis, tout comme l'objet CLA de pypfopt. (Rappel : les graphiques DataCamp peuvent être ouverts dans leur propre fenêtre pour en améliorer la lisibilité.)

Cette activité fait partie du cours

Gestion quantitative des risques en Python

Voir le cours

Instructions de l’exercice

  • Créez l'objet de critical line algorithm (CLA) efficient_portfolio_during en utilisant les rendements attendus et la covariance efficiente des rendements.
  • Affichez le portefeuille à 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 ce code d’exemple.

# 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