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

Применение модели 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])
Редактировать и запускать код