НачатьНачать бесплатно

Волатильность и структурные разрывы

Визуализация изменений волатильности помогает выявить возможные точки структурного разрыва в временных рядах. Определив моменты изменения волатильности, можно осознанно выбрать точку разрыва и использовать её для дальнейшего статистического анализа (например, теста Чоу).

Вы изучите две визуализации волатильности портфеля инвестиционного банка за 2008–2009 годы для двух наборов весов: weights_with_citi и weights_without_citi. Они соответствуют равновзвешенным портфелям с включением Citibank и без него. Как вы видели в главе 1, Citibank демонстрировал наибольшую волатильность среди четырёх активов за рассматриваемый период.

Цены портфеля за 2008–2009 годы с включением Citibank доступны как prices_with_citi, а без него — как prices_without_citi.

Это упражнение является частью курса

Количественное управление рисками на Python

Посмотреть курс

Инструкции к упражнению

  • Найдите ряды доходностей для двух портфелей, используя weights_with_citi и weights_without_citi.
  • Вычислите скользящие стандартные отклонения с окном 30 дней для обоих портфелей.
  • Объедините оба объекта Series типа Pandas в единый объект DataFrame с именем "vol".
  • Постройте график содержимого объекта vol, чтобы сравнить волатильность двух портфелей во времени.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Find the time series of returns with and without Citibank
ret_with_citi = prices_with_citi.____.dot(weights_with_citi)
ret_without_citi = prices_without_citi.pct_change().____(____)

# Find the average 30-day rolling window volatility as the standard deviation
vol_with_citi = ret_with_citi.____.std().dropna().rename("With Citi")
vol_without_citi = ret_without_citi.rolling(30).____.dropna().rename("Without Citi")

# Combine two volatilities into one Pandas DataFrame
vol = pd.concat([____, ____], axis=1)

# Plot volatilities over time
vol.____().set_ylabel("Losses")
plt.show()
Редактировать и запускать код