Введение в AR-модель

Анализ временных рядов на Python

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Математическое описание модели AR(1)

$\large \quad \quad \quad \quad R_t \quad \ \ = \quad \mu \quad + \quad \phi \quad R_{t-1} \quad \ + \quad \epsilon_t$

  • Так как справа только одно лаговое значение, модель называется:
    • AR-модель первого порядка, или
    • AR(1)-модель
  • Параметр AR: $\large \phi$
  • Условие стационарности: $\large -1 \lt \phi \lt 1$
Анализ временных рядов на Python

Интерпретация параметра AR(1)

$\large \quad \quad \quad \quad R_t \quad \ \ = \quad \mu \quad + \quad \phi \quad R_{t-1} \quad \ + \quad \epsilon_t$

  • Отрицательное $\large \phi$: возврат к среднему
  • Положительное $\large \phi$: моментум
Анализ временных рядов на Python

Сравнение временных рядов AR(1)

  • $\large \phi=0.9$

  • $\large \phi=0.5$

  • $\large \phi=-0.9$

  • $\large \phi=-0.5$

Анализ временных рядов на Python

Сравнение функций автокорреляции AR(1)

  • $\large \phi=0.9$

  • $\large \phi=0.5$

  • $\large \phi=-0.9$

  • $\large \phi=-0.5$

Анализ временных рядов на Python

AR-модели высокого порядка

  • AR(1)

$\large \quad \quad R_t = \mu + \phi_1 R_{t-1} + \epsilon_t$

  • AR(2)

$\large \quad \quad R_t = \mu + \phi_1 R_{t-1} + \phi_2 R_{t-2} + \epsilon_t$

  • AR(3)

$\large \quad \quad R_t = \mu + \phi_1 R_{t-1} + \phi_2 R_{t-2} + \phi_3 R_{t-3} + \epsilon_t$

  • ...
Анализ временных рядов на Python

Симуляция AR-процесса

from statsmodels.tsa.arima_process import ArmaProcess
ar = np.array([1, -0.9])
ma = np.array([1])
AR_object = ArmaProcess(ar, ma)
simulated_data = AR_object.generate_sample(nsample=1000)
plt.plot(simulated_data)
Анализ временных рядов на Python

Давайте потренируемся!

Анализ временных рядов на Python

Preparing Video For Download...