Detalhando a crise financeira
No vídeo, você viu a fronteira eficiente para o portfólio de bancos de investimento ao longo de todo o período 2005 - 2010, que inclui o tempo antes, durante e depois da crise financeira global.
Aqui, você vai dividir esse período em três subperíodos, ou epochs: 2005-2006 (before), 2007-2008 (during) e 2009-2010 (after). Para cada período, você calculará a matriz de covariância eficiente e as comparará entre si.
Os prices do portfólio para 2005 - 2010 estão disponíveis no seu ambiente de trabalho, assim como o objeto CovarianceShrinkage do PyPortfolioOpt.
Este exercício faz parte do curso
Gerenciamento Quantitativo de Risco em Python
Instruções do exercício
- Crie um dicionário
epochs: suas keys são os subperíodos e seus values são dicionários com datas de 'start' e 'end'. - Para cada chave de subperíodo em
epochs, definasub_pricecomo o intervalo depricescorrespondente a esse subperíodo. - Use
sub_pricee o objetoCovarianceShrinkagepara encontrar uma matriz de covariância eficiente para cada subperíodo. - Imprima e compare as matrizes de covariância eficientes resultantes para os três subperíodos.
Exercício interativo prático
Experimente este exercício completando 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)