Популярна стратегія на основі автокореляції
Одна з дивних аномалій на ринку акцій полягає в тому, що інвестори схильні надмірно реагувати на новини. Після великих стрибків, вгору або вниз, ціни на акції мають тенденцію розвертатися. Це називають поверненням до середнього в цінах акцій: після значних рухів ціни зазвичай відскакують і повертаються до попередніх рівнів, що спостерігається на горизонтах близько тижня. Більш математично це можна описати як негативну автокореляцію доходностей акцій.
Ця проста ідея лежить в основі популярної стратегії хедж-фондів. Якщо вам цікаво дізнатися більше про цю стратегію (це не обов'язково для подальших частин курсу), перегляньте тут.
Ви розглянете автокореляцію тижневих доходностей акцій MSFT за 2012–2017 роки. Ви почнете з датафрейму MSFT із щоденними цінами. Скористайтеся методом .resample(), щоб отримати тижневі ціни, а потім обчисліть доходності з цін. Використайте метод pandas .autocorr(), щоб знайти автокореляцію, і покажіть, що вона від'ємна. Зверніть увагу: метод .autocorr() працює лише для Series, а не для DataFrame (навіть якщо в ньому один стовпець), тож потрібно вибрати відповідний стовпець у датафреймі.
Ця вправа є частиною курсу
Аналіз часових рядів у Python
Інструкції до вправи
- Використайте метод
.resample()зrule='W', а потім функцію.last(), щоб перетворити щоденні дані на тижневі. - Створіть новий датафрейм
returnsіз відсотковими змінами тижневих цін за допомогою методу.pct_change(). - Обчисліть автокореляцію методом
.autocorr()для ряду цін закриття акцій — це стовпець'Adj Close'у датафрейміreturns.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))