Dữ liệu sử dụng trong nghiên cứu là chuỗi dữ liệu thời gian theo ngày
của chỉ số đóng cửa thị trường chứng khoán:
- HEINY là mã cổ phiếu của Heineken N.V., một công ty sản xuất bia đa
quốc gia của Hà Lan. Cổ phiếu của Heineken N.V. giao dịch trên thị
trường OTC (Over-The-Counter) và được định giá bằng đồng USD. - SAB là
mã cổ phiếu của Tổng công ty Bia - Rượu - Nước giải khát Sài Gòn
(Sabeco), một công ty sản xuất bia lớn tại Việt Nam. Cổ phiếu của Sabeco
được giao dịch trên Sở Giao dịch Chứng khoán Thành phố Hồ Chí Minh
(HOSE) và được định giá bằng đồng Việt Nam (VND). Dữ liệu sử dụng trong
bài nghiên cứu được thu thập từ www.investing.com.
## Installing package into 'C:/Users/ASUS/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'PerformanceAnalytics' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\ASUS\AppData\Local\Temp\RtmpmKzgbF\downloaded_packages
## Warning: package 'PerformanceAnalytics' was built under R version 4.3.3
## Loading required package: xts
## Warning: package 'xts' was built under R version 4.3.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.3.3
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
##
## legend
## Warning: package 'readxl' was built under R version 4.3.3
data <- read_excel("C:/Users/ASUS/Documents/Zalo Received Files/dl.xlsx")
mydata <- data[,c(2:3)]
head(data,6)
Time | HEINY | SAB |
---|---|---|
2024-07-26 | 49.16 | 55.0 |
2024-07-25 | 48.47 | 54.0 |
2024-07-24 | 48.10 | 54.6 |
2024-07-23 | 48.58 | 54.7 |
2024-07-22 | 49.14 | 55.7 |
2024-07-19 | 48.52 | 55.2 |
Dùng hàm str() giúp kiểm tra kiểu dữ liệu của các cột trong mydata.
## tibble [972 × 2] (S3: tbl_df/tbl/data.frame)
## $ HEINY: chr [1:972] "49.16" "48.47" "48.10" "48.58" ...
## $ SAB : num [1:972] 55 54 54.6 54.7 55.7 55.2 54.3 54 55.8 55.8 ...
Từ kết quả của lệnh str(mydata), ta thấy rằng: - Cột HEINY có kiểu dữ liệu là Named chr (chuỗi ký tự được đặt tên). - Cột SAB có kiểu dữ liệu là Named num (số được đặt tên). Để tính ma trận hệ số tương quan, tất cả các cột cần phải là kiểu số (numeric). Vì cột HEINY hiện đang là chuỗi ký tự, ta cần chuyển đổi nó sang kiểu số bằng câu lệnh sau:
Sau khi đã chuyển đổi cột HEINY từ chuỗi ký tự sang số,ta kiểm tra lại kiểu dữ liệu sau khi chuyển đổi:
## tibble [972 × 2] (S3: tbl_df/tbl/data.frame)
## $ HEINY: num [1:972] 49.2 48.5 48.1 48.6 49.1 ...
## $ SAB : num [1:972] 55 54 54.6 54.7 55.7 55.2 54.3 54 55.8 55.8 ...
Dùng hàm cor() tính toán ma trận hệ số tương quan giữa các cột của mydata. Kết quả được lưu vào biến res.
Dùng hàm round() làm tròn các giá trị trong res đến hai chữ số thập phân. Nếu muốn làm tròn đến chữ số thập phân thứ 3, ta thay số 2 thành 3.
## HEINY SAB
## HEINY 1.000 0.417
## SAB 0.417 1.000
Ta thấy từ kết quả ma trận tương quan, hệ số tương quan giữa HEINY và SAB là 0.417.Điều này chỉ ra rằng có một mối quan hệ tương quan dương. Nói cách khác, khi giá trị của HEINY tăng, giá trị của SAB cũng có xu hướng tăng. Trong phân tích dữ liệu, một hệ số tương quan trên 0.5 thường được coi là vừa phải và trên 0.7 là mạnh. Với giá trị 0.417, mối liên hệ giữa HEINY và SAB là yếu.
Để tạo một biểu đồ tương quan màu sắc giữa các cột trong mydata, trong đó: - Gói corrplot cung cấp các hàm để trực quan hóa ma trận tương quan. - Tính toán ma trận tương quan: res() tính toán ma trận tương quan giữa các cột trong mydata. rounded_res() làm tròn các giá trị trong ma trận tương quan đến ba chữ số thập phân. - Hiển thị biểu đồ tương quan: hàm corrplot(rounded_res, methol = “color”) tạo biểu đồ tương quan màu sắc dựa trên ma trận tương quan đã làm tròn.
## Installing package into 'C:/Users/ASUS/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'corrplot' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\ASUS\AppData\Local\Temp\RtmpmKzgbF\downloaded_packages
## Warning: package 'corrplot' was built under R version 4.3.3
## corrplot 0.92 loaded
## HEINY SAB
## HEINY 1.000 0.417
## SAB 0.417 1.000
Biểu đồ tương quan màu sắc này giúp chúng ta có thể nhìn thấy sự tương quan của giữa HEINY và SAB. Dựa vào biểu đồ các ô chứa giá trị 1.000 trên đường chéo chính (từ trên trái đến dưới phải) thể hiện mối tương quan hoàn hảo của mỗi biến với chính nó, điều này là hiển nhiên. Về màu sắc, ô chứa giá trị 0.417 có màu xanh nhạt điều này củng cố nhận định rằng mối tương quan giữa HEINY và SAB là yếu.
Một biểu đồ tương quan khác:
Lệnh corrplot() trong R sử dụng các tham số để tạo ra một biểu đồ tương quan với các đặc điểm cụ thể. Trong đó: - res: Ma trận hệ số tương quan được tính toán trước đó. - type = “upper”: Chỉ hiển thị nửa trên của ma trận tương quan. - order = “hclust”: Sắp xếp các biến dựa trên phương pháp phân cụm phân cấp để nhóm các biến có tương quan cao lại với nhau. - tl.col = “black”: Màu của nhãn biến là màu đen. - tl.srt = 45: Xoay nhãn biến một góc 45 độ để dễ đọc hơn.
Ưu điểm của biểu đồ này là: - Hiển thị nửa trên của ma trận:Chỉ có nửa trên của ma trận tương quan được hiển thị, giúp tránh trùng lặp thông tin và dễ đọc hơn. - Phân cụm biến: Các biến được sắp xếp theo nhóm dựa trên mức độ tương quan của chúng, nhờ sử dụng phương pháp phân cụm phân cấp. Điều này giúp dễ dàng nhận diện các nhóm biến có mối liên hệ mật thiết. - Nhãn biến: Nhãn biến được hiển thị màu đen và được xoay một góc 45 độ, giúp dễ đọc hơn khi các nhãn biến có chiều dài khác nhau hoặc khi có nhiều biến. - Màu sắc: Màu sắc biểu thị độ mạnh và chiều của mối tương quan. Màu xanh đậm cho thấy mối tương quan dương mạnh, màu đỏ đậm cho thấy mối tương quan âm mạnh, và các màu nhạt hơn biểu thị mối tương quan yếu hơn.
Dùng hàm chart.Correlation từ gói PerformanceAnalytics tạo ra một biểu đồ tương quan với các ma trận phân tán (scatter plot) giữa các cặp biến và các biểu đồ phân phối (histogram) trên đường chéo chính. Tham số histogram=TRUE cho phép hiển thị biểu đồ phân phối trên đường chéo, và pch=19 điều chỉnh kiểu điểm trong các biểu đồ phân tán.
## Warning in par(usr): argument 1 does not name a graphical parameter
Đường chéo trên biểu đồ thể hiện sự phân bố của từng biến. Ở dưới đường chéo là các ô đồ thị dạng scatter. - Ô ở dòng 2 cột 1 (2,1) biểu thị sự tương quan giữa biến HEINY và SAB. Ở trên đường chéo là các hệ số tương quan và mức ý nghĩa thống kê (p_value) được thể hiện dưới dạng ngôi sao. Mỗi mức ý nghĩa sẽ được liên kết với 1 ký hiệu : *** nghĩa là giá trị từ 0 đến 0.001. - Ô (1,2) biểu thị mức độ tương quan của hai biến HEINY và SAB là 0.042 và mức ý nghĩa p nằm trong khoảng 0 đến 0.001
Sử dụng hàm ggcorrplot để tạo biểu đồ tương quan từ ma trận hệ số tương quan, trong đó: - dplyr::select_if(mydata, is.numeric): Lọc các cột số từ mydata và lưu vào df. - cor(df, use=“complete.obs”): Tính toán ma trận hệ số tương quan giữa các cột số trong df. - ggcorrplot(r): Tạo biểu đồ tương quan từ ma trận hệ số tương quan r bằng ggcorrplot. - Biểu đồ sẽ hiển thị ma trận tương quan dưới dạng lưới với các ô màu sắc biểu thị độ mạnh và hướng của mối tương quan.
## Installing package into 'C:/Users/ASUS/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'ggcorrplot' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\ASUS\AppData\Local\Temp\RtmpmKzgbF\downloaded_packages
##
## ######################### Warning from 'xts' package ##########################
## # #
## # The dplyr lag() function breaks how base R's lag() function is supposed to #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or #
## # source() into this session won't work correctly. #
## # #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop #
## # dplyr from breaking base R's lag() function. #
## # #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning. #
## # #
## ###############################################################################
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:xts':
##
## first, last
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## Warning: package 'ggcorrplot' was built under R version 4.3.3
Gói tseries trong R cung cấp các công cụ để phân tích chuỗi thời gian và kiểm tra các tính chất thống kê như tính dừng, và thực hiện các bài toán dự báo.
## Installing package into 'C:/Users/ASUS/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'tseries' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\ASUS\AppData\Local\Temp\RtmpmKzgbF\downloaded_packages
## Warning: package 'tseries' was built under R version 4.3.3
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
Time | HEINY | SAB |
---|---|---|
2024-07-26 | 49.16 | 55.0 |
2024-07-25 | 48.47 | 54.0 |
2024-07-24 | 48.10 | 54.6 |
2024-07-23 | 48.58 | 54.7 |
2024-07-22 | 49.14 | 55.7 |
2024-07-19 | 48.52 | 55.2 |
Kiểm tra cấu trúc dữ liệu và kiểu dữ liệu của các cột trong dataframe:
## tibble [972 × 3] (S3: tbl_df/tbl/data.frame)
## $ Time : POSIXct[1:972], format: "2024-07-26" "2024-07-25" ...
## $ HEINY: chr [1:972] "49.16" "48.47" "48.10" "48.58" ...
## $ SAB : num [1:972] 55 54 54.6 54.7 55.7 55.2 54.3 54 55.8 55.8 ...
Cột HEINY hiện tại đang ở dạng chuỗi ký tự (character). Cần chuyển nó thành kiểu số (numeric) để thực hiện các phân tích thống kê hoặc chuỗi thời gian.
Kiểm tra lại kiểu dữ liệu
## tibble [972 × 3] (S3: tbl_df/tbl/data.frame)
## $ Time : POSIXct[1:972], format: "2024-07-26" "2024-07-25" ...
## $ HEINY: num [1:972] 49.2 48.5 48.1 48.6 49.1 ...
## $ SAB : num [1:972] 55 54 54.6 54.7 55.7 55.2 54.3 54 55.8 55.8 ...
Tạo đối tượng chuỗi thời gian (nếu cần)
# Cột Time đã là POSIXct, nên không cần chuyển đổi thành kiểu Date
# Tạo đối tượng chuỗi thời gian cho biến HEINY
library(xts)
time_series_HEINY <- xts(data$HEINY, order.by=data$Time)
# Tạo đối tượng chuỗi thời gian cho biến SAB
time_series_SAB <- xts(data$SAB, order.by=data$Time)
# Kiểm tra đối tượng chuỗi thời gian
head(time_series_HEINY)
## Warning: object timezone ('UTC') is different from system timezone ('')
## NOTE: set 'options(xts_check_TZ = FALSE)' to disable this warning
## This note is displayed once per session
## [,1]
## 2020-07-27 48.22
## 2020-07-28 49.11
## 2020-07-29 50.51
## 2020-07-30 49.61
## 2020-07-31 48.31
## 2020-08-03 47.35
## Warning: object timezone ('UTC') is different from system timezone ('')
## [,1]
## 2020-07-27 166.178
## 2020-07-28 172.902
## 2020-07-29 164.257
## 2020-07-30 163.393
## 2020-07-31 161.375
## 2020-08-03 162.336
Kiểm định Jarque-Bera là một phương pháp kiểm định thống kê để kiểm tra xem một tập dữ liệu có phân phối chuẩn hay không. Nó kiểm tra tính đồng nhất của phân phối dữ liệu dựa trên hai chỉ số: độ lệch (skewness) và độ nhọn (kurtosis) của phân phối so với phân phối chuẩn. Gói tseries trong R cung cấp hàm jarque.bera.test để thực hiện kiểm định Jarque-Bera. Giả thiết H0 là có phân phối chuẩn
# Nạp thư viện tseries
library(tseries)
# Kiểm định phân phối chuẩn Jarque-Bera cho biến HEINY
jb_test_HEINY <- jarque.bera.test(data$HEINY)
print(jb_test_HEINY)
##
## Jarque Bera Test
##
## data: data$HEINY
## X-squared = 36.65, df = 2, p-value = 1.1e-08
# Kiểm định phân phối chuẩn Jarque-Bera cho biến SAB
jb_test_SAB <- jarque.bera.test(data$SAB)
print(jb_test_SAB)
##
## Jarque Bera Test
##
## data: data$SAB
## X-squared = 112.53, df = 2, p-value < 2.2e-16
Kết quả kiểm định: - Giá trị p-value: Nếu giá trị p-value nhỏ hơn mức ý nghĩa (anpha là 0.05), bác bỏ giả thuyết H0 vậy dữ liệu có phân phối chuẩn. Nếu giá trị p-value lớn hơn mức ý nghĩa, không có đủ bằng chứng để bác bỏ giả thuyết H0. - p-value của HEINY là 0.000000011, rất nhỏ, ta bác bỏ giả thuyết H0.Vậy dữ liệu HEINY không tuân theo phân phối chuẩn. - p-value của SAB là 0.00000000000000022, rất nhỏ, ta bác bỏ giả thuyết H0.Vậy dữ liệu SAB không tuân theo phân phối chuẩn. Cả hai biến HEINY và SAB đều không có phân phối chuẩn theo kiểm định Jarque-Bera. Kết quả cho thấy rằng phân phối của các biến này có thể bị lệch (skewed) hoặc có độ nhọn khác biệt so với phân phối chuẩn.
Kiểm định Augmented Dickey-Fuller (ADF) là một phương pháp phổ biến để kiểm tra tính dừng của chuỗi thời gian. Chuỗi thời gian được gọi là dừng nếu các đặc trưng thống kê của nó (như trung bình và phương sai) không thay đổi theo thời gian. Giả thiết H0 là chuỗi thời gian không có tính dừng.
# Nạp thư viện tseries
library(tseries)
# Kiểm định ADF cho biến HEINY
adf_test_HEINY <- adf.test(data$HEINY)
print(adf_test_HEINY)
##
## Augmented Dickey-Fuller Test
##
## data: data$HEINY
## Dickey-Fuller = -2.6667, Lag order = 9, p-value = 0.2961
## alternative hypothesis: stationary
##
## Augmented Dickey-Fuller Test
##
## data: data$SAB
## Dickey-Fuller = -3.2365, Lag order = 9, p-value = 0.08163
## alternative hypothesis: stationary
Kết quả kiểm định ADF: - Biến HEINY: p-value có giá trị là 0.2961, lớn hơn 0.05, nên không có đủ bằng chứng để từ chối giả thuyết H0. Điều này có nghĩa là chuỗi thời gian HEINY có thể không dừng (non-stationary). - Biến SAB: p-value có giá trị là 0.08163, lớn hơn 0.05, với mức ý nghĩa 0.05 không có đủ bằng chứng để từ chối giả thuyết H0 rằng chuỗi thời gian SAB là không dừng (non-stationary).
Kiểm định Ljung-Box (hoặc Box-Pierce) được sử dụng để kiểm tra tính độc lập của các quan sát trong chuỗi thời gian, cụ thể là kiểm tra xem các mẫu tự tương quan của chuỗi thời gian có khác biệt đáng kể so với 0 hay không. Điều này giúp xác định xem chuỗi thời gian có sự tương quan chuỗi (autocorrelation) hay không. Giả thiết H0 là không có tương quan chuỗi Ljung-Box.
Kết quả của kiểm định Ljung-Box sẽ bao gồm giá trị của thống kê kiểm định (Q statistic) và giá trị p-value. Giá trị p-value thường được so sánh với một mức ý nghĩa nhất định (ví dụ: 0.05) để xác định xem có sự tồn tại của tương quan không gian trong chuỗi thời gian hay không. Nếu giá trị p-value nhỏ hơn mức ý nghĩa, ta có thể kết luận rằng có sự tồn tại của tương quan không gian trong chuỗi thời gian.
## tibble [972 × 3] (S3: tbl_df/tbl/data.frame)
## $ Time : POSIXct[1:972], format: "2024-07-26" "2024-07-25" ...
## $ HEINY: num [1:972] 49.2 48.5 48.1 48.6 49.1 ...
## $ SAB : num [1:972] 55 54 54.6 54.7 55.7 55.2 54.3 54 55.8 55.8 ...
# Chuyển đổi các biến thành kiểu số nếu cần thiết
data$HEINY <- as.numeric(data$HEINY)
data$SAB <- as.numeric(data$SAB)
# Kiểm tra lại kiểu dữ liệu sau khi chuyển đổi
str(data)
## tibble [972 × 3] (S3: tbl_df/tbl/data.frame)
## $ Time : POSIXct[1:972], format: "2024-07-26" "2024-07-25" ...
## $ HEINY: num [1:972] 49.2 48.5 48.1 48.6 49.1 ...
## $ SAB : num [1:972] 55 54 54.6 54.7 55.7 55.2 54.3 54 55.8 55.8 ...
# Thực hiện kiểm định Ljung-Box
result_HEINY <- Box.test(data$HEINY, lag = 10, type = "Ljung-Box")
print(result_HEINY)
##
## Box-Ljung test
##
## data: data$HEINY
## X-squared = 8364.1, df = 10, p-value < 2.2e-16
##
## Box-Ljung test
##
## data: data$SAB
## X-squared = 9356.8, df = 10, p-value < 2.2e-16
Trong đó, data\(HEINY và data\)SAB là chuỗi thời cần kiểm định, lag = 10 là tham số xác định số lượng độ trễ (lags) sử dụng trong kiểm định, kiểm định sẽ xem xét 10 độ trễ đầu tiên của chuỗi tự tương quan, type = “Ljung-Box” là tham số xác định loại kiểm định. “Ljung-Box” là phiên bản cải tiến của kiểm định Box-Pierce, có sự điều chỉnh để phù hợp hơn với các mẫu có kích thước nhỏ hoặc vừa.
Kết quả chạy kiểm định của kiểm định Ljung-Box cho biến HEINY bao gồm giá trị của thống kê kiểm định (X-squared) = 8364.1 và giá trị p-value < 2.2e-16. Với giá trị p-value < 2.2e-16 nhỏ hơn mức ý nghĩa 0.05, chúng ta bác bỏ giả thuyết H0 không có sự tự tương quan chuỗi, và chấp nhận rằng chuỗi thời gian HEINY có sự tự tương quan chuỗi.
Tương tự, kiểm định Ljung-Box cho biến SAB cho thấy giá trị thống kê kiểm định (X-squared) = 9356.8 và giá trị p-value < 2.2e-16. Với giá trị p-value < 2.2e-16 nhỏ hơn mức ý nghĩa 0.05, chúng ta bác bỏ giả thuyết không có sự tự tương quan chuỗi, và chấp nhận rằng chuỗi thời gian SAB có sự tự tương quan chuỗi.
Để kiểm tra hiệu ứng ARCH (Autoregressive Conditional Heteroskedasticity) trong chuỗi thời gian, bạn có thể sử dụng kiểm định ARCH-LM (Lagrange Multiplier). Kiểm định này giúp phát hiện xem sự biến đổi của sai số (residuals) có phụ thuộc vào giá trị trước đó hay không, điều này thường xuất hiện trong các mô hình GARCH (Generalized Autoregressive Conditional Heteroskedasticity). Giả thiết H0 là không có hiệu ứng ARCH trong dữ liệu. Giá trị p-value càng nhỏ, càng chứng tỏ tồn tại bằng chứng về hiệu ứng ARCH.
## Installing package into 'C:/Users/ASUS/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'lmtest' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\ASUS\AppData\Local\Temp\RtmpmKzgbF\downloaded_packages
## Installing package into 'C:/Users/ASUS/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'fGarch' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\ASUS\AppData\Local\Temp\RtmpmKzgbF\downloaded_packages
## Installing package into 'C:/Users/ASUS/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'rugarch' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'rugarch'
## Warning in file.copy(savedcopy, lib, recursive = TRUE): problem copying
## C:\Users\ASUS\AppData\Local\R\win-library\4.3\00LOCK\rugarch\libs\x64\rugarch.dll
## to C:\Users\ASUS\AppData\Local\R\win-library\4.3\rugarch\libs\x64\rugarch.dll:
## Permission denied
## Warning: restored 'rugarch'
##
## The downloaded binary packages are in
## C:\Users\ASUS\AppData\Local\Temp\RtmpmKzgbF\downloaded_packages
## Warning: package 'lmtest' was built under R version 4.3.3
## Warning: package 'fGarch' was built under R version 4.3.3
## NOTE: Packages 'fBasics', 'timeDate', and 'timeSeries' are no longer
## attached to the search() path when 'fGarch' is attached.
##
## If needed attach them yourself in your R script by e.g.,
## require("timeSeries")
##
## Attaching package: 'fGarch'
## The following objects are masked from 'package:PerformanceAnalytics':
##
## ES, VaR
## Warning: package 'rugarch' was built under R version 4.3.3
## Loading required package: parallel
##
## Attaching package: 'rugarch'
## The following object is masked from 'package:stats':
##
## sigma
# Chuyển đổi các biến thành kiểu số nếu cần thiết
data$HEINY <- as.numeric(data$HEINY)
data$SAB <- as.numeric(data$SAB)
# Lấy dữ liệu cho chỉ số chứng khoán (thay thế với biến phù hợp)
stock_index <- data$HEINY # Hoặc data$SAB
# Tạo mô hình ARCH-SGARCH
arch_spec <- ugarchspec(variance.model = list(model = "sGARCH"))
arch_fit <- ugarchfit(spec = arch_spec, data = stock_index)
# Lấy phần dư (residuals) từ mô hình ARCH
residuals <- residuals(arch_fit)
# Tạo biến chỉ số thời gian
n <- length(residuals)
x <- 1:n
# Tạo mô hình tuyến tính với phần dư bình phương
arch_lm_model <- lm(residuals^2 ~ x)
# Kiểm định hiệu ứng ARCH-LM
arch_test <- bptest(arch_lm_model)
# Hiển thị kết quả
print(arch_test)
##
## studentized Breusch-Pagan test
##
## data: arch_lm_model
## BP = 1.073, df = 1, p-value = 0.3003
Kết quả chạy kiểm định của biến HEINY, dòng “data: arch_lm_model” chỉ ra rằng kiểm định được thực hiện trên mô hình có tên là arch_lm_model. Giá trị “BP” là giá trị thống kê kiểm định Breusch-Pagan, trong trường hợp này là 1.073. “df” là số độ tự do của kiểm định, ở đây là 1. Giá trị “p-value” là giá trị xác suất liên quan đến giả thuyết không có hiệu ứng ARCH. Trong trường hợp này, giá trị p-value là 0.3003.
Ý nghĩa của kết quả: Khi thực hiện kiểm định hiệu ứng ARCH: ARCH-LM, ta quan tâm đến giá trị p-value. Giá trị p-value là một số xác suất thể hiện khả năng xảy ra kết quả kiểm định như vậy hoặc càng “tệ” hơn, nếu giả thuyết không có hiệu ứng ARCH là chính xác. Giá trị p-value = 0.3003 cho thấy rằng khả năng xảy ra kết quả kiểm định như vậy hoặc tệ hơn, dưới giả thuyết H0 (không có hiệu ứng ARCH), là 30.03%. Với mức ý nghĩa được lựa chọn là 0.05 (thường được sử dụng), thì giá trị p-value là lớn hơn mức ý nghĩa này. Do đó, không có đủ bằng chứng để bác bỏ giả thuyết H0.
# Lấy dữ liệu cho biến SAB
stock_index_SAB <- data$SAB
# Tạo mô hình ARCH-SGARCH
arch_spec_SAB <- ugarchspec(variance.model = list(model = "sGARCH"))
arch_fit_SAB <- ugarchfit(spec = arch_spec_SAB, data = stock_index_SAB)
# Lấy phần dư (residuals) từ mô hình ARCH
residuals_SAB <- residuals(arch_fit_SAB)
# Tạo biến chỉ số thời gian
n_SAB <- length(residuals_SAB)
x_SAB <- 1:n_SAB
# Tạo mô hình tuyến tính với phần dư bình phương
arch_lm_model_SAB <- lm(residuals_SAB^2 ~ x_SAB)
# Kiểm định hiệu ứng ARCH-LM
arch_test_SAB <- bptest(arch_lm_model_SAB)
# Hiển thị kết quả
print(arch_test_SAB)
##
## studentized Breusch-Pagan test
##
## data: arch_lm_model_SAB
## BP = 0.073872, df = 1, p-value = 0.7858
Kết quả kiểm định cho biến SAB, dòng “data: arch_lm_model_SAB” cho biết rằng kiểm định được thực hiện trên mô hình có tên là arch_lm_model_SAB. Giá trị “BP” là giá trị thống kê kiểm định Breusch-Pagan, trong trường hợp này là 0.073872. “df” là số độ tự do của kiểm định, ở đây là 1. Giá trị “p-value” là giá trị xác suất liên quan đến giả thuyết không có hiệu ứng ARCH. Trong trường hợp này, giá trị p-value là 0.7858.
Vì giá trị p-value (0.7858) lớn hơn mức ý nghĩa 0.05, chúng ta không bác bỏ giả thuyết H0. Điều này có nghĩa là không có đủ bằng chứng để khẳng định rằng có hiệu ứng ARCH trong dữ liệu SAB. Hay nói cách khác, chuỗi thời gian SAB không có hiệu ứng ARCH theo kiểm định này.
data$HEINY <- as.numeric(data$HEINY)
HEINYts <- ts(data$HEINY)
# Ước lượng mô hình GARCH(1,1) theo phân phối chuẩn
HEINYspec <- ugarchspec(
variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE),
distribution.model = 'norm'
)
Đoạn mã này tạo ra một đối tượng spec (HEINYspec) để đặc tả mô hình GARCH.
Mô hình GARCH được sử dụng là GJR-GARCH (generalized autoregressive conditional heteroskedasticity) với garchOrder = c(1, 1).
Mô hình trung bình được sử dụng là ARMA (autoregressive moving average) với armaOrder = c(2, 2) và include.mean = TRUE (bao gồm thành phần trung bình).
Phân phối được sử dụng là phân phối chuẩn (“norm”).
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(2,0,2)
## Distribution : norm
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 48.856392 0.473468 103.18835 0.000000
## ar1 1.349832 0.035736 37.77220 0.000000
## ar2 -0.356684 0.035331 -10.09558 0.000000
## ma1 -0.357569 0.049562 -7.21462 0.000000
## ma2 -0.032984 0.034297 -0.96174 0.336183
## omega 0.119730 0.090088 1.32903 0.183840
## alpha1 0.039242 0.039012 1.00591 0.314459
## beta1 0.730060 0.186933 3.90547 0.000094
## gamma1 0.046587 0.044124 1.05581 0.291055
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 48.856392 0.127284 383.83877 0.00000
## ar1 1.349832 0.002860 471.95654 0.00000
## ar2 -0.356684 0.003375 -105.69005 0.00000
## ma1 -0.357569 0.042027 -8.50814 0.00000
## ma2 -0.032984 0.038847 -0.84909 0.39583
## omega 0.119730 0.229428 0.52186 0.60177
## alpha1 0.039242 0.081563 0.48113 0.63042
## beta1 0.730060 0.475371 1.53577 0.12459
## gamma1 0.046587 0.068789 0.67724 0.49826
##
## LogLikelihood : -1096.78
##
## Information Criteria
## ------------------------------------
##
## Akaike 2.2753
## Bayes 2.3204
## Shibata 2.2751
## Hannan-Quinn 2.2925
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.01464 0.9037
## Lag[2*(p+q)+(p+q)-1][11] 1.98372 1.0000
## Lag[4*(p+q)+(p+q)-1][19] 6.78964 0.9256
## d.o.f=4
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.1222 0.7266
## Lag[2*(p+q)+(p+q)-1][5] 1.8226 0.6609
## Lag[4*(p+q)+(p+q)-1][9] 2.4427 0.8461
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 1.507 0.500 2.000 0.2195
## ARCH Lag[5] 1.561 1.440 1.667 0.5765
## ARCH Lag[7] 1.630 2.315 1.543 0.7950
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 1.5569
## Individual Statistics:
## mu 0.08742
## ar1 0.13403
## ar2 0.13737
## ma1 0.17963
## ma2 0.02524
## omega 0.37322
## alpha1 0.68666
## beta1 0.46371
## gamma1 0.53611
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 2.1 2.32 2.82
## Individual Statistic: 0.35 0.47 0.75
##
## Sign Bias Test
## ------------------------------------
## t-value prob sig
## Sign Bias 1.1294 0.2590
## Negative Sign Bias 0.6216 0.5344
## Positive Sign Bias 0.3369 0.7363
## Joint Effect 1.3607 0.7148
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 36.15 0.010122
## 2 30 47.32 0.017266
## 3 40 50.72 0.099064
## 4 50 80.37 0.003137
##
##
## Elapsed time : 0.3674991
• Tham số spec là đối tượng spec đã được đặc tả trong bước trước.
• Dữ liệu được truyền vào là HEINYts, tức là cột dữ liệu thứ 2 của data.
Tương tự, các câu lệnh tiếp theo có cùng mục đích nhưng sử dụng các phân phối khác nhau:
# Phân phối Student (std)
heinyst.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")
heinyst<- ugarchfit(heinyst.spec,HEINYts)
print(heinyst)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(2,0,2)
## Distribution : std
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 48.804889 0.372018 131.18945 0.00000
## ar1 1.315666 0.023938 54.96231 0.00000
## ar2 -0.322649 0.023652 -13.64123 0.00000
## ma1 -0.333363 0.037576 -8.87161 0.00000
## ma2 -0.016403 0.031250 -0.52489 0.59966
## omega 0.002010 0.002028 0.99101 0.32168
## alpha1 0.005692 0.005641 1.00904 0.31296
## beta1 0.984860 0.001233 798.80602 0.00000
## gamma1 0.015704 0.010048 1.56292 0.11807
## shape 4.657773 0.718580 6.48192 0.00000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 48.804889 0.094096 518.67233 0.00000
## ar1 1.315666 0.002898 453.97537 0.00000
## ar2 -0.322649 0.002674 -120.64896 0.00000
## ma1 -0.333363 0.028932 -11.52249 0.00000
## ma2 -0.016403 0.036087 -0.45453 0.64945
## omega 0.002010 0.002490 0.80707 0.41963
## alpha1 0.005692 0.005864 0.97069 0.33170
## beta1 0.984860 0.000393 2508.40294 0.00000
## gamma1 0.015704 0.011168 1.40616 0.15968
## shape 4.657773 0.787243 5.91656 0.00000
##
## LogLikelihood : -1052.233
##
## Information Criteria
## ------------------------------------
##
## Akaike 2.1857
## Bayes 2.2359
## Shibata 2.1855
## Hannan-Quinn 2.2048
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.1015 0.7500
## Lag[2*(p+q)+(p+q)-1][11] 2.3449 1.0000
## Lag[4*(p+q)+(p+q)-1][19] 7.4953 0.8583
## d.o.f=4
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.05019 0.8227
## Lag[2*(p+q)+(p+q)-1][5] 3.37265 0.3432
## Lag[4*(p+q)+(p+q)-1][9] 3.96665 0.5945
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 0.4168 0.500 2.000 0.5185
## ARCH Lag[5] 0.4427 1.440 1.667 0.9004
## ARCH Lag[7] 0.5724 2.315 1.543 0.9714
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 1.6674
## Individual Statistics:
## mu 0.03331
## ar1 0.12261
## ar2 0.14428
## ma1 0.24258
## ma2 0.02621
## omega 0.24651
## alpha1 0.12810
## beta1 0.17822
## gamma1 0.18400
## shape 0.24040
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 2.29 2.54 3.05
## Individual Statistic: 0.35 0.47 0.75
##
## Sign Bias Test
## ------------------------------------
## t-value prob sig
## Sign Bias 1.1178 0.2639
## Negative Sign Bias 1.2662 0.2058
## Positive Sign Bias 0.1463 0.8837
## Joint Effect 1.9398 0.5850
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 12.24 0.8752
## 2 30 19.30 0.9135
## 3 40 23.47 0.9766
## 4 50 21.83 0.9997
##
##
## Elapsed time : 0.541512
# Phân phối Student đối xứng (sstd)
heinysst.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")
heinysst <- ugarchfit(spec = heinysst.spec, data = HEINYts)
print(heinysst)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(2,0,2)
## Distribution : sstd
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 48.810132 0.374799 130.23026 0.00000
## ar1 1.315920 0.024045 54.72779 0.00000
## ar2 -0.322836 0.023769 -13.58212 0.00000
## ma1 -0.333677 0.037666 -8.85874 0.00000
## ma2 -0.016535 0.031258 -0.52899 0.59681
## omega 0.002035 0.002035 1.00019 0.31722
## alpha1 0.005670 0.005651 1.00342 0.31566
## beta1 0.984815 0.001231 799.80217 0.00000
## gamma1 0.015725 0.010056 1.56380 0.11786
## skew 1.005315 0.041937 23.97202 0.00000
## shape 4.661496 0.720453 6.47023 0.00000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 48.810132 0.095867 509.14523 0.00000
## ar1 1.315920 0.002898 454.08866 0.00000
## ar2 -0.322836 0.002696 -119.75555 0.00000
## ma1 -0.333677 0.028958 -11.52285 0.00000
## ma2 -0.016535 0.036092 -0.45814 0.64685
## omega 0.002035 0.002502 0.81327 0.41606
## alpha1 0.005670 0.005888 0.96302 0.33554
## beta1 0.984815 0.000393 2504.05862 0.00000
## gamma1 0.015725 0.011165 1.40851 0.15898
## skew 1.005315 0.037664 26.69170 0.00000
## shape 4.661496 0.785414 5.93508 0.00000
##
## LogLikelihood : -1052.225
##
## Information Criteria
## ------------------------------------
##
## Akaike 2.1877
## Bayes 2.2429
## Shibata 2.1875
## Hannan-Quinn 2.2087
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.1025 0.7488
## Lag[2*(p+q)+(p+q)-1][11] 2.3447 1.0000
## Lag[4*(p+q)+(p+q)-1][19] 7.4967 0.8581
## d.o.f=4
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.05058 0.8221
## Lag[2*(p+q)+(p+q)-1][5] 3.38059 0.3419
## Lag[4*(p+q)+(p+q)-1][9] 3.97559 0.5930
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 0.4170 0.500 2.000 0.5184
## ARCH Lag[5] 0.4426 1.440 1.667 0.9004
## ARCH Lag[7] 0.5722 2.315 1.543 0.9714
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 1.8011
## Individual Statistics:
## mu 0.03454
## ar1 0.12524
## ar2 0.14719
## ma1 0.24186
## ma2 0.02635
## omega 0.24679
## alpha1 0.12829
## beta1 0.17860
## gamma1 0.18405
## skew 0.18165
## shape 0.24065
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 2.49 2.75 3.27
## Individual Statistic: 0.35 0.47 0.75
##
## Sign Bias Test
## ------------------------------------
## t-value prob sig
## Sign Bias 1.1188 0.2635
## Negative Sign Bias 1.2667 0.2056
## Positive Sign Bias 0.1469 0.8832
## Joint Effect 1.9447 0.5840
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 11.83 0.8929
## 2 30 20.16 0.8879
## 3 40 21.66 0.9889
## 4 50 21.31 0.9998
##
##
## Elapsed time : 0.694818
# Phân phối Generalized Error Distribution(ged)
heinyged.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")
heinyged <- ugarchfit(heinyged.spec,HEINYts)
print(heinyged)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(2,0,2)
## Distribution : ged
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 48.911449 0.355493 137.58777 0.000000
## ar1 1.620122 0.002913 556.25263 0.000000
## ar2 -0.623788 0.002766 -225.53878 0.000000
## ma1 -0.629971 0.022123 -28.47573 0.000000
## ma2 -0.033373 0.017852 -1.86941 0.061566
## omega 0.051858 0.040923 1.26721 0.205079
## alpha1 0.022931 0.024781 0.92533 0.354795
## beta1 0.867965 0.089313 9.71819 0.000000
## gamma1 0.036522 0.035519 1.02824 0.303839
## shape 1.237134 0.071595 17.27972 0.000000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 48.911449 0.113993 429.07557 0.000000
## ar1 1.620122 0.001446 1120.52210 0.000000
## ar2 -0.623788 0.000884 -705.69048 0.000000
## ma1 -0.629971 0.017301 -36.41317 0.000000
## ma2 -0.033373 0.011615 -2.87317 0.004064
## omega 0.051858 0.043521 1.19157 0.233429
## alpha1 0.022931 0.031585 0.72599 0.467847
## beta1 0.867965 0.095279 9.10976 0.000000
## gamma1 0.036522 0.040269 0.90695 0.364433
## shape 1.237134 0.090558 13.66127 0.000000
##
## LogLikelihood : -1059.022
##
## Information Criteria
## ------------------------------------
##
## Akaike 2.1996
## Bayes 2.2498
## Shibata 2.1994
## Hannan-Quinn 2.2187
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.004443 0.9469
## Lag[2*(p+q)+(p+q)-1][11] 2.173207 1.0000
## Lag[4*(p+q)+(p+q)-1][19] 7.024156 0.9062
## d.o.f=4
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.005026 0.9435
## Lag[2*(p+q)+(p+q)-1][5] 2.067624 0.6025
## Lag[4*(p+q)+(p+q)-1][9] 2.770137 0.7962
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 1.349 0.500 2.000 0.2455
## ARCH Lag[5] 1.459 1.440 1.667 0.6032
## ARCH Lag[7] 1.682 2.315 1.543 0.7843
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 2.2979
## Individual Statistics:
## mu 0.01369
## ar1 0.17666
## ar2 0.19450
## ma1 0.14726
## ma2 0.03700
## omega 0.71819
## alpha1 0.76287
## beta1 0.71633
## gamma1 0.67029
## shape 0.30398
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 2.29 2.54 3.05
## Individual Statistic: 0.35 0.47 0.75
##
## Sign Bias Test
## ------------------------------------
## t-value prob sig
## Sign Bias 1.1092 0.2676
## Negative Sign Bias 0.8975 0.3697
## Positive Sign Bias 0.2104 0.8334
## Joint Effect 1.4607 0.6914
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 17.79 0.5362
## 2 30 24.85 0.6859
## 3 40 37.38 0.5437
## 4 50 43.43 0.6975
##
##
## Elapsed time : 0.7438951
# Phân phối Generalized Error Distribution đối xứng ("sged")
heinysged.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")
heinysged <- ugarchfit(heinysged.spec,HEINYts)
print(heinysged)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(2,0,2)
## Distribution : sged
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 48.926251 0.357407 136.89220 0.00000
## ar1 1.604961 0.003191 503.00351 0.00000
## ar2 -0.608979 0.003060 -199.03168 0.00000
## ma1 -0.609888 0.027831 -21.91381 0.00000
## ma2 -0.033655 0.027959 -1.20374 0.22869
## omega 0.051654 0.037096 1.39242 0.16379
## alpha1 0.022130 0.024119 0.91754 0.35886
## beta1 0.868752 0.080963 10.73024 0.00000
## gamma1 0.037054 0.035709 1.03767 0.29942
## skew 1.028778 0.029347 35.05508 0.00000
## shape 1.234936 0.072507 17.03195 0.00000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 48.926251 0.115126 424.98025 0.00000
## ar1 1.604961 0.001502 1068.21994 0.00000
## ar2 -0.608979 0.001034 -588.73284 0.00000
## ma1 -0.609888 0.028120 -21.68854 0.00000
## ma2 -0.033655 0.029353 -1.14657 0.25156
## omega 0.051654 0.035789 1.44327 0.14894
## alpha1 0.022130 0.030690 0.72109 0.47085
## beta1 0.868752 0.078873 11.01463 0.00000
## gamma1 0.037054 0.040927 0.90538 0.36526
## skew 1.028778 0.026455 38.88717 0.00000
## shape 1.234936 0.092805 13.30681 0.00000
##
## LogLikelihood : -1058.726
##
## Information Criteria
## ------------------------------------
##
## Akaike 2.2011
## Bayes 2.2563
## Shibata 2.2008
## Hannan-Quinn 2.2221
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.04518 0.8317
## Lag[2*(p+q)+(p+q)-1][11] 2.18573 1.0000
## Lag[4*(p+q)+(p+q)-1][19] 7.04028 0.9047
## d.o.f=4
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.002638 0.9590
## Lag[2*(p+q)+(p+q)-1][5] 2.055512 0.6054
## Lag[4*(p+q)+(p+q)-1][9] 2.750071 0.7994
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 1.329 0.500 2.000 0.2490
## ARCH Lag[5] 1.444 1.440 1.667 0.6072
## ARCH Lag[7] 1.655 2.315 1.543 0.7897
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 2.5941
## Individual Statistics:
## mu 0.02119
## ar1 0.21448
## ar2 0.23311
## ma1 0.12376
## ma2 0.03610
## omega 0.74467
## alpha1 0.76851
## beta1 0.73448
## gamma1 0.67149
## skew 0.18693
## shape 0.31689
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 2.49 2.75 3.27
## Individual Statistic: 0.35 0.47 0.75
##
## Sign Bias Test
## ------------------------------------
## t-value prob sig
## Sign Bias 1.0692 0.2853
## Negative Sign Bias 0.8858 0.3760
## Positive Sign Bias 0.1735 0.8623
## Joint Effect 1.3897 0.7079
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 17.84 0.5335
## 2 30 27.26 0.5577
## 3 40 43.80 0.2750
## 4 50 52.69 0.3333
##
##
## Elapsed time : 1.24662
# Tạo danh sách bao gồm các phân phối và ước lượng
HEINY_list <- list(HEINYfit,heinyst,heinysst,heinyged,heinysged)
Đoạn mã này tạo ra một danh sách (HEINY_list) chứa các đối tượng mô hình GARCH đã được ước lượng.
Mỗi đối tượng mô hình GARCH tương ứng với một loại mô hình và đã được ước lượng trước đó bằng cách sử dụng hàm ugarchfit().
Tên của từng đối tượng trong danh sách được đặt theo quy ước nhất định để chỉ loại mô hình và phân phối tương ứng.
Cụ thể, danh sách heiny.list bao gồm các đối tượng mô hình GARCH sau:
HEINYfit : Đối tượng mô hình GARCH(1,1) với phân phối chuẩn.
heinyst : Đối tượng mô hình GARCH(1,1) với phân phối Student’s t.
heinysst : Đối tượng mô hình GARCH(1,1) với phân phối Student’s t đối xứng.
heinyged : Đối tượng mô hình GARCH(1,1) với phân phối Generalized Error Distribution (GED).
heinysged : Đối tượng mô hình GARCH(1,1) với phân phối Generalized Error Distribution đối xứng.
## [,1] [,2] [,3] [,4] [,5]
## [1,] 2.275268 2.185664 2.187705 2.199633 2.201082
## [2,] 2.320448 2.235864 2.242925 2.249832 2.256301
## [3,] 2.275099 2.185456 2.187453 2.199424 2.200829
## [4,] 2.292463 2.204770 2.208721 2.218739 2.222098
Đoạn mã này sử dụng hàm sapply() để áp dụng hàm infocriteria lên từng đối tượng trong danh sách HEINY_list.
Hàm infocriteria được sử dụng để tính toán các tiêu chí thông tin cho mô hình GARCH, bao gồm AIC, BIC và HQC.
Kết quả của hàm sapply() là một ma trận, trong đó mỗi cột tương ứng với một đối tượng mô hình và mỗi hàng tương ứng với một tiêu chí thông tin.
## [1] "Akaike" "Bayes" "Shibata" "Hannan-Quinn"
Đoạn mã này gán tên hàng cho ma trận heiny_info_mat bằng cách sử dụng tên hàng từ kết quả của hàm infocriteria cho mô hình GARCH(1,1) với phân phối chuẩn.
Điều này đảm bảo rằng tên hàng của ma trận heiny_info_mat tương ứng với các tiêu chí thông tin (ví dụ: AIC, BIC, HQC).
Cuối cùng, đoạn mã này hiển thị ma trận heiny_info_mat, chứa các tiêu chí thông tin cho tất cả các mô hình GARCH đã được ước lượng.
Ma trận này cung cấp một cái nhìn tổng quan về các tiêu chí thông tin để so sánh và đánh giá hiệu suất của các mô hình GARCH khác nhau.
# Ước lượng mô hình Garch(2,2) với phân phối Student đối xứng (sttd)
heinysst.spec2 <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2,2)), mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")
heinysst2 <- ugarchfit(heinysst.spec2,HEINYts)
print(heinysst2)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(2,2)
## Mean Model : ARFIMA(2,0,2)
## Distribution : sstd
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 48.822405 0.372369 131.11309 0.00000
## ar1 1.307516 0.021966 59.52358 0.00000
## ar2 -0.314229 0.021719 -14.46772 0.00000
## ma1 -0.323980 0.035359 -9.16250 0.00000
## ma2 -0.021582 0.032062 -0.67314 0.50086
## omega 0.003937 0.002507 1.57072 0.11625
## alpha1 0.000000 0.032843 0.00000 1.00000
## alpha2 0.014625 0.030621 0.47762 0.63292
## beta1 0.210799 0.003838 54.92589 0.00000
## beta2 0.758628 0.002220 341.76953 0.00000
## gamma1 -0.012508 0.045367 -0.27570 0.78278
## gamma2 0.037043 0.042159 0.87863 0.37960
## skew 1.008091 0.042357 23.79972 0.00000
## shape 4.697597 0.742718 6.32487 0.00000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 48.822405 0.098228 497.03216 0.00000
## ar1 1.307516 0.002728 479.35086 0.00000
## ar2 -0.314229 0.002400 -130.91975 0.00000
## ma1 -0.323980 0.028107 -11.52666 0.00000
## ma2 -0.021582 0.036436 -0.59233 0.55363
## omega 0.003937 0.005364 0.73394 0.46298
## alpha1 0.000000 0.047762 0.00000 1.00000
## alpha2 0.014625 0.043027 0.33991 0.73392
## beta1 0.210799 0.004699 44.85825 0.00000
## beta2 0.758628 0.003917 193.66783 0.00000
## gamma1 -0.012508 0.057815 -0.21634 0.82873
## gamma2 0.037043 0.048500 0.76376 0.44501
## skew 1.008091 0.037135 27.14696 0.00000
## shape 4.697597 0.760537 6.17669 0.00000
##
## LogLikelihood : -1050.953
##
## Information Criteria
## ------------------------------------
##
## Akaike 2.1913
## Bayes 2.2615
## Shibata 2.1909
## Hannan-Quinn 2.2180
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.1188 0.7303
## Lag[2*(p+q)+(p+q)-1][11] 2.4874 1.0000
## Lag[4*(p+q)+(p+q)-1][19] 7.6002 0.8460
## d.o.f=4
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.3094 0.5780
## Lag[2*(p+q)+(p+q)-1][11] 2.6883 0.9031
## Lag[4*(p+q)+(p+q)-1][19] 4.1617 0.9737
## d.o.f=4
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[5] 0.02784 0.500 2.000 0.8675
## ARCH Lag[7] 0.34349 1.473 1.746 0.9377
## ARCH Lag[9] 0.61135 2.402 1.619 0.9752
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 3.6212
## Individual Statistics:
## mu 0.03003
## ar1 0.12148
## ar2 0.14846
## ma1 0.25828
## ma2 0.02467
## omega 0.25358
## alpha1 0.16403
## alpha2 0.13217
## beta1 0.17477
## beta2 0.17517
## gamma1 0.18480
## gamma2 0.19497
## skew 0.18752
## shape 0.21941
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 3.08 3.34 3.9
## Individual Statistic: 0.35 0.47 0.75
##
## Sign Bias Test
## ------------------------------------
## t-value prob sig
## Sign Bias 1.2370 0.21637
## Negative Sign Bias 1.8329 0.06712 *
## Positive Sign Bias 0.0768 0.93880
## Joint Effect 3.4931 0.32166
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 12.61 0.8580
## 2 30 21.95 0.8222
## 3 40 23.06 0.9801
## 4 50 29.23 0.9888
##
##
## Elapsed time : 1.12808
# Trích xuất chuỗi phần dư v của chuỗi lợi suất HEINY
heiny.res <- residuals(heinysst2)/sigma(heinysst2)
fitdist(distribution = "sstd", heiny.res, control = list())
## $pars
## mu sigma skew shape
## 0.01754891 0.97689739 1.01973370 5.01062097
##
## $convergence
## [1] 0
##
## $values
## [1] 1363.415 1311.039 1311.039
##
## $lagrange
## [1] 0
##
## $hessian
## [,1] [,2] [,3] [,4]
## [1,] 1269.0937066 -18.97503 -367.683684 0.6703983
## [2,] -18.9750315 1448.69095 -56.947868 51.3596103
## [3,] -367.6836841 -56.94787 609.826633 -3.8624673
## [4,] 0.6703983 51.35961 -3.862467 3.5675644
##
## $ineqx0
## NULL
##
## $nfuneval
## [1] 107
##
## $outer.iter
## [1] 2
##
## $elapsed
## Time difference of 0.05079603 secs
##
## $vscale
## [1] 1 1 1 1 1
Đoạn mã này trích xuất chuỗi phần dư của mô hình GARCH(2,2) với phân phối Student’s t đối xứng (heinysst2).
Hàm residuals() được sử dụng để lấy phần dư từ mô hình, và sigma() được sử dụng để lấy độ lệch chuẩn (sigma) từ mô hình.
Sử dụng hàm fitdist() từ gói fitdistrplus để ước lượng tham số phân phối dựa trên dữ liệu chuỗi phần dư (heiny.res).
Đối số distribution chỉ định loại phân phối cần ước lượng, trong trường hợp này là “sstd” (phân phối Student’s t đối xứng).
control = list() được sử dụng để chỉ định các tham số điều khiển mặc định cho quá trình ước lượng.
v = pdist("sstd",heiny.res, mu = 0.01754891, sigma = 0.97689739, skew = 1.01973370, shape = 5.01062097)
v
## [1] 0.7043146414 0.2778407197 0.3264540396 0.7851708968 0.8142647776
## [6] 0.1622068979 0.6096470635 0.5498211866 0.2164528149 0.5865012988
## [11] 0.6084729739 0.4257789156 0.3402192378 0.3530440983 0.3419932730
## [16] 0.9022586791 0.3284750578 0.3776016198 0.4262667272 0.5666050530
## [21] 0.8865324136 0.8993945075 0.6842998225 0.1551915812 0.5738443181
## [26] 0.7860909956 0.2412881900 0.9081699411 0.6575568053 0.6892970821
## [31] 0.9085243393 0.0628245532 0.7631723815 0.3738790970 0.9009097860
## [36] 0.3048444784 0.0126929193 0.3428896467 0.7705509814 0.2631149026
## [41] 0.6329481987 0.9332540348 0.7728733833 0.2925137849 0.7438595936
## [46] 0.9504613672 0.6513479429 0.4985250860 0.1590294419 0.3771121212
## [51] 0.1059425556 0.3596622622 0.3178992094 0.5282081087 0.1473084733
## [56] 0.0611475251 0.1197173014 0.7630145289 0.3234596959 0.8569950277
## [61] 0.8803684113 0.3967215532 0.1459732948 0.2760370316 0.0493974664
## [66] 0.0286067995 0.3026310916 0.3809408100 0.7610935740 0.8556524587
## [71] 0.5002816667 0.8073145389 0.1518464013 0.4546187660 0.7001899193
## [76] 0.6029810363 0.7091746388 0.6141723990 0.5883349041 0.7791713722
## [81] 0.0788068522 0.0508692015 0.3411824963 0.0438699396 0.6725918163
## [86] 0.3469873050 0.3723443313 0.8499840259 0.7002186867 0.9281601482
## [91] 0.2308027397 0.4635661386 0.5130356885 0.6239596074 0.1297379159
## [96] 0.3893236141 0.7943299135 0.0544044957 0.3565143879 0.8866793009
## [101] 0.8267827727 0.2611091949 0.9415710603 0.6195994034 0.1544568416
## [106] 0.3630302996 0.7817442207 0.4854897152 0.9992209647 0.4206718011
## [111] 0.3102947507 0.4312449356 0.4780410982 0.4446921000 0.7178920544
## [116] 0.5394228167 0.0926642410 0.2374957450 0.3317242434 0.7377518832
## [121] 0.6118071410 0.7306861237 0.2316854702 0.8693105357 0.7558889531
## [126] 0.8054334813 0.6706752952 0.0200495439 0.3429663855 0.4244354930
## [131] 0.1428883716 0.6981973966 0.5953204469 0.6342386631 0.9734047633
## [136] 0.4537722185 0.7263858475 0.3701870084 0.2507914462 0.3198906295
## [141] 0.1840410573 0.8250253824 0.0795758757 0.2549185733 0.9050848003
## [146] 0.0132039323 0.0353365816 0.1810186491 0.4761318787 0.3886915332
## [151] 0.0581755226 0.2259693275 0.5175967607 0.2443986236 0.6984430714
## [156] 0.1984834140 0.7288161529 0.4672265210 0.6746153770 0.4540715342
## [161] 0.1258261706 0.5270345737 0.5554860842 0.2970016390 0.9547425064
## [166] 0.6271467870 0.0799274372 0.2755546300 0.8277162473 0.6546918238
## [171] 0.5594558567 0.4839157220 0.6901212679 0.0429540292 0.0779722554
## [176] 0.4766697113 0.4252893747 0.0668706453 0.7704880265 0.8351526659
## [181] 0.1739952677 0.1756073753 0.1238597335 0.7534865744 0.2304971565
## [186] 0.4810296967 0.5796497844 0.2502182296 0.8069133084 0.8890939857
## [191] 0.3285597851 0.0370112449 0.5143161997 0.6481970488 0.1904211515
## [196] 0.0990670682 0.5255587231 0.9387295841 0.2001236517 0.6052576656
## [201] 0.9082006608 0.8508950916 0.8894158783 0.7725123825 0.4978737154
## [206] 0.1691081576 0.3607748662 0.1259737382 0.7062621859 0.6604281636
## [211] 0.6377274537 0.8802371630 0.2986772991 0.3816255514 0.9179556167
## [216] 0.6609683685 0.9770916014 0.9503767159 0.5489903330 0.0516012981
## [221] 0.2485384379 0.1559574123 0.7685390310 0.5183649511 0.5972671719
## [226] 0.4789891341 0.4388238754 0.8625559222 0.7230585207 0.7183649219
## [231] 0.3160410256 0.6903182873 0.6211262553 0.3473845637 0.5125706683
## [236] 0.4243583685 0.5328915639 0.1436886528 0.3294371501 0.7418845367
## [241] 0.9998778925 0.6700929865 0.9573204089 0.2269582301 0.7679675440
## [246] 0.9058013073 0.1336129671 0.8522542233 0.3891559654 0.3363850104
## [251] 0.6802852435 0.1088508146 0.0684774321 0.0397208527 0.4492304758
## [256] 0.5801108175 0.2346495650 0.7464375434 0.8757963715 0.0625701763
## [261] 0.0996239606 0.4652154250 0.7324601050 0.7163270086 0.8660210571
## [266] 0.6829577333 0.1988850096 0.4141603165 0.8691367882 0.3887243078
## [271] 0.0434699763 0.4163698789 0.2196709105 0.3042323277 0.8764966036
## [276] 0.6749748634 0.5503714344 0.3058280441 0.4027921628 0.6878413505
## [281] 0.2843630510 0.6621162797 0.9982795761 0.5907756070 0.8867360430
## [286] 0.8028520257 0.8224443950 0.2948920896 0.5488362263 0.8804197371
## [291] 0.9801317031 0.8102211935 0.0912442409 0.8740747657 0.3145136856
## [296] 0.7573705971 0.9648921894 0.3689459121 0.8568601476 0.1575932892
## [301] 0.6221306061 0.3864367738 0.4254234212 0.5015515304 0.1336052909
## [306] 0.2890087916 0.9202273704 0.0045342465 0.3294121968 0.9360763482
## [311] 0.8131854063 0.1306074511 0.7956641077 0.3476881706 0.6676825343
## [316] 0.4711657443 0.1167559736 0.1183668712 0.4588112790 0.1876357186
## [321] 0.6084520638 0.0538870457 0.7979568980 0.5464715961 0.4401403086
## [326] 0.6727549539 0.1350453459 0.0630948544 0.2599787621 0.9593654951
## [331] 0.0455294003 0.9300884621 0.3020572219 0.8699269485 0.3725325300
## [336] 0.4656005487 0.2198675796 0.9206027967 0.6683998181 0.4933547788
## [341] 0.0758755792 0.2097241157 0.6604085291 0.4036519099 0.8184790548
## [346] 0.7526789543 0.1947268974 0.2834735470 0.0032470863 0.9815491994
## [351] 0.0872115980 0.3186316464 0.3060250920 0.8268479277 0.4147749636
## [356] 0.5176825822 0.5669456905 0.9099339084 0.5866092795 0.8759070842
## [361] 0.0577927349 0.2722148907 0.3562516512 0.4749668972 0.0539080702
## [366] 0.9655102990 0.7728354575 0.4210818054 0.1950105334 0.1236418663
## [371] 0.8285735182 0.6813592446 0.0812885469 0.6274897863 0.0208183784
## [376] 0.3122650136 0.7094452432 0.2159126987 0.6852766785 0.5138547713
## [381] 0.4136925814 0.4862677820 0.1985677323 0.4320800296 0.5384615748
## [386] 0.4046076527 0.9109380206 0.6288769321 0.3169789994 0.2541324429
## [391] 0.6875288805 0.2494554494 0.5468577684 0.2321854411 0.9738108294
## [396] 0.2767188646 0.0083213807 0.4019475609 0.2645017404 0.8819861688
## [401] 0.3354717933 0.4094761211 0.4499437082 0.1617024388 0.3593193482
## [406] 0.4740346416 0.1123062814 0.4261164700 0.5985577941 0.0896964526
## [411] 0.0096396977 0.1818057361 0.5711820603 0.3174558524 0.0216716394
## [416] 0.3845180223 0.8577494783 0.8079861249 0.6236677700 0.1237628610
## [421] 0.7848291219 0.9892044921 0.0798053561 0.2127373876 0.1736390178
## [426] 0.8829049271 0.9877016299 0.3257104423 0.1505774308 0.7212030932
## [431] 0.2503722515 0.2546255197 0.1089965216 0.7633532879 0.6348075320
## [436] 0.9701370014 0.7663899818 0.0160527005 0.3181542136 0.4467032474
## [441] 0.6025863622 0.1145529356 0.2663861829 0.5124069066 0.9811309370
## [446] 0.1116193451 0.7784725700 0.9109777747 0.2069173063 0.8060640885
## [451] 0.4761684517 0.7879657399 0.9507761094 0.0319633409 0.1766685381
## [456] 0.2724578495 0.1275328870 0.7471604517 0.5084030108 0.6727353649
## [461] 0.4705081132 0.7385157738 0.9552614185 0.3232591472 0.6125609141
## [466] 0.9368314845 0.5927200549 0.8675152352 0.2149970737 0.5121264703
## [471] 0.6841278802 0.1812003198 0.5071360199 0.2865090311 0.8007466311
## [476] 0.1157910517 0.7243917563 0.6508602019 0.1487014606 0.9375738170
## [481] 0.6567740484 0.3955601133 0.8031848331 0.0430536349 0.7111505825
## [486] 0.2689527875 0.2488503072 0.0612939598 0.9667310478 0.0350651601
## [491] 0.5116249164 0.4092875487 0.5432158306 0.5052648447 0.3295243680
## [496] 0.7291847421 0.0818190578 0.6027664648 0.0471620713 0.9606679594
## [501] 0.0892819159 0.9146393304 0.5863794241 0.6034884052 0.6434160905
## [506] 0.0871299761 0.2095062289 0.0864283408 0.9649838338 0.2165735539
## [511] 0.9671297312 0.0669228084 0.8997938098 0.8660767624 0.6102229038
## [516] 0.7984431221 0.8849013127 0.4828490927 0.4580930001 0.6344468293
## [521] 0.0481946309 0.9902319262 0.1741092764 0.2550545668 0.2236883800
## [526] 0.1748552166 0.4991007146 0.0651723126 0.3700835770 0.9494209671
## [531] 0.9597061744 0.5888254933 0.2161597305 0.1019321454 0.4278311820
## [536] 0.8468812931 0.0312621226 0.6345165210 0.8716485670 0.9237288387
## [541] 0.0881747072 0.8312892870 0.5715031916 0.9569517903 0.6905736826
## [546] 0.3950416369 0.4441052667 0.4453959761 0.0061431466 0.3196258852
## [551] 0.5860190619 0.1399190043 0.4449294937 0.6950603298 0.7175268305
## [556] 0.1104306210 0.2921278161 0.5115587571 0.3315130858 0.7846504192
## [561] 0.5956698501 0.8860173237 0.8583709701 0.0552372846 0.4515674510
## [566] 0.5459327567 0.0179825973 0.7516749528 0.3466655346 0.9577129985
## [571] 0.1424294341 0.2203804237 0.0479751876 0.2477438915 0.3698085605
## [576] 0.8667936594 0.8192704007 0.0026838837 0.0703872648 0.9906868674
## [581] 0.9772347437 0.9131338857 0.6431680079 0.9393692386 0.9845797948
## [586] 0.0493668921 0.9828352609 0.5293487819 0.9959144121 0.4688959275
## [591] 0.4088568340 0.1072210646 0.0378837189 0.6924718949 0.6944142783
## [596] 0.7728337304 0.5221018855 0.2865419664 0.5599522506 0.9147781415
## [601] 0.4943128807 0.8633307080 0.7826221852 0.4860772094 0.6239291613
## [606] 0.8144560857 0.7593033989 0.9761307344 0.1107782513 0.6256711566
## [611] 0.5457601731 0.3119862407 0.1936561841 0.3388870696 0.8238400306
## [616] 0.8439617800 0.3734437862 0.1010523486 0.5182237530 0.5557147566
## [621] 0.1915970970 0.3541424336 0.6978445353 0.2520040369 0.4100770563
## [626] 0.4073909027 0.3372960878 0.4100831838 0.0479015908 0.1087830196
## [631] 0.0608333207 0.7331133869 0.2104245563 0.5713864491 0.9475352882
## [636] 0.2359922118 0.0247827041 0.4882120339 0.0846911515 0.8836719385
## [641] 0.9962357375 0.4347140658 0.2364762746 0.5350914462 0.4326880523
## [646] 0.7881969141 0.9804058707 0.3518397100 0.8953827275 0.8784772346
## [651] 0.4508955183 0.5551000636 0.2954769344 0.7488785423 0.4922688719
## [656] 0.8594669415 0.2131775123 0.8143995833 0.3704158478 0.5818345832
## [661] 0.2980113624 0.8296714818 0.0122308947 0.7605924992 0.1003284461
## [666] 0.7707208756 0.2609947945 0.6242099764 0.1739010043 0.4714109601
## [671] 0.7001363298 0.6088818885 0.4316513423 0.0474153467 0.5476776385
## [676] 0.8473353244 0.5280123359 0.1708680572 0.7498515006 0.8272898984
## [681] 0.2263262274 0.2548650208 0.5440481480 0.6728478749 0.8013056541
## [686] 0.5555594262 0.8249941813 0.4835717797 0.3466213191 0.1741241555
## [691] 0.8269048735 0.4062779827 0.3581232052 0.5307183211 0.7016695964
## [696] 0.2867699135 0.5608138612 0.8736919504 0.7106092978 0.9882522724
## [701] 0.0777414749 0.6009922066 0.4599706316 0.3088283773 0.6371647796
## [706] 0.7746759293 0.5314570592 0.0568371885 0.9078305563 0.9449195004
## [711] 0.2984469280 0.8128557633 0.3841895542 0.0693911576 0.9622406140
## [716] 0.7709239297 0.7314893879 0.0598679781 0.9774022926 0.9909217902
## [721] 0.2124699027 0.6509729703 0.4286914132 0.9749504585 0.4375551374
## [726] 0.2401775262 0.5559011903 0.5871512462 0.2148113871 0.5414935118
## [731] 0.2726168471 0.3044264138 0.9969702070 0.5333007331 0.5090874659
## [736] 0.7971922195 0.6729925420 0.0355744263 0.7892759660 0.8463177247
## [741] 0.3418476372 0.8985506178 0.7486488977 0.5037965989 0.8100363890
## [746] 0.7653684778 0.7126420776 0.6417234556 0.0476729740 0.5975351076
## [751] 0.1100445582 0.1057319581 0.9049630239 0.7294446980 0.4180352995
## [756] 0.6216166151 0.3236489819 0.6626744854 0.8535917216 0.5613973809
## [761] 0.4431240592 0.2602691280 0.3853717670 0.9249408143 0.5490616570
## [766] 0.4763535829 0.4321618661 0.8362344507 0.5118425085 0.6809273184
## [771] 0.6616533971 0.8396101960 0.2846556142 0.6441638961 0.4557372046
## [776] 0.5146496259 0.2082909209 0.1420439519 0.8407853280 0.8907090924
## [781] 0.8302346073 0.3224294018 0.0175584005 0.4183728240 0.9399984603
## [786] 0.1263705455 0.1736667171 0.4578637233 0.9142792073 0.5429649977
## [791] 0.3328299767 0.0018651736 0.8199465565 0.2739658901 0.3870500612
## [796] 0.0886810212 0.3537154340 0.5678064374 0.8154465334 0.3197979389
## [801] 0.2981320311 0.3022024743 0.1589107062 0.1045854277 0.2342322193
## [806] 0.6594372259 0.7460326903 0.2665583654 0.2677106920 0.8009115484
## [811] 0.8429472546 0.8949027308 0.7477997443 0.3392710720 0.9565438357
## [816] 0.2186422308 0.8494757292 0.3828230118 0.2805868884 0.7373075558
## [821] 0.1467273524 0.0655995896 0.3055938227 0.0315898144 0.0088607238
## [826] 0.6896904509 0.7057684635 0.3175791668 0.9233317394 0.9761795240
## [831] 0.5124799889 0.3942438014 0.6509760992 0.8387635128 0.0824869079
## [836] 0.9910040675 0.3878388947 0.9097992354 0.5282480154 0.3622327579
## [841] 0.4258080020 0.0383569339 0.1337044838 0.9529410915 0.0473507970
## [846] 0.9604017397 0.2761677620 0.8724186008 0.7547720955 0.6573172133
## [851] 0.5034172434 0.4243752065 0.9049722078 0.1305739615 0.8135238461
## [856] 0.9336057930 0.9370696659 0.2765048045 0.1048998049 0.7391008675
## [861] 0.3677595661 0.7795764102 0.7125763918 0.2232148015 0.0328047577
## [866] 0.7535537561 0.1502345874 0.3045381771 0.5180615539 0.9649653712
## [871] 0.6387065231 0.3141811000 0.7847671767 0.8365749031 0.2002361374
## [876] 0.8760177513 0.0770009009 0.3525432576 0.8008715743 0.7712378776
## [881] 0.0746446203 0.6808778258 0.1844315146 0.0449286218 0.7980701003
## [886] 0.3681443596 0.8205249759 0.2471839434 0.3934703617 0.9127900093
## [891] 0.7412111774 0.8434010072 0.6057822862 0.0877634764 0.0676092488
## [896] 0.9107956666 0.9530551329 0.0094211690 0.0002308356 0.4962178256
## [901] 0.0238524581 0.1562521259 0.1649569082 0.3801405312 0.6591406071
## [906] 0.6667672458 0.9271148065 0.7767869914 0.7094272795 0.0963525834
## [911] 0.2952017725 0.6538677524 0.1631921796 0.5677494593 0.3465832594
## [916] 0.8171712269 0.7743265098 0.7755389016 0.4553741052 0.4723455584
## [921] 0.1030018671 0.0292618640 0.4585207622 0.2572308872 0.4095717897
## [926] 0.4464403220 0.6543362144 0.5776241610 0.0428929212 0.6223177427
## [931] 0.3939378455 0.7862149161 0.6598768070 0.9665472122 0.3128814414
## [936] 0.2306019386 0.6673478720 0.4561036622 0.2217901044 0.4914391499
## [941] 0.3989091201 0.2266673040 0.8793876378 0.6496640971 0.4180211251
## [946] 0.1351583032 0.9050049810 0.7435079475 0.4808198373 0.3927954082
## [951] 0.5351008952 0.4881755444 0.0846078541 0.6977371022 0.6132586072
## [956] 0.5508621548 0.3110489788 0.4358105586 0.7837375409 0.5689870829
## [961] 0.0712165455 0.3510780601 0.2503406212 0.7316989310 0.8526350726
## [966] 0.6640329377 0.8088680976 0.9011722940 0.9493718045 0.8975289570
## [971] 0.0443457152 0.1096952792
Đoạn mã này sử dụng hàm pdist() từ gói gld để tạo một đối tượng phân phối v dựa trên các tham số ước lượng từ fitdist.
pdist() nhận các đối số như distribution (loại phân phối), data (dữ liệu chuỗi phần dư), và các tham số phân phối cụ thể (mu, sigma, skew, shape).
##
## Anderson-Darling normality test
##
## data: v
## A = 11.046, p-value < 2.2e-16
## Warning in cvm.test(v): p-value is smaller than 7.37e-10, cannot be computed
## more accurately
##
## Cramer-von Mises normality test
##
## data: v
## W = 1.5154, p-value = 7.37e-10
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: v
## D = 0.012179, p-value = 0.9987
## alternative hypothesis: two-sided
Kết quả chạy kiểm định của 3 kiểm định trên thì hai kiểm định đầu tiên có giá trị p-value bé hơn 0.05, ở kiểm định cuối có giá trị p-value lớn hơn 0.05 nên ta chấp nhận mô hình biên phù hợp.