ComeçarComece gratuitamente

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

Ver Curso

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, defina sub_price como o intervalo de prices para esse subperíodo.
  • Use o site sub_price e o objeto CovarianceShrinkage 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)
Editar e executar código