อธิบายโมเดล

การวิเคราะห์อนุกรมเวลาด้วย 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} $

  • เนื่องจากมี lagged error ทางขวาเพียงตัวเดียว จึงเรียกว่า:
    • โมเดล MA อันดับ 1 หรือ
    • โมเดล MA(1)
  • พารามิเตอร์ MA คือ $\large \theta$
  • Stationary สำหรับทุกค่าของ $\theta$
การวิเคราะห์อนุกรมเวลาด้วย Python

การตีความพารามิเตอร์ MA(1)

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

  • $\large \theta$ เป็นลบ: Mean Reversion ในหนึ่งช่วงเวลา
  • $\large \theta$ เป็นบวก: Momentum ในหนึ่งช่วงเวลา
  • หมายเหตุ: Autocorrelation ในหนึ่งช่วงเวลาคือ $\large \theta/(1+\theta^2)$ ไม่ใช่ $\large \theta$
การวิเคราะห์อนุกรมเวลาด้วย Python

การเปรียบเทียบฟังก์ชัน Autocorrelation ของ MA(1)

  • $\large \theta=0.9$

  • $\large \theta=0.5$

  • $\large \theta=-0.9$

  • $\large \theta=-0.5$

การวิเคราะห์อนุกรมเวลาด้วย Python

ตัวอย่างกระบวนการ MA(1): ผลตอบแทนหุ้นรายวันระหว่างวัน

การวิเคราะห์อนุกรมเวลาด้วย Python

ฟังก์ชัน Autocorrelation ของผลตอบแทนหุ้นรายวันระหว่างวัน

การวิเคราะห์อนุกรมเวลาด้วย 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...