Desmembrando a crise financeira
No vídeo, você viu a fronteira eficiente da carteira de bancos de investimento durante todo o período de 2005 a 2010, que inclui o tempo antes, durante e depois da crise financeira global.
Aqui você dividirá esse período em três subperíodos, ou epochs
: 2005-2006(antes), 2007-2008(durante) e 2009-2010(depois). Para cada período, você calculará a matriz de covariância eficiente e as comparará entre si.
O site prices
do portfólio de 2005 a 2010 está disponível em seu espaço de trabalho, assim como o objeto CovarianceShrinkage
do PyPortfolioOpt.
Este exercício faz parte do curso
Gerenciamento quantitativo de riscos em Python
Instruções de exercício
- Crie um dicionário
epochs
: suas chaves são os subperíodos e seus valores são dicionários de datas de "início" e "fim". - Para cada uma das chaves de subperíodo em
epochs
, definasub_price
como o intervalo deprices
para esse subperíodo. - Use o site
sub_price
e o objetoCovarianceShrinkage
para encontrar uma matriz de covariância eficiente para cada subperíodo. - Imprima e compare as matrizes de covariância eficientes resultantes para todos os três subperíodos.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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)