ПочатиПочніть безкоштовно

Розбираємо фінансову кризу на періоди

У відео ви бачили ефективну межу для портфеля інвестиційних банків за весь період 2005–2010, який охоплює час до, під час і після світової фінансової кризи.

Тут ви розіб'єте цей період на три підперіоди, або epochs: 2005–2006 (before), 2007–2008 (during) та 2009–2010 (after). Для кожного періоду ви обчислите ефективну коваріаційну матрицю та порівняєте їх між собою.

prices портфеля за 2005–2010 доступні у вашому робочому середовищі, так само як і об'єкт CovarianceShrinkage з PyPortfolioOpt.

Ця вправа є частиною курсу

Кількісне управління ризиками в Python

Переглянути курс

Інструкції до вправи

  • Створіть словник epochs: його ключі — це підперіоди, а значення — словники з датами 'start' і 'end'.
  • Для кожного ключа підперіоду в epochs задайте sub_price як діапазон prices для цього підперіоду.
  • Використайте sub_price та об'єкт CovarianceShrinkage, щоб знайти ефективну коваріаційну матрицю для кожного підперіоду.
  • Виведіть і порівняйте отримані ефективні коваріаційні матриці для всіх трьох підперіодів.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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)
Редагувати та запускати код