huong dan thuc hanh mo hinh arch garch 2013-tailieuvn.com.vn
DESCRIPTION
Tài liệu hướng dẫn thực hànhTRANSCRIPT
HƯỚNG DẪN THỰC HÀNH TRÊN EVIEW 6.0
Để tiện lợi cho việc thực hành và theo dõi, chúng tôi sử dụng xuyên suốt một chuỗi
dữ liệu thời gian là chuỗi “CLOSE” – chuỗi giá đóng cửa (close) của Vnindex với 1047
quan sát (từ 02/01/2009 – 15/3/2013). Điều này không ngụ ý rằng khi thực hiện trong
thực tế, các bạn phải nhất thiết thực hiện các bước y như vậy. Bởi vì, mỗi một chuỗi dữ
liệu sẽ có một đặc tính khác nhau, và do mục đích khác nhau của mỗi nhà nghiên cứu.
Hi vọng rằng phần “HƯỚNG DẪN THỰC HÀNH TRÊN EVIEW 6.0” sẽ là một
tài liệu tham khảo bổ ích cho các bạn!
Mặc dù đã cố gắng nhưng không thể tránh khỏi sai xót, mong nhận được sự góp ý
của các bạn để tài liệu được hoàn thiện hơn.
PHẦN I: TÍNH DỪNG
I. Mô tả dữ liệu:
Dưới đây là chuỗi gốc và thống kê mô tả của chuỗi gốc:
Vào View/ Graph để vẽ đồ thị chuỗi theo thời gian, và vào View/Descriptive
Statistics/ Histogram and Stats.
Chuỗi CLOSE có các giá trị tuyệt đối lớn và rất biến động. Do đó, chúng tôi lấy
logarit tự nhiên của chuỗi dữ liệu này, đặt tên là LCLOSE và sẽ tiến hành kiểm định
tính dừng của chuỗi sau khi đã lấy log. Chú ý rằng, việc lấy log không làm mất đi các
đặc tính của chuỗi dữ liệu mà chỉ để làm trơn chuỗi dữ liệu.
II. Kiểm định tính dừng:
1. Dựa trên đồ thị của chuỗi thời gian
Nếu đồ thị Y=f(t) cho thấy trung bình và phương sai của Yt không đổi theo thời gian
thì chuỗi này có tính dừng.
Mở chuỗi LCLOSE, vào View -> Graph… -> line & Symbol, ta có kết quả sau:
Ta thấy, trung bình của chuỗi LCLOSE tăng rồi giảm theo thời gian, như vậy, đã vi
phạm một trong ba điều kiện của chuỗi dừng, nên LCLOSE là chuỗi không dừng. Tuy
nhiên, cách này chỉ là cảm tính nên nó chỉ cho ta một cảm nhận ban đầu về chuỗi.
2. Dựa trên lược đồ tự tương quan
Vào View -> Correlogram, hộp thoại Correlogram Specification xuất hiện
Ở khung Correlogram of, chọn level,
Ở ô Lags to include để mặc định độ trễ là 36.
Ta thu được kết quả sau:
Có thể thấy toàn bộ ρk của ACF tại 29 độ trễ đều khác 0 có ý nghĩa thống kê. Như
vậy, LCLOSE là chuỗi không dừng.
Ta cũng có thể so sánh giá trị AC ở cột thứ 3 với khoảng tin cậy ρk là 1,96/ 1047
= 0,06. Nếu AC nằm trong khoảng này thì chấp nhận H0: chuỗi không có tương quan
bậc q (chuỗi dừng); ngược lại ta bác bỏ H0, nghĩa là chuỗi này không dừng. Ta thấy, rõ
ràng là các giá trị AC đều nằm ngoài khoảng tin cậy => chuỗi không dừng.
3. Kiểm định nghiệm đơn vị
Chú ý rằng trong nghiên cứu khoa học, kiểm định nghiệm đơn vị sẽ cho ta kết quả
chính xác và đáng tin cậy nhất, các bạn chỉ nên tham khảo 2 phương pháp trên.
View -> unit root test.. xuất hiện khung cửa sổ sau:
Ở khung test type: để mặc định Augmented Dickey-Fuller
Ở khung test for unit root in, ta có 3 lựa chọn như ở kiểm tra tự tương quan và ý
nghĩa cũng tương tư, chọn level (kiểm định tính dừng của chuỗi LCLOSE).
Ở khung tiếp theo Include in test equation, chọn Intercept ( kiểm định theo phương
trình Yt là một bước ngẫu nhiên có hằng số).
Vậy như thế nào, chúng ta biết được sẽ kiểm định chuỗi theo dạng nào.
Vào view -> Descriptive statistics & tests -> Histogram and stats..
Ta thấy, Mean = 6.079291 => chuỗi LCLOSE có hằng số.
- Tiếp theo, ta sẽ xem chuỗi này có xu thế hay không.
Hồi quy chuỗi LCLOSE theo thời gian, nhập ls lclose c @trend trên thanh lệnh màn
hình, kết quả như sau:
Ta thấy, giá tri p –value = 0.5643, rất lớn => chuỗi LCLOSE không có xu thế.
Như vậy, ta sẽ chọn Intercept trong phần Include in test equation.
Ta thấy, p-value = 0.135 > 𝛼 = 10% hay trị tuyệt đối của thống kê 𝜏 của biến
LCLOSEt-1 là 2.42522 < giá trị 𝜏 tra bảng ở các mức ý nghĩa 1%, 5% và 10%; nên ta
chấp nhận giả thiết H0: chuỗi LCLOSE có nghiệm đơn vị, tức là chuỗi không dừng.
III. Khắc phục chuỗi chưa dừng
Lấy sai phân cấp 1 của chuỗi LCLOSE, nhập lệnh genr dlclose = d(lclose) ở cửa sổ
lệnh trên màn hình Eviews 6.
Ta được chuỗi dữ liệu mới có tên là dlclose, tiến hành kiểm tra tính dừng của chuỗi
này theo 3 cách như trên, ta được kết quả sau:
- Đồ thị theo thời gian:
- Lược đồ tương quan:
- Kiểm định nghiệm đơn vị
Ta thấy, cả ba cách trên đều cho kết quả chuỗi DLCLOSE là chuỗi dừng.
Phần II: MÔ HÌNH ARIMA.
Trong quy trình BOX-JENKIN gồm 6 bước, 2 bước đầu tiên là kiểm tra tính dừng
và xử lý chuỗi không dừng đã được trình bày ở trên nên chúng tôi chỉ trình bày 4 bước
còn lại.
1. Chọn bậc AR(p) tối ưu:
2. Chọn bậc MA(q) tối ưu:
3. Ước lượng mô hình ARIMA(p,d,q) và lựa chọn mô hình tối ưu
4. Dự báo
Từ chuỗi DLCLOSE đã dừng, chọn view/correlogram để xem giản đồ tự tương quan
của chuỗi DLCLOSE.
Ta tính toán khoảng tin cậy của hệ số tự tương quan ACF là:
Sử dụng các hệ số tự tương quan ACF để chọn bậc q cho MA, hệ số tự tương quan
riêng PACF để chọn bậc p cho AR. DLCLOSE là chuỗi dừng nên ta chọn p,q là những
giá trị nằm ngoài khoảng tin cậy (mức ý nghĩa 5%) là (−1.96
√1047; +
1,96
√1047) , do đó ta có
AR(1, 4, 21, 29). MA(1, 21, 29).
Trên cửa sổ lệnh, nhập LS DLCLOSE C AR(1) AR(4) AR(21) AR(29) MA(1)
MA(21) MA(29), nhấn enter ta có bảng kết quả của MH ARIMA1, đặt tên là eq1
Loại biến AR(1) khỏi mô hình: Ta có MH ARIMA2, đặt tên là eq2
Tiếp tục bỏ biến MA(21): MH ARIMA3, đặt tên là eq3
Ta tiến hành kiểm định xem mô hình ARIMA vừa ước lượng đã phù hợp chưa bằng
cách tách phần dư của mô hình:
So sánh và lựa chọn mô hình tối ưu theo các chỉ tiêu chọn mô hình +
dự báo:
ARIMA 1 ARIMA 2 ARIMA 3
AIC -5.5572 -5.537241 -5.5381
SIC -5.5184 -5.503345 -5.5090
Log likelihood 2833.827 2822.687 2822.118
ARIMA 1 ARIMA 2 ARIMA 3
RMSE 0.3200 0.3223 0.3208
MAE 0.2519 0.2543 0.2530
Theil 0.0267 0.0269 0.02678
MH ARIMA 1 là phù hợp nhất
Kiểm định tính dừng trên phần dư
Chọn Proc\make residual series…. Đặt tên là resid01.
Tiến hành kiểm định nghiệm đơn vị cho phần dư bằng kiểm định ADF.
Kiểm tra tương quan chuỗi: View -> residual tests -> Correlogram Q – Statistics
Kiểm định lại tính dừng và tự tương quan cho thấy MH này là tốt nên ta chấp nhận
MH1
TIẾN HÀNH DỰ BÁO CHO CHUỖI DỮ LIỆU
Mở rộng bộ dữ liệu: Proc -> Structure/Resize Current Page
Chọn Dated – regular frequency: Start date: 1; End date: 1055
Trong MH1: Forecast -> Forecast name: lnclsf ; S.E (optional): sef
Tạo biến cho khoảng ước lượng của log:
genr cd_ln=lnclsf-1.96*sef (cận dưới chuỗi log)
genr ct_ln=lnclsf+1.96*sef (cận trên chuỗi log)
Dự báo cho chuỗi gốc: genr cd=exp(cd_ln)
genr ct=exp(ct_ln)
genr clsf=exp(lnclsf)
Phần III: CÁC MÔ HÌNH ARCH/GARCH
Như đã trình bày trong phần lý thuyết, các mô hình ARCH/GARCH gồm 2 phương
trình, một phương trình ước lượng giá trị trung bình và một phương ước lượng giá trị
phương sai có điều kiện thay đổi.
Chúng tôi sử dụng kết quả mô hình ARIMA [(1;4;21;29);1;(1;21;29)] tối ưu cho
chuỗi DLCLOSE ở trên và tiếp tục tiến hành kiểm định hiệu ứng ARCH.
Vào View/Residual test và chọn correlogram of Residuals Squared
Ta nhận thấy ở cột PAC, có thể có hiệu ứng ARCH bậc 6. Ta kiểm tra bậc của hiệu
ứng ARCH bằng cách vào View\ residual test chọn Heteroskedasticity test bậc 6.
Kết quả:
P-value < 10% nên ta bác bỏ Ho, chuỗi này có thể có hiệu ứng ARCH bậc 6.
Bây giờ ta sẽ thử kiểm tra xem có hiệu ứng ARCH bậc 7 không, tương tự như
ARCH(6), điền vào hộp thoại Number of Lags số 7. Kết quả kiểm định:
Ta nhận thấy pvalue của resid^2(-7) là không có ý nghĩa thống kê ở mức ý nghĩa
10%, do đó hiệu ứng ARCH của mô hình là bậc 6.
Vì chuỗi thời gian này có hiệu ứng ARCH nên ta sẽ thay đổi cách ước lượng mô hình
theo phương pháp LS – Least Squares (NLS and ARMA) sang ước lược theo phương
pháp ARCH.
Từ cửa sổ EQ1 đã lưu, chọn Estimation, hoặc vào Quick/estimate equation…. Trong
hộp thoại Estimation setting, mục Method chọn ARCH…như hình sau:
Ta thấy hệ số của RESID(-5)^2 không có ý nghĩa thống kê nên ta ước lượng phương
trình ARCH(5).
Các hệ số trong Variance Equation đều có ý nghĩa ở mức 10%, tuy nhiên trong
phương trình trung bình có một số hệ số không có ý nghĩa thống kê. Do đó, ta tiến hành
loại bỏ từng biến, bắt đầu từ biến MA(21) và thực hiện các bước lặp như trên. Thực
hiện tương tự như vậy, ta được phương trình.
Mô hình ARCH(5) tất cả các đều có ý nghĩa thống kê. Nhưng để mô hình có độ tin cậy
và có thể dung để dự báo, ta phải kiểm tra tính dừng của phần dư và hiệu ứng ARCH
của mô hình ARCH(5).
Kiểm tra tính dừng của phần dư trong mô hình ARCH(5). Chúng ta vào proc/make
residuals series…đặt tên file là phandu.
Sau đó kiểm tra tính dừng bằng kiểm định ADF ta có kết quả sau:
Kiểm tra tín hiệu ARCH của mô hình ARCH(5). Vào view/residual test/ ARCH LM
Test, ta được kết quả như sau:
Ta thấy mô hình ARCH(5) không còn tín hiệu ARCH nên mô hình này là mô hình thích
hợp để dự báo!
Để dự báo cho các giá trị sau đó, trước hết ta phải mở rộng cỡ mẫu.
Ví dụ ta dự báo cho 8 quan sát tiếp theo. Trong ô End date ta gõ 1455.
Sau đó chọn lại mô hình ARCH(5) và tiến hành dự báo.
Ta có kết quả dự báo như sau