Cách triển khai mô hình GARCH trong Python

Mô hình GARCH với Python

Chelsea Yang

Data Science Instructor

Gói Python "arch"

from arch import arch_model

1 Kevin Sheppard. (2019, March 28). bashtage/arch: Release 4.8.1 (Version 4.8.1). Zenodo. http://doi.org/10.5281/zenodo.2613877
Mô hình GARCH với Python

Quy trình làm việc

Phát triển mô hình GARCH trong 3 bước:

  1. Xác định mô hình
  2. Khớp mô hình
  3. Dự báo
Mô hình GARCH với Python

Đặc tả mô hình

Giả định mô hình:

  • Phân phối: "normal" (mặc định), "t", "skewt"
  • Mô hình trung bình: "constant" (mặc định), "zero", "AR"
  • Mô hình biến động: "GARCH" (mặc định), "ARCH", "EGARCH"

 

basic_gm = arch_model(sp_data['Return'], p = 1, q = 1, 
                      mean = 'constant', vol = 'GARCH', dist = 'normal')
Mô hình GARCH với Python

Khớp mô hình

Hiển thị kết quả khớp sau mỗi n vòng lặp:

gm_result = gm_model.fit(update_freq = 4)

Quy trình khớp mô hình

Tắt hiển thị:

gm_result = gm_model.fit(disp = 'off')
Mô hình GARCH với Python

Kết quả khớp: tham số

Ước lượng bằng "maximum likelihood method"

print(gm_result.params)
mu          0.077239
omega       0.039587
alpha[1]    0.167963
beta[1]     0.786467
Name: params, dtype: float64
Mô hình GARCH với Python

Kết quả khớp: tóm tắt

print(gm_result.summary())

Tóm tắt kết quả khớp mô hình

Mô hình GARCH với Python

Kết quả khớp: biểu đồ

gm_result.plot()

Biểu đồ ước lượng mô hình

Mô hình GARCH với Python

Dự báo mô hình

# Dự báo trước 5 kỳ
gm_forecast = gm_result.forecast(horizon = 5)
# In hàng cuối của dự báo phương sai
print(gm_forecast.variance[-1:])
                 h.1       h.2       h.3       h.4       h.5
Date                                                        
2019-10-10  0.994079  0.988366  0.982913  0.977708  0.972741

h.1 trong hàng "2019-10-10": dự báo 1 bước dùng dữ liệu đến và gồm cả ngày đó

Mô hình GARCH với Python

Ayo berlatih!

Mô hình GARCH với Python

Preparing Video For Download...