Áp dụng mô hình MA
Sự dao động của giá cổ phiếu giữa giá bid và ask tạo ra tự tương quan bậc một âm, nhưng không có tự tương quan ở các độ trễ lớn hơn 1. Bạn sẽ thấy cùng một dạng ACF với mô hình MA(1). Vì vậy, bạn sẽ khớp mô hình MA(1) cho dữ liệu cổ phiếu trong ngày từ bài trước.
Bước đầu tiên là tính lợi nhuận theo từng phút từ các mức giá trong intraday, và vẽ hàm tự tương quan. Bạn sẽ quan sát thấy ACF trông giống như của một quá trình MA(1). Sau đó, khớp dữ liệu với MA(1), theo cách bạn đã làm với dữ liệu mô phỏng.
Bài tập này là một phần của khóa học
Phân tích chuỗi thời gian với Python
Hướng dẫn bài tập
- Import các mô-đun
plot_acfvàARIMAtừ statsmodels - Tính lợi nhuận theo phút từ giá:
- Tính lợi nhuận bằng phương thức
.pct_change() - Dùng phương thức
.dropna()của pandas để loại bỏ hàng đầu tiên của chuỗi lợi nhuận (giá trị NaN)
- Tính lợi nhuận bằng phương thức
- Vẽ hàm ACF với độ trễ tối đa 60 phút
- Khớp dữ liệu lợi nhuận với mô hình MA(1) và in ra tham số MA(1)
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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])