เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การนำโมเดล MA ไปใช้

การที่ราคาหุ้นเด้งไปมาระหว่างราคาเสนอซื้อและเสนอขายทำให้เกิด autocorrelation เชิงลบในลำดับที่ 1 แต่ไม่มี autocorrelation ในลำดับที่สูงกว่านั้น ซึ่งให้รูปแบบ ACF เดียวกันกับโมเดล MA(1) ดังนั้นจึงจะฟิตโมเดล MA(1) กับข้อมูลราคาหุ้นรายนาทีจากแบบฝึกหัดก่อนหน้า

ขั้นตอนแรกคือคำนวณผลตอบแทนรายนาทีจากราคาใน intraday แล้วพล็อต autocorrelation function จากนั้นสังเกตว่า ACF มีลักษณะเหมือนกระบวนการ MA(1) แล้วฟิตข้อมูลกับโมเดล MA(1) ในแบบเดียวกับที่ทำกับข้อมูลจำลอง

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

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

ดูคอร์ส

คำแนะนำการฝึกหัด

  • Import โมดูล plot_acf และ ARIMA จาก statsmodels
  • คำนวณผลตอบแทนรายนาทีจากราคา:
    • คำนวณผลตอบแทนด้วยเมธอด .pct_change()
    • ใช้เมธอด .dropna() ของ pandas เพื่อลบแถวแรกของผลตอบแทนที่เป็น NaN ออก
  • พล็อต ACF function โดยใช้ lags ถึง 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])
แก้ไขและรันโค้ด