Популярная стратегия на основе автокорреляции
Одна из любопытных аномалий фондового рынка состоит в том, что инвесторы склонны остро реагировать на новости. После резких скачков цен — как вверх, так и вниз — акции, как правило, откатываются обратно. Это явление называется возвратом к среднему: цены стремятся вернуться к прежним уровням после значительных движений, наблюдаемых на горизонте около недели. Математически возврат к среднему описывается как отрицательная автокорреляция доходностей акций.
Эта простая идея лежит в основе популярной стратегии хедж-фондов. Если вам интересно узнать о ней подробнее (хотя это и не является обязательным материалом для дальнейшего курса), ознакомьтесь с этой статьёй.
Вы рассмотрите автокорреляцию недельной доходности акций MSFT за период с 2012 по 2017 год. Исходные данные — DataFrame MSFT с дневными ценами. Используйте метод .resample(), чтобы получить недельные цены, а затем вычислите доходности на их основе. Примените метод .autocorr() из pandas, чтобы вычислить автокорреляцию и убедиться, что она отрицательна. Обратите внимание: метод .autocorr() работает только с объектами Series, а не с DataFrame (даже одностолбцовыми), поэтому вам нужно будет явно выбрать нужный столбец.
Это упражнение является частью курса
Анализ временных рядов на Python
Инструкции к упражнению
- Используйте метод
.resample()с параметромrule='W', а затем функцию.last(), чтобы преобразовать дневные данные в недельные. - Создайте новый DataFrame
returnsс процентными изменениями недельных цен, используя метод.pct_change(). - Вычислите автокорреляцию с помощью метода
.autocorr(), применив его к ряду цен закрытия — это столбец'Adj Close'в DataFramereturns.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Convert the daily data to weekly data
MSFT = MSFT.resample(___).___
# Compute the percentage change of prices
returns = MSFT.___
# Compute and print the autocorrelation of returns
autocorrelation = returns[___].___
print("The autocorrelation of weekly returns is %4.2f" %(autocorrelation))