De financiële crisis opdelen
In de video zag je de efficiënte frontier voor de portefeuille van investmentbanken over de volledige periode 2005 - 2010, dus vóór, tijdens en na de mondiale financiële crisis.
Hier deel je deze periode op in drie subperiodes, of epochs: 2005-2006 (before), 2007-2008 (during) en 2009-2010 (after). Voor elke periode bereken je de efficiënte covariantiematrix en vergelijk je die met de andere.
De prices van de portefeuille voor 2005 - 2010 staan klaar in je werkruimte, net als het CovarianceShrinkage-object uit PyPortfolioOpt.
Deze oefening maakt deel uit van de cursus
Kwantitatief risicobeheer in Python
Oefeninstructies
- Maak een dictionary
epochs: de keys zijn de subperiodes en de waarden zijn dictionaries met 'start'- en 'end'-datums. - Stel voor elke subperiode-key in
epochssub_pricein op het bereik vanpricesvoor die subperiode. - Gebruik
sub_priceen hetCovarianceShrinkage-object om voor elke subperiode een efficiënte covariantiematrix te bepalen. - Print en vergelijk de resulterende efficiënte covariantiematrices voor alle drie de subperiodes.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)