Анализ финансового кризиса по периодам
В видео вы видели эффективную границу для портфеля инвестиционных банков за весь период 2005–2010 гг., который охватывает время до, во время и после мирового финансового кризиса.
Здесь вы разобьёте этот период на три подпериода, или epochs: 2005–2006 гг. (до кризиса), 2007–2008 гг. (во время кризиса) и 2009–2010 гг. (после кризиса). Для каждого периода вы вычислите эффективную ковариационную матрицу и сравните их между собой.
Данные 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)