Décomposer la crise financière
Dans la vidéo, vous avez vu la frontière efficiente pour le portefeuille des banques d'investissement sur toute la période 2005 - 2010, qui couvre l'avant, le pendant et l'après-crise financière mondiale.
Ici, vous allez scinder cette période en trois sous-périodes, ou epochs : 2005-2006 (before), 2007-2008 (during) et 2009-2010 (after). Pour chaque période, vous calculerez la matrice de covariance efficiente, puis vous les comparerez entre elles.
Le prices du portefeuille pour 2005 - 2010 est disponible dans votre espace de travail, tout comme l'objet CovarianceShrinkage de PyPortfolioOpt.
Cette activité fait partie du cours
Gestion quantitative des risques en Python
Instructions de l’exercice
- Créez un dictionnaire
epochs: ses clés sont les sous-périodes, et ses valeurs sont des dictionnaires avec les dates de '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 ce code d’exemple.
# 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)