Décomposer la crise financière
Dans la vidéo, vous avez vu la frontière efficiente du portefeuille de banques d’investissement sur l’ensemble de la période 2005 - 2010, qui inclut l’avant, le pendant et l’après de la crise financière mondiale.
Ici, vous allez décomposer cette période en trois sous‑périodes, ou epochs : 2005-2006 (avant), 2007-2008 (pendant) et 2009-2010 (après). Pour chaque période, vous calculerez la matrice de covariance efficiente et les comparerez entre elles.
Les prices du portefeuille pour 2005 - 2010 sont disponibles dans votre espace de travail, tout comme l’objet CovarianceShrinkage de PyPortfolioOpt.
Cet exercice fait partie du cours
Gestion quantitative des risques en Python
Instructions
- Créez un dictionnaire
epochs: ses clés sont les sous‑périodes, et ses valeurs sont des dictionnaires de dates 'start' et 'end'. - Pour chacune des clés de sous‑période dans
epochs, définissezsub_pricecomme l’intervalle depricescorrespondant à cette sous‑période. - Utilisez
sub_priceet l’objetCovarianceShrinkagepour obtenir une matrice de covariance efficiente pour chaque sous‑période. - Affichez et comparez les matrices de covariance efficientes obtenues pour les trois sous‑périodes.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create a dictionary of time periods (or 'epochs')
epochs = { 'before' : {'start': '1-1-2005', 'end': '31-12-2006'},
'during' : {____: '1-1-2007', 'end': '31-12-2008'},
'after' : {'start': '1-1-2009', ____: '31-12-2010'}
}
# Compute the efficient covariance for each epoch
e_cov = {}
for x in epochs.keys():
sub_price = prices.loc[epochs[x][____]:____[x]['end']]
e_cov[x] = CovarianceShrinkage(____).ledoit_wolf()
# Display the efficient covariance matrices for all epochs
print("Efficient Covariance Matrices\n", e_cov)