Застосування моделі MA
Коливання ціни акції між цінами попиту та пропозиції спричиняє негативну автокореляцію першого порядку, але відсутність автокореляцій на лагах, більших за 1. Такий самий вигляд ACF має й модель MA(1). Тому ви пристосуєте модель MA(1) до внутрішньоденних даних про акції з попередньої вправи.
Перший крок — обчислити помінутні доходності з цін у intraday і побудувати автокореляційну функцію. Ви маєте побачити, що ACF виглядає як для процесу MA(1). Потім пристосуйте дані до MA(1) так само, як ви робили для змодельованих даних.
Ця вправа є частиною курсу
Аналіз часових рядів у Python
Інструкції до вправи
- Імпортуйте модулі
plot_acfтаARIMAзі statsmodels - Обчисліть помінутні доходності з цін:
- Обчисліть доходності методом
.pct_change() - Використайте метод pandas
.dropna(), щоб прибрати перший рядок доходностей, де стоїть NaN
- Обчисліть доходності методом
- Побудуйте ACF з лаґами до 60 хвилин
- Пристосуйте дані доходностей до моделі MA(1) і виведіть параметр MA(1)
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Import plot_acf and ARIMA modules from statsmodels
from statsmodels.graphics.tsaplots import plot_acf
from statsmodels.tsa.arima.model import ARIMA
# Compute returns from prices and drop the NaN
returns = intraday.___
returns = returns.___
# Plot ACF of returns with lags up to 60 minutes
plot_acf(___, ___)
plt.show()
# Fit the data to an MA(1) model
mod = ARIMA(___, order=(0,0,1))
res = mod.fit()
print(res.params[1])