Опис моделі

Аналіз часових рядів у Python

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Математичний опис моделі MA(1)

$\large \quad \quad \quad \quad R_t \ = \ \ \mu \ \ + \ \ \epsilon_t \ + \ \ \theta \ \epsilon_{t-1} $

  • Оскільки праворуч лише одна запізнена похибка, це називають:
    • MA-модель порядку 1, або
    • модель MA(1)
  • Параметр MA — $\large \theta$
  • Стаціонарна для всіх значень $\theta$
Аналіз часових рядів у Python

Інтерпретація параметра MA(1)

$\large \quad \quad \quad \quad R_t \ \ = \ \ \mu \ \ + \ \ \epsilon_t\ + \ \ \theta \ \epsilon_{t-1} $

  • Негативне $\large \theta$: одноперіодна реверсія до середнього
  • Позитивне $\large \theta$: одноперіодний моментум
  • Примітка: автокореляція першого лагу дорівнює $\large \theta/(1+\theta^2)$, а не $\large \theta$
Аналіз часових рядів у Python

Порівняння функцій автокореляції MA(1)

  • $\large \theta=0.9$

  • $\large \theta=0.5$

  • $\large \theta=-0.9$

  • $\large \theta=-0.5$

Аналіз часових рядів у Python

Приклад процесу MA(1): внутрішньоденні фондові дохідності

Аналіз часових рядів у Python

Функція автокореляції внутрішньоденних фондових дохідностей

Аналіз часових рядів у Python

MA-моделі вищого порядку

  • MA(1)

$\large \quad \quad R_t = \mu + \epsilon_t - \theta_1 \ \epsilon_{t-1}$

  • MA(2)

$\large \quad \quad R_t = \mu + \epsilon_t - \theta_1 \ \epsilon_{t-1} - \theta_2 \ \epsilon_{t-2}$

  • MA(3)

$\large \quad \quad R_t = \mu + \epsilon_t - \theta_1 \ \epsilon_{t-1} - \theta_2 \ \epsilon_{t-2} - \theta_3 \ \epsilon_{t-3}$

  • ...
Аналіз часових рядів у Python

Моделювання MA-процесу

from statsmodels.tsa.arima_process import ArmaProcess
ar = np.array([1])
ma = np.array([1, 0.5])
AR_object = ArmaProcess(ar, ma)
simulated_data = AR_object.generate_sample(nsample=1000)
plt.plot(simulated_data)
Аналіз часових рядів у Python

Давайте потренуємось!

Аналіз часових рядів у Python

Preparing Video For Download...