Describe Model

Time Series Analysis in Python

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Mathematical Description of MA(1) Model

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

  • Since only one lagged error on right hand side, this is called:
    • MA model of order 1, or
    • MA(1) model
  • MA parameter is $\large \theta$
  • Stationary for all values of $\theta$
Time Series Analysis in Python

Interpretation of MA(1) Parameter

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

  • Negative $\large \theta$: One-Period Mean Reversion
  • Positive $\large \theta$: One-Period Momentum
  • Note: One-period autocorrelation is $\large \theta/(1+\theta^2)$, not $\large \theta$
Time Series Analysis in Python

Comparison of MA(1) Autocorrelation Functions

  • $\large \theta=0.9$

  • $\large \theta=0.5$

  • $\large \theta=-0.9$

  • $\large \theta=-0.5$

Time Series Analysis in Python

Example of MA(1) Process: Intraday Stock Returns

Time Series Analysis in Python

Autocorrelation Function of Intraday Stock Returns

Time Series Analysis in Python

Higher Order MA Models

  • 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}$

  • ...
Time Series Analysis in Python

Simulating an MA Process

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)
Time Series Analysis in Python

Let's practice!

Time Series Analysis in Python

Preparing Video For Download...