Trong bối cảnh nền kinh tế Việt Nam đang chuyển mình mạnh mẽ và mở rộng hội nhập toàn cầu, các chỉ số kinh tế và tài chính ngày càng trở thành những công cụ quan trọng để đánh giá tình trạng phát triển của quốc gia. Sự tăng trưởng ổn định và hội nhập quốc tế không chỉ phản ánh sự phát triển toàn diện của nền kinh tế mà còn tạo ra những cơ hội và thách thức mới cho các nhà đầu tư và các cơ quan quản lý.
Theo Bộ Công Thương, năm 2019, xuất khẩu của doanh nghiệp FDI đạt 181,35 tỷ USD, chiếm 70,1% và tăng lên 202,89 tỷ USD, chiếm 72,3% năm 2020. Đến năm 2021, kim ngạch xuất khẩu của doanh nghiệp FDI ước đạt 247,5 tỷ USD tăng 21,1%, chiếm 73,6% tổng kim ngạch xuất khẩu. Trong khi đó, kim ngạch xuất khẩu của khu vực doanh nghiệp trong nước ước đạt khoảng 88,7 tỷ USD, tăng 13,4%, thấp hơn mức tăng trưởng xuất khẩu chung của cả nước (19%) và chỉ chiếm 26,4% kim ngạch xuất khẩu (cùng kỳ năm 2020 chiếm 27,7%). Từ những số liệu trên thể hiện sự phụ thuộc của thị trường Việt Nam đối với thị trường quốc tế.
Liên kết thương mại giữa các quốc gia và tự do hóa thương mại đã khiến mức độ phụ thuộc lẫn nhau giữa các TTCK có liên quan với lượng vốn FDI và đầu tư gián tiếp mà mỗi quốc gia nhận được, do đó một cú sốc xảy ra trên thị trường tài chính của một quốc gia sẽ dẫn đến sự biến động nhanh chóng đến thị trường tài chính của các quốc gia còn lại. Việc hiểu biết chính xác cấu trúc phụ thuộc giữa các TTCK có vai trò rất quan trọng đối với các nhà đầu tư và các nhà hoạch định chính sách trong lĩnh vực tài chính như đa dạng hóa danh mục đầu tư quốc tế, quản lý rủi ro và định giá tài sản. Tính đến năm 2022, vốn đầu tư của doanh nhân Đài Loan chiếm khoảng 8% tổng vốn đầu tư nước ngoài vào Việt Nam, với tổng vốn đầu tư lũy kế là 36,4 tỷ USD, trở thành đối tác đầu tư lớn thứ 4 tại Việt Nam. Tuy nhiên, nếu cộng thêm khoản đầu tư từ các nước thứ ba thì số vốn đầu tư thực tế của doanh nghiệp Đài Loan sẽ vượt quá 50 tỷ USD. Vì thế bài tiểu luận này sẽ nghiên cứu về chủ đề “Đánh giá sự phụ thuộc của thị trường chứng khoán Việt Nam đối với biến động của thị trường chứng khoán Đài Loan trong đại dịch Covid 19 bằng phương pháp Copula”
Đối tượng nghiên cứu của bài là chuỗi tỷ suất lợi nhuận của chỉ số thị trường chứng khoán Việt Nam (VNI) và thị trường chứng khoán Đài Loan (TWII)
Chia làm 2 giai đoạn:
Về không gian: Nghiên cứu mức độ phụ thuộc của thị trường chứng khoán Việt Nam khi thị trường chứng khoán Đài Loan biến động.
Về thời gian: Phạm vi thời gian được sử dụng để phân tích sự phụ thuộc là từ ngày 1 tháng 1 năm 2020 đến ngày 30 tháng 12 năm 2022.
Nghiên cứu mức độ phản ứng của thị trường chứng khoán Việt Nam đối với biến động của thị trường chứng khoán Singapore trong giai đoạn 2020 - 2022 nhằm đề xuất những kiến nghị để giúp nhà đầu tư hay các tổ chức có thể quản lý rủi ro hay nắm bắt cơ hội đầu tư khi các thị trường có những cú sốc tương tự trong tương lai.
Thị trường chứng khoán là một phần của hệ thống tài chính trong đó các công ty cổ phần, tổ chức tài chính và cá nhân có thể mua và bán các chứng khoán như cổ phiếu, trái phiếu và các công cụ tài chính khác. Nó cung cấp cho các doanh nghiệp một nguồn tài trợ trọng yếu để mở rộng hoạt động kinh doanh, đầu tư vào công nghệ và nghiên cứu phát triển. Đây cũng là một kênh quan trọng để các nhà đầu tư có thể đầu tư và kiếm lợi nhuận từ các hoạt động giao dịch trên thị trường chứng khoán.
Dựa trên thời hạn luân chuyển vốn, thị trường chứng khoán được chia làm 2 loại đó là thị trường sơ cấp và thị trường thứ cấp.Thị trường sơ cấp là nơi chứng khoán được tạo ra. Tại thị trường này, các công ty bán (phát hành) cổ phiếu và trái phiếu mới cho công chúng lần đầu tiên, IPO (Initial Public Offering) là một ví dụ về thị trường sơ cấp. Các giao dịch này tạo cơ hội cho các nhà đầu tư mua chứng khoán từ ngân hàng đã thực hiện bảo lãnh phát hành ban đầu cho một cổ phiếu cụ thể. IPO xảy ra khi một công ty tư nhân phát hành cổ phiếu ra công chúng lần đầu tiên. Sau khi chứng khoán được phát hành và niêm yết cổ phiếu được tạo, các cổ phiếu và trái phiếu mới có thể được giao dịch trên thị trường thứ cấp thông qua các nhà môi giới hay nền tảng giao dịch điện tử.
Kiểm tra sự tồn tại của hiệu ứng ARCH: Để xác định liệu dữ liệu chuỗi lợi suất có hiện tượng biến động không đều (ARCH effect) hay không, chúng tôi sử dụng kiểm định Lagrange Multiplier (LM). Kiểm định này giúp phát hiện sự biến động không đồng nhất trong dữ liệu bằng cách kiểm tra sự phụ thuộc của phương sai của phần dư vào các giá trị trước đó. Nếu kết quả kiểm định cho thấy có sự tồn tại của hiệu ứng ARCH, điều này cho thấy rằng các biến động trong chuỗi lợi suất có xu hướng thay đổi theo thời gian và cần được mô hình hóa bằng các mô hình biến động như GARCH
Xác định bậc p và q cho mô hình ARMA: Để xác định bậc p (số lượng trễ trong phần tự hồi quy) và q (số lượng trễ trong phần trung bình chuyển động) cho mô hình ARMA, chúng tôi dựa vào các tiêu chuẩn thông tin như AIC (Akaike Information Criterion) và BIC (Bayesian Information Criterion). Quá trình này bao gồm việc ước lượng mô hình ARMA cho các giá trị khác nhau của p và q, và sau đó so sánh các giá trị của AIC và BIC cho từng mô hình. AIC và BIC giúp đánh giá sự cân bằng giữa độ phù hợp của mô hình với dữ liệu và độ phức tạp của mô hình. Mô hình với các giá trị p và q tạo ra AIC và BIC thấp nhất được coi là mô hình tối ưu, vì nó cung cấp sự mô tả tốt nhất về chuỗi lợi suất với số lượng tham số tối ưu. Điều này đảm bảo rằng mô hình không bị quá khớp và có khả năng dự đoán chính xác các giá trị trong tương lai.
Xây dựng mô hình ARMA (p,q) – GJR – GARCH (r,m): Sau khi xác định bậc p và q cho mô hình ARMA, chúng tôi mở rộng mô hình bằng cách thêm phần GJR – GARCH (r,m). Mô hình ARMA (p,q) mô tả phần tự hồi quy và trung bình chuyển động của chuỗi dữ liệu, trong khi GJR – GARCH (r,m) xử lý hiệu ứng biến động và hiệu ứng đòn bẩy. Phần GJR – GARCH (r,m) giúp nắm bắt các biến động không đối xứng trong dữ liệu, cung cấp cái nhìn toàn diện về rủi ro và sự biến động trong chuỗi lợi suất.
Lựa chọn mô hình biên phù hợp nhất: Để chọn ra mô hình biên ARMA – GJR – GARCH tối ưu, chúng tôi sử dụng các tiêu chuẩn thông tin như AIC (Akaike Information Criterion), BIC (Bayesian Information Criterion), SIC (Schwarz Information Criterion) và HQIC (Hannan-Quinn Information Criterion). Các tiêu chuẩn này giúp đánh giá sự cân bằng giữa độ chính xác của mô hình và độ phức tạp của nó.
Sau khi đã xác định mô hình biên tối ưu cho mỗi chuỗi lợi suất, chúng ta tiến hành tính toán phần dư chuẩn hóa từ mô hình này, ký hiệu là cặp dữ liệu z1t và z2t tại thời điểm t. Tiếp theo, sử dụng hàm phân phối biên thực nghiệm để chuyển đổi z1t và z2t thành giá trị xác suất hoặc giá trị tích phân: ut=F1(z1t|Ωt−1) và vt=F2(z2t|Ωt−1). Với các giá trị xác suất ut và vt, chúng ta xây dựng mô hình copula phi tham số C(ut,vt), mô hình này mô tả mức độ phụ thuộc giữa ut và vt mà không cần xác định các tham số cụ thể của copula. Mô hình copula phi tham số có tính linh hoạt cao hơn và phù hợp với nhiều tình huống so với mô hình copula tham số.
Cuối cùng, để đảm bảo tính phù hợp của mô hình copula và hàm phân phối biên, chúng ta sử dụng các kiểm định thống kê bao gồm:
Kiểm định Anderson – Darling (A-D): Kiểm tra sự khớp giữa phân phối biên dự kiến và phân phối biên thực nghiệm. Giá trị p lớn cho thấy không có bằng chứng đủ để bác bỏ tính phù hợp của hàm phân phối biên.
Kiểm định Cramer – von Mises (Cv-M): Đo lường sự khác biệt giữa phân phối biên dự kiến và phân phối biên thực nghiệm. Giá trị p của kiểm định này cũng phản ánh mức độ phù hợp của hàm phân phối biên.
Kiểm định Kolmogorov – Smirnov (K-S): Kiểm tra sự khác biệt giữa phân phối biên dự kiến và phân phối biên thực nghiệm. Tương tự như A-D và Cv-M, giá trị p của K-S cũng giúp đánh giá tính phù hợp của hàm phân phối biên.
library(PerformanceAnalytics)
## Warning: package 'PerformanceAnalytics' was built under R version 4.4.1
## Loading required package: xts
## Warning: package 'xts' was built under R version 4.4.1
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.4.1
##
## 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
library(xlsx)
data <- read.xlsx("D:/THUD/data mhnn.xlsx", sheetName = 2, header = T)
LGTWII <- diff(log(data$TWII), lag = 1)
LGVNI <- diff(log(data$VNI), lag = 1)
mhnn <- data.frame(VNI = LGVNI, TWII = LGTWII)
# Thống kê mô tả VNI
mean(mhnn$VNI)
## [1] 0.0005956991
median(mhnn$VNI)
## [1] 0.008835355
sd(mhnn$VNI)
## [1] 0.2815665
var(mhnn$VNI)
## [1] 0.07927968
min(mhnn$VNI)
## [1] -0.7320842
max(mhnn$VNI)
## [1] 0.7587757
# Thống kê mô tả TWII
mean(mhnn$TWII)
## [1] 0.0005745077
median(mhnn$TWII)
## [1] -0.003242087
sd(mhnn$TWII)
## [1] 0.2299603
var(mhnn$TWII)
## [1] 0.05288175
min(mhnn$TWII)
## [1] -0.6985373
max(mhnn$TWII)
## [1] 0.642742
# Biến động theo ngày của tỷ suất sinh lợi VNI
plot.ts(LGVNI)
# Biến động theo ngày của tỷ suất sinh lợi TWII
plot.ts(LGTWII)
Nhìn chung, chỉ số VNI cho thấy mức độ dao động mạnh hơn chỉ số TWII, điều này chứng tỏ rằng rủi ro ở TTCK Việt Nam là lớn hơn rất nhiều so với TTCK Đài Loan. Lý do của sự biến động mạnh này là trong khoảng thời gian nghiên cứu, có xảy ra các cú sốc kinh tế ảnh hưởng đến tâm lý nhà đầu tư do đại dịch Covid, lạm phát, sai phạm về trái phiếu doanh nghiệp, căng thẳng địa chính trị,… Ở chỉ số VNINDEX, tỷ suất sinh lợi dao động mạnh nhất nằm trong khoảng thời gian từ năm 2021 đến giữa năm 2022 khi lợi nhuận giảm tối đa ở mức 0.6, đây cũng là khoảng thời gian mà dịch Covid-19 và cuộc xung đột diễn ra. Các giai đoạn sau hai cú sốc cho thấy mức dao động dần ổn định hơn và ít các biến động cực biên. Với chỉ số TWII, mức dao động của tỷ suất sinh lợi trong khoảng thời gian nghiên cứu cũng biến động khá mạnh, chỉ tồn tại các biến động cực biên ở khoảng thời gian đầu năm 2020 do ảnh hưởng từ đại dịch
# Hệ số tương quan Pearson
cor(mhnn)
## VNI TWII
## VNI 1.0000000 0.9325515
## TWII 0.9325515 1.0000000
cor.test(mhnn$VNI, mhnn$TWII)
##
## Pearson's product-moment correlation
##
## data: mhnn$VNI and mhnn$TWII
## t = 69.884, df = 732, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.9224362 0.9413878
## sample estimates:
## cor
## 0.9325515
tt <- cor(mhnn)
flattenCorrMatrix <- function(cormat, pmat)
{ ut <- upper.tri(cormat)
data.frame(
row = rownames(cormat)[row(cormat)[ut]],
column = rownames(cormat)[col(cormat)[ut]],
cor =(cormat)[ut],
p = pmat[ut]
)}
symnum(tt, abbr.colnames = FALSE)
## VNI TWII
## VNI 1
## TWII * 1
## attr(,"legend")
## [1] 0 ' ' 0.3 '.' 0.6 ',' 0.8 '+' 0.9 '*' 0.95 'B' 1
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.4.1
## corrplot 0.92 loaded
corrplot(tt, type = "upper", order = "hclust",
tl.col = "green", tl.srt = 45)
chart.Correlation(mhnn, histogram=TRUE, pch=18)
## Warning in par(usr): argument 1 does not name a graphical parameter
library(ggplot2)
library(ggcorrplot)
## Warning: package 'ggcorrplot' was built under R version 4.4.1
df <- dplyr::select_if(mhnn, is.numeric)
r <- cor(df, use="complete.obs")
ggcorrplot(r)
Kết quả hệ số tương quan tuyến tính Pearson cho thấy sự tương quan giữa 2 thị trường là cực kỳ lớn với giá trị là 0.9325515.
# Kiểm định phân phối chuẩn cho VNI
library(tseries)
## Warning: package 'tseries' was built under R version 4.4.1
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
pp1 <- mhnn$VNI
ppc1 <- jarque.bera.test(pp1)
print(ppc1)
##
## Jarque Bera Test
##
## data: pp1
## X-squared = 6.3715, df = 2, p-value = 0.04135
# Kiểm định tính dừng
adf.test(pp1)
## Warning in adf.test(pp1): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: pp1
## Dickey-Fuller = -14.02, Lag order = 9, p-value = 0.01
## alternative hypothesis: stationary
print(adf.test(pp1))
## Warning in adf.test(pp1): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: pp1
## Dickey-Fuller = -14.02, Lag order = 9, p-value = 0.01
## alternative hypothesis: stationary
# Kiểm định tương quan chuỗi VNI
library(stats)
ppc2 <- Box.test(pp1, lag = 5, type = "Ljung-Box")
print(ppc2)
##
## Box-Ljung test
##
## data: pp1
## X-squared = 487.54, df = 5, p-value < 2.2e-16
library(tseries)
# Kiểm định phân phối chuẩn TWII
pp2 <- mhnn$TWII
ppc3 <- jarque.bera.test(pp2)
print(ppc3)
##
## Jarque Bera Test
##
## data: pp2
## X-squared = 5.4918, df = 2, p-value = 0.06419
# Kiểm định tính dừng TWII
adf.test(pp2)
## Warning in adf.test(pp2): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: pp2
## Dickey-Fuller = -13.821, Lag order = 9, p-value = 0.01
## alternative hypothesis: stationary
print(adf.test(pp2))
## Warning in adf.test(pp2): p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: pp2
## Dickey-Fuller = -13.821, Lag order = 9, p-value = 0.01
## alternative hypothesis: stationary
# Kiểm định tương quan chuỗi cho BID
library(stats)
ppc3 <- Box.test(pp1, lag = 5, type = "Ljung-Box")
print(ppc3)
##
## Box-Ljung test
##
## data: pp1
## X-squared = 487.54, df = 5, p-value < 2.2e-16
# Kiểm định mô hình ARIMA chi biến VNI
library(tseries)
library(forecast)
## Warning: package 'forecast' was built under R version 4.4.1
mhVNI <- auto.arima(mhnn$VNI)
mhVNI
## Series: mhnn$VNI
## ARIMA(5,0,1) with zero mean
##
## Coefficients:
## ar1 ar2 ar3 ar4 ar5 ma1
## -0.3713 -0.2842 0.0456 -0.2995 -0.2803 -0.7705
## s.e. 0.0462 0.0468 0.0508 0.0405 0.0390 0.0361
##
## sigma^2 = 0.02517: log likelihood = 311.37
## AIC=-608.74 AICc=-608.59 BIC=-576.55
# Trích xuất phần dư
du <- residuals(mhVNI)
# Kiểm định mô hình ARIMA chi biến TWII
library(tseries)
library(forecast)
mhTWII <- auto.arima(mhnn$TWII)
mhTWII
## Series: mhnn$TWII
## ARIMA(5,0,1) with zero mean
##
## Coefficients:
## ar1 ar2 ar3 ar4 ar5 ma1
## -0.3918 -0.2956 0.0256 -0.3311 -0.3401 -0.7217
## s.e. 0.0481 0.0479 0.0520 0.0396 0.0383 0.0423
##
## sigma^2 = 0.0162: log likelihood = 472.93
## AIC=-931.86 AICc=-931.7 BIC=-899.67
# Trích xuất phần dư
du1 <- residuals(mhTWII)
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.4.1
library(fGarch)
## Warning: package 'fGarch' was built under R version 4.4.1
## 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
library(rugarch)
## Warning: package 'rugarch' was built under R version 4.4.1
## Loading required package: parallel
##
## Attaching package: 'rugarch'
## The following object is masked from 'package:stats':
##
## sigma
# Kiểm định hiệu ứng ARCH - LM cho VNI
arch_spec <- ugarchspec(variance.model = list(model = "sGARCH"))
arch_VNI <- ugarchfit(spec = arch_spec, data = mhnn$VNI)
resVNI <- residuals(arch_VNI)
n <- length(resVNI)
x <- 1:n
# Tạo mô hình tuyến tính
arch_lm_model <- lm(resVNI^2 ~ x)
# Kiểm định hiệu ứng ARCH-LM
aTSA::arch.test(arima(mhnn$VNI, order = c(1,0,1)))
## ARCH heteroscedasticity test for residuals
## alternative: heteroscedastic
##
## Portmanteau-Q test:
## order PQ p.value
## [1,] 4 265 0
## [2,] 8 450 0
## [3,] 12 708 0
## [4,] 16 855 0
## [5,] 20 943 0
## [6,] 24 1069 0
## Lagrange-Multiplier test:
## order LM p.value
## [1,] 4 -15.67 1
## [2,] 8 -11.74 1
## [3,] 12 -9.01 1
## [4,] 16 -7.53 1
## [5,] 20 -6.26 1
## [6,] 24 -5.28 1
library(lmtest)
library(fGarch)
library(rugarch)
# Kiểm định hiệu ứng ARCH - LM cho chỉ số chứng khoán
arch_spec1 <- ugarchspec(variance.model = list(model = "sGARCH"))
arch_TWII <- ugarchfit(spec = arch_spec1, data = mhnn$TWII)
resTWWII <- residuals(arch_TWII)
n1 <- length(resTWWII)
x1 <- 1:n
# Tạo mô hình tuyến tính
arch_lm_model1 <- lm(resTWWII^2 ~ x)
# Kiểm định hiệu ứng ARCH-LM
aTSA::arch.test(arima(mhnn$TWII, order = c(1,0,1)))
## ARCH heteroscedasticity test for residuals
## alternative: heteroscedastic
##
## Portmanteau-Q test:
## order PQ p.value
## [1,] 4 376 0
## [2,] 8 657 0
## [3,] 12 1001 0
## [4,] 16 1270 0
## [5,] 20 1450 0
## [6,] 24 1684 0
## Lagrange-Multiplier test:
## order LM p.value
## [1,] 4 12.9847 0.00467
## [2,] 8 1.9448 0.96283
## [3,] 12 0.0396 1.00000
## [4,] 16 -2.0107 1.00000
## [5,] 20 -2.4527 1.00000
## [6,] 24 -2.0777 1.00000
Kết quả cho thấy cả hai chuỗi tỷ suất đều là chuỗi dừng và không có phân
phối chuẩn dựa trên kiểm định Augmented – Dickey – Fuller (ADF) và
Jarque – Bera. Kiểm định Ljung-Box chứng tỏ phần dư của chuỗi VNI không
có hiện tượng tương quan chuỗi ở cả chuỗi gốc và bình phương. Với phần
dư chuỗi TWII, kiểm định Ljung-Box cho chuỗi gốc (Q(2)) cho thấy không
có hiện tượng tương quan chuỗi và kiểm định cho chuỗi bình phương
(Q(2)^2) cho thấy hiện tượng tương quan chuỗi. Hiệu ứng ARCH được phát
hiện ở phần dư của chuỗi TWII, chuỗi VNI không tồn tại hiệu ứng
ARCH.
library(rugarch)
VNIts<- ts(mhnn$VNI)
head(VNIts)
## Time Series:
## Start = 1
## End = 6
## Frequency = 1
## [1] 0.10913903 0.02489592 0.01943739 0.17412474 -0.12759760 -0.25481028
library(lmtest)
VNIspec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1,1)), mean.model = list(armaOrder = c(1,1), include.mean =TRUE), distribution.model = 'norm')
print(VNIspec)
##
## *---------------------------------*
## * GARCH Model Spec *
## *---------------------------------*
##
## Conditional Variance Dynamics
## ------------------------------------
## GARCH Model : gjrGARCH(1,1)
## Variance Targeting : FALSE
##
## Conditional Mean Dynamics
## ------------------------------------
## Mean Model : ARFIMA(1,0,1)
## Include Mean : TRUE
## GARCH-in-Mean : FALSE
##
## Conditional Distribution
## ------------------------------------
## Distribution : norm
## Includes Skew : FALSE
## Includes Shape : FALSE
## Includes Lambda : FALSE
VNIfit <- ugarchfit(spec = VNIspec, VNIts)
print(VNIfit)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(1,0,1)
## Distribution : norm
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000314 0.000448 0.70000 0.483928
## ar1 -0.191989 0.043226 -4.44150 0.000009
## ma1 -0.908198 0.014224 -63.85035 0.000000
## omega 0.000365 0.000270 1.35330 0.175959
## alpha1 0.079424 0.037861 2.09775 0.035927
## beta1 0.899682 0.026690 33.70800 0.000000
## gamma1 0.019507 0.038407 0.50791 0.611519
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000314 0.000337 0.93159 0.351546
## ar1 -0.191989 0.062174 -3.08793 0.002016
## ma1 -0.908198 0.020603 -44.08194 0.000000
## omega 0.000365 0.000197 1.85321 0.063852
## alpha1 0.079424 0.057361 1.38463 0.166166
## beta1 0.899682 0.028741 31.30308 0.000000
## gamma1 0.019507 0.055530 0.35129 0.725372
##
## LogLikelihood : 255.454
##
## Information Criteria
## ------------------------------------
##
## Akaike -0.67699
## Bayes -0.63313
## Shibata -0.67717
## Hannan-Quinn -0.66007
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 1.067 0.3017
## Lag[2*(p+q)+(p+q)-1][5] 81.497 0.0000
## Lag[4*(p+q)+(p+q)-1][9] 156.297 0.0000
## d.o.f=2
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 1.869 1.716e-01
## Lag[2*(p+q)+(p+q)-1][5] 41.260 2.017e-11
## Lag[4*(p+q)+(p+q)-1][9] 98.015 0.000e+00
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 30.23 0.500 2.000 3.838e-08
## ARCH Lag[5] 73.97 1.440 1.667 0.000e+00
## ARCH Lag[7] 111.00 2.315 1.543 0.000e+00
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 13.8047
## Individual Statistics:
## mu 0.17826
## ar1 12.22120
## ma1 4.08871
## omega 0.12581
## alpha1 0.06746
## beta1 0.20003
## gamma1 0.08598
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 1.69 1.9 2.35
## Individual Statistic: 0.35 0.47 0.75
##
## Sign Bias Test
## ------------------------------------
## t-value prob sig
## Sign Bias 0.3666 0.714014
## Negative Sign Bias 2.5552 0.010814 **
## Positive Sign Bias 0.7591 0.448056
## Joint Effect 14.1533 0.002704 ***
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 158.0 6.234e-24
## 2 30 199.4 2.462e-27
## 3 40 235.9 5.351e-30
## 4 50 243.5 1.322e-27
##
##
## Elapsed time : 0.290189
VNIst.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 1), include.mean = TRUE), distribution.model = "std")
VNIst1<- ugarchfit(VNIst.spec,VNIts)
print(VNIst1)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(1,0,1)
## Distribution : std
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000340 0.000450 0.75557 0.449905
## ar1 -0.191749 0.043318 -4.42656 0.000010
## ma1 -0.908372 0.014212 -63.91361 0.000000
## omega 0.000357 0.000270 1.31999 0.186839
## alpha1 0.079011 0.038494 2.05258 0.040113
## beta1 0.900743 0.026810 33.59724 0.000000
## gamma1 0.020839 0.038815 0.53687 0.591357
## shape 99.999889 51.322529 1.94846 0.051360
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000340 0.000341 0.99768 0.318437
## ar1 -0.191749 0.062694 -3.05847 0.002225
## ma1 -0.908372 0.020692 -43.90049 0.000000
## omega 0.000357 0.000195 1.82821 0.067517
## alpha1 0.079011 0.058681 1.34646 0.178155
## beta1 0.900743 0.029243 30.80217 0.000000
## gamma1 0.020839 0.056339 0.36988 0.711470
## shape 99.999889 3.634590 27.51339 0.000000
##
## LogLikelihood : 253.5692
##
## Information Criteria
## ------------------------------------
##
## Akaike -0.66913
## Bayes -0.61901
## Shibata -0.66936
## Hannan-Quinn -0.64979
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 1.018 0.313
## Lag[2*(p+q)+(p+q)-1][5] 81.234 0.000
## Lag[4*(p+q)+(p+q)-1][9] 155.924 0.000
## d.o.f=2
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 1.739 1.872e-01
## Lag[2*(p+q)+(p+q)-1][5] 40.755 2.812e-11
## Lag[4*(p+q)+(p+q)-1][9] 97.082 0.000e+00
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 29.87 0.500 2.000 4.617e-08
## ARCH Lag[5] 73.37 1.440 1.667 0.000e+00
## ARCH Lag[7] 110.08 2.315 1.543 0.000e+00
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 93.0765
## Individual Statistics:
## mu 0.17719
## ar1 12.24459
## ma1 4.09833
## omega 0.13202
## alpha1 0.07143
## beta1 0.21088
## gamma1 0.08840
## shape 19.39931
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 1.89 2.11 2.59
## Individual Statistic: 0.35 0.47 0.75
##
## Sign Bias Test
## ------------------------------------
## t-value prob sig
## Sign Bias 0.3286 0.742554
## Negative Sign Bias 2.5743 0.010240 **
## Positive Sign Bias 0.7214 0.470911
## Joint Effect 14.1928 0.002654 ***
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 166.6 1.313e-25
## 2 30 202.5 6.403e-28
## 3 40 236.7 3.877e-30
## 4 50 239.3 7.273e-27
##
##
## Elapsed time : 0.981276
# Phân phối Student đối xứng (sstd)
VNIst1.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 1), include.mean = TRUE), distribution.model = "sstd")
VNIst2<- ugarchfit(VNIst1.spec,VNIts)
print(VNIst2)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(1,0,1)
## Distribution : sstd
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000985 0.000349 2.8220 0.004773
## ar1 -0.104990 0.030550 -3.4367 0.000589
## ma1 -0.936079 0.010822 -86.4985 0.000000
## omega 0.001525 0.000641 2.3786 0.017377
## alpha1 0.261379 0.031856 8.2050 0.000000
## beta1 0.832258 0.026006 32.0023 0.000000
## gamma1 -0.219204 0.034767 -6.3050 0.000000
## skew 0.414102 0.038126 10.8613 0.000000
## shape 59.999983 28.393322 2.1132 0.034586
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000985 0.000339 2.9049 0.003674
## ar1 -0.104990 0.029539 -3.5543 0.000379
## ma1 -0.936079 0.013563 -69.0194 0.000000
## omega 0.001525 0.001177 1.2953 0.195206
## alpha1 0.261379 0.027707 9.4338 0.000000
## beta1 0.832258 0.035609 23.3722 0.000000
## gamma1 -0.219204 0.034694 -6.3181 0.000000
## skew 0.414102 0.062063 6.6723 0.000000
## shape 59.999983 5.367606 11.1782 0.000000
##
## LogLikelihood : 292.9881
##
## Information Criteria
## ------------------------------------
##
## Akaike -0.77381
## Bayes -0.71742
## Shibata -0.77411
## Hannan-Quinn -0.75206
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 8.323 0.003915
## Lag[2*(p+q)+(p+q)-1][5] 91.164 0.000000
## Lag[4*(p+q)+(p+q)-1][9] 166.495 0.000000
## d.o.f=2
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 2.42 1.198e-01
## Lag[2*(p+q)+(p+q)-1][5] 50.60 4.252e-14
## Lag[4*(p+q)+(p+q)-1][9] 118.75 0.000e+00
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 61.55 0.500 2.000 4.33e-15
## ARCH Lag[5] 82.40 1.440 1.667 0.00e+00
## ARCH Lag[7] 134.82 2.315 1.543 0.00e+00
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 30.1844
## Individual Statistics:
## mu 0.4138
## ar1 8.6718
## ma1 2.0086
## omega 0.3194
## alpha1 0.3427
## beta1 0.5344
## gamma1 0.4922
## skew 1.9434
## shape 1.6700
##
## 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 2.7820 0.005542 ***
## Negative Sign Bias 0.6228 0.533623
## Positive Sign Bias 3.2341 0.001275 ***
## Joint Effect 16.0585 0.001103 ***
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 116.6 4.835e-16
## 2 30 125.6 5.432e-14
## 3 40 150.6 5.003e-15
## 4 50 166.7 9.696e-15
##
##
## Elapsed time : 1.402041
# Phân phối Generalized Error Distribution(ged)
VNIged.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 1), include.mean = TRUE), distribution.model = "ged")
VNIged1 <- ugarchfit(VNIged.spec,VNIts)
print(VNIged1)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(1,0,1)
## Distribution : ged
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu -0.001508 0.000392 -3.8423 0.000122
## ar1 -0.108808 0.040514 -2.6857 0.007239
## ma1 -0.904564 0.013791 -65.5899 0.000000
## omega 0.001450 0.000413 3.5113 0.000446
## alpha1 0.114300 0.019600 5.8317 0.000000
## beta1 0.850071 0.024616 34.5335 0.000000
## gamma1 -0.039248 0.020898 -1.8780 0.060376
## shape 8.738136 1.306141 6.6900 0.000000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu -0.001508 0.000457 -3.2957 0.000982
## ar1 -0.108808 0.052383 -2.0772 0.037787
## ma1 -0.904564 0.018476 -48.9602 0.000000
## omega 0.001450 0.000567 2.5588 0.010504
## alpha1 0.114300 0.026722 4.2773 0.000019
## beta1 0.850071 0.026127 32.5359 0.000000
## gamma1 -0.039248 0.030134 -1.3024 0.192766
## shape 8.738136 1.665742 5.2458 0.000000
##
## LogLikelihood : 319.0483
##
## Information Criteria
## ------------------------------------
##
## Akaike -0.84754
## Bayes -0.79742
## Shibata -0.84778
## Hannan-Quinn -0.82821
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 12.17 0.0004858
## Lag[2*(p+q)+(p+q)-1][5] 104.85 0.0000000
## Lag[4*(p+q)+(p+q)-1][9] 186.14 0.0000000
## d.o.f=2
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 5.849 0.01559
## Lag[2*(p+q)+(p+q)-1][5] 71.040 0.00000
## Lag[4*(p+q)+(p+q)-1][9] 158.484 0.00000
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 76.1 0.500 2.000 0
## ARCH Lag[5] 114.6 1.440 1.667 0
## ARCH Lag[7] 176.8 2.315 1.543 0
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 8.6788
## Individual Statistics:
## mu 0.7351
## ar1 3.0086
## ma1 0.5281
## omega 0.2175
## alpha1 0.2827
## beta1 0.1579
## gamma1 0.1321
## shape 1.1305
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 1.89 2.11 2.59
## Individual Statistic: 0.35 0.47 0.75
##
## Sign Bias Test
## ------------------------------------
## t-value prob sig
## Sign Bias 0.9294 0.3530
## Negative Sign Bias 1.1293 0.2592
## Positive Sign Bias 1.3133 0.1895
## Joint Effect 5.3684 0.1467
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 57.83 8.499e-06
## 2 30 69.62 3.413e-05
## 3 40 80.28 1.108e-04
## 4 50 89.02 4.114e-04
##
##
## Elapsed time : 0.7663209
# Phân phối Generalized Error Distribution đối xứng ("sged")
VNIged.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 1), include.mean = TRUE), distribution.model = "sged")
VNIged2 <- ugarchfit(VNIged.spec,VNIts)
print(VNIged2)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(1,0,1)
## Distribution : sged
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu -0.001127 0.000464 -2.4288 0.015150
## ar1 -0.123839 0.040594 -3.0506 0.002283
## ma1 -0.898498 0.014497 -61.9776 0.000000
## omega 0.001482 0.000439 3.3764 0.000734
## alpha1 0.128742 0.023727 5.4260 0.000000
## beta1 0.844767 0.025961 32.5401 0.000000
## gamma1 -0.062631 0.026929 -2.3258 0.020031
## skew 0.790159 0.112927 6.9971 0.000000
## shape 7.810511 1.319078 5.9212 0.000000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu -0.001127 0.000626 -1.8013 0.071653
## ar1 -0.123839 0.052417 -2.3626 0.018147
## ma1 -0.898498 0.019924 -45.0964 0.000000
## omega 0.001482 0.000617 2.3994 0.016422
## alpha1 0.128742 0.029794 4.3210 0.000016
## beta1 0.844767 0.027975 30.1973 0.000000
## gamma1 -0.062631 0.033878 -1.8487 0.064499
## skew 0.790159 0.128891 6.1304 0.000000
## shape 7.810511 1.929333 4.0483 0.000052
##
## LogLikelihood : 320.4365
##
## Information Criteria
## ------------------------------------
##
## Akaike -0.84860
## Bayes -0.79222
## Shibata -0.84890
## Hannan-Quinn -0.82685
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 11.3 0.0007737
## Lag[2*(p+q)+(p+q)-1][5] 103.6 0.0000000
## Lag[4*(p+q)+(p+q)-1][9] 184.1 0.0000000
## d.o.f=2
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 5.796 0.01607
## Lag[2*(p+q)+(p+q)-1][5] 67.252 0.00000
## Lag[4*(p+q)+(p+q)-1][9] 149.917 0.00000
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 72.74 0.500 2.000 0
## ARCH Lag[5] 107.95 1.440 1.667 0
## ARCH Lag[7] 167.13 2.315 1.543 0
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 9.7843
## Individual Statistics:
## mu 0.7220
## ar1 4.4928
## ma1 1.2356
## omega 0.2015
## alpha1 0.3002
## beta1 0.1506
## gamma1 0.1721
## skew 0.3623
## shape 1.3040
##
## 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.3883 0.16547
## Negative Sign Bias 0.9913 0.32187
## Positive Sign Bias 1.6501 0.09936 *
## Joint Effect 7.1413 0.06753 *
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 42.46 0.0015367
## 2 30 63.66 0.0002121
## 3 40 61.53 0.0121785
## 4 50 80.71 0.0029033
##
##
## Elapsed time : 1.145421
#Tạo danh sách mô hình lựa chọn
VNI.model.list <- list(
garch11n = VNIfit,
garch11t = VNIst1,
garch11st = VNIst2,
garch11g = VNIged1,
garch11sg = VNIged2
)
#Tính toán lựa chọn mô hình
VNI.info.mat <- sapply(VNI.model.list, infocriteria)
rownames(VNI.info.mat) <- rownames(infocriteria(VNIfit))
VNI.info.mat
## garch11n garch11t garch11st garch11g garch11sg
## Akaike -0.6769865 -0.6691259 -0.7738095 -0.8475432 -0.8486008
## Bayes -0.6331315 -0.6190059 -0.7174245 -0.7974232 -0.7922158
## Shibata -0.6771661 -0.6693601 -0.7741053 -0.8477773 -0.8488967
## Hannan-Quinn -0.6600712 -0.6497941 -0.7520613 -0.8282114 -0.8268526
Dựa trên giá trị thông tin tiêu chuẩn, mô hình garch11sg có giá trị Akaike thấp nhất (-0.8486008) . Điều này cho thấy mô hình GARCH(1,1) với phân phối ged này có khả năng phù hợp tốt với chuỗi dữ liệu VNI.
# Trích xuất chuỗi phần dư v của chuỗi lợi suất AGR
VNI.res <- residuals(VNIst2)/sigma(VNIst2)
fitdist(distribution = "sstd", VNI.res, control = list())
## $pars
## mu sigma skew shape
## -0.01876825 1.01166584 0.41081063 163.64223187
##
## $convergence
## [1] 0
##
## $values
## [1] 1200.6965 972.6265 972.6265
##
## $lagrange
## [1] 0
##
## $hessian
## [,1] [,2] [,3] [,4]
## [1,] 1.948680e+03 1.880288e+03 2.816245e+02 0.0417327472
## [2,] 1.880288e+03 3.179527e+03 8.573210e+02 0.0692186647
## [3,] 2.816245e+02 8.573210e+02 1.600335e+03 -0.0043888673
## [4,] 4.173275e-02 6.921866e-02 -4.388867e-03 0.0004599681
##
## $ineqx0
## NULL
##
## $nfuneval
## [1] 261
##
## $outer.iter
## [1] 2
##
## $elapsed
## Time difference of 0.154664 secs
##
## $vscale
## [1] 1 1 1 1 1
VNI.res
## m.c.seq.row..seq.n...seq.col..drop...FALSE.
## 0001-01-01 0.5929760
## 0002-01-01 0.7599104
## 0003-01-01 0.8157067
## 0004-01-01 1.6805190
## 0005-01-01 0.7735927
## 0006-01-01 -0.4060132
## 0007-01-01 0.2715814
## 0008-01-01 0.3744295
## 0009-01-01 0.5293598
## 0010-01-01 0.8842771
## ...
## 0725-01-01 -0.1996227
## 0726-01-01 1.3430418
## 0727-01-01 -0.7992594
## 0728-01-01 -0.1836438
## 0729-01-01 1.2645509
## 0730-01-01 -0.8493921
## 0731-01-01 -0.2349589
## 0732-01-01 1.2497621
## 0733-01-01 -0.8709113
## 0734-01-01 -0.2460686
s = pdist("sstd",VNI.res, mu =-0.002561478
, sigma = 1.004907594, skew = 0.824890563, shape = 4.185212611 )
head(s,10)
## [1] 0.7569321 0.8223259 0.8408504 0.9725262 0.8270235 0.2806094 0.5981784
## [8] 0.6519389 0.7283003 0.8613587
# Chạy mô hình Garch cho biến TWII
library(rugarch)
TWIIts<- ts(mhnn$TWII)
head(TWIIts,10)
## Time Series:
## Start = 1
## End = 10
## Frequency = 1
## [1] 0.136683876 0.054827877 0.081979121 0.088997145 -0.137612252
## [6] -0.079972327 -0.003814630 0.059076866 0.073027593 -0.008555729
library(lmtest)
TWIIspec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1,1)), mean.model = list(armaOrder = c(1,3), include.mean =TRUE), distribution.model = 'norm')
print(TWIIspec)
##
## *---------------------------------*
## * GARCH Model Spec *
## *---------------------------------*
##
## Conditional Variance Dynamics
## ------------------------------------
## GARCH Model : gjrGARCH(1,1)
## Variance Targeting : FALSE
##
## Conditional Mean Dynamics
## ------------------------------------
## Mean Model : ARFIMA(1,0,3)
## Include Mean : TRUE
## GARCH-in-Mean : FALSE
##
## Conditional Distribution
## ------------------------------------
## Distribution : norm
## Includes Skew : FALSE
## Includes Shape : FALSE
## Includes Lambda : FALSE
TWIIfit <- ugarchfit(spec = TWIIspec, TWIIts)
print(TWIIfit)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(1,0,3)
## Distribution : norm
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000040 0.000464 0.086412 0.931139
## ar1 -0.458315 0.081071 -5.653257 0.000000
## ma1 -0.572201 0.084090 -6.804620 0.000000
## ma2 -0.609271 0.064898 -9.388122 0.000000
## ma3 0.351327 0.043930 7.997477 0.000000
## omega 0.000158 0.000107 1.478409 0.139298
## alpha1 0.055841 0.029012 1.924753 0.054260
## beta1 0.891796 0.028057 31.785113 0.000000
## gamma1 0.087991 0.033566 2.621409 0.008757
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000040 0.000386 0.10369 0.917412
## ar1 -0.458315 0.060279 -7.60325 0.000000
## ma1 -0.572201 0.116145 -4.92662 0.000001
## ma2 -0.609271 0.049584 -12.28772 0.000000
## ma3 0.351327 0.089693 3.91698 0.000090
## omega 0.000158 0.000119 1.31914 0.187122
## alpha1 0.055841 0.057926 0.96400 0.335045
## beta1 0.891796 0.038112 23.39950 0.000000
## gamma1 0.087991 0.047200 1.86420 0.062293
##
## LogLikelihood : 476.7463
##
## Information Criteria
## ------------------------------------
##
## Akaike -1.2745
## Bayes -1.2181
## Shibata -1.2748
## Hannan-Quinn -1.2528
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.04494 0.8321
## Lag[2*(p+q)+(p+q)-1][11] 149.83787 0.0000
## Lag[4*(p+q)+(p+q)-1][19] 250.25764 0.0000
## d.o.f=4
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 11.80 5.920e-04
## Lag[2*(p+q)+(p+q)-1][5] 27.08 2.094e-07
## Lag[4*(p+q)+(p+q)-1][9] 36.77 5.843e-09
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 20.55 0.500 2.000 5.808e-06
## ARCH Lag[5] 26.31 1.440 1.667 5.428e-07
## ARCH Lag[7] 31.45 2.315 1.543 6.688e-08
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 17.713
## Individual Statistics:
## mu 0.10606
## ar1 6.45193
## ma1 2.92650
## ma2 0.53548
## ma3 1.40230
## omega 0.07037
## alpha1 0.06803
## beta1 0.05659
## gamma1 0.06642
##
## 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 3.166 0.001607 ***
## Negative Sign Bias 1.955 0.050951 *
## Positive Sign Bias 3.151 0.001695 ***
## Joint Effect 13.887 0.003063 ***
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 83.11 5.377e-10
## 2 30 94.15 8.265e-09
## 3 40 103.38 9.809e-08
## 4 50 119.81 7.282e-08
##
##
## Elapsed time : 0.3608971
TWIIst.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 3), include.mean = TRUE), distribution.model = "std")
TWIIst1<- ugarchfit(TWIIst.spec,TWIIts)
print(TWIIst1)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(1,0,3)
## Distribution : std
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000054 0.000464 0.11704 0.906830
## ar1 -0.455781 0.081029 -5.62489 0.000000
## ma1 -0.577337 0.084027 -6.87086 0.000000
## ma2 -0.608920 0.064869 -9.38697 0.000000
## ma3 0.355210 0.044159 8.04389 0.000000
## omega 0.000153 0.000107 1.42840 0.153177
## alpha1 0.054796 0.029286 1.87110 0.061332
## beta1 0.892867 0.028241 31.61579 0.000000
## gamma1 0.090050 0.033911 2.65545 0.007920
## shape 99.996037 61.609008 1.62308 0.104573
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000054 0.000387 0.14020 0.888505
## ar1 -0.455781 0.060953 -7.47760 0.000000
## ma1 -0.577337 0.116141 -4.97099 0.000001
## ma2 -0.608920 0.049936 -12.19406 0.000000
## ma3 0.355210 0.090516 3.92426 0.000087
## omega 0.000153 0.000118 1.30164 0.193040
## alpha1 0.054796 0.059007 0.92865 0.353070
## beta1 0.892867 0.038592 23.13590 0.000000
## gamma1 0.090050 0.047545 1.89400 0.058225
## shape 99.996037 7.494608 13.34240 0.000000
##
## LogLikelihood : 475.4741
##
## Information Criteria
## ------------------------------------
##
## Akaike -1.2683
## Bayes -1.2057
## Shibata -1.2687
## Hannan-Quinn -1.2442
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.07929 0.7783
## Lag[2*(p+q)+(p+q)-1][11] 149.16436 0.0000
## Lag[4*(p+q)+(p+q)-1][19] 249.10754 0.0000
## d.o.f=4
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 12.97 3.158e-04
## Lag[2*(p+q)+(p+q)-1][5] 28.19 1.024e-07
## Lag[4*(p+q)+(p+q)-1][9] 37.70 3.204e-09
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 20.51 0.500 2.000 5.919e-06
## ARCH Lag[5] 26.09 1.440 1.667 6.182e-07
## ARCH Lag[7] 31.10 2.315 1.543 8.280e-08
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 30.3842
## Individual Statistics:
## mu 0.09750
## ar1 6.53343
## ma1 2.89584
## ma2 0.52825
## ma3 1.36041
## omega 0.08143
## alpha1 0.05952
## beta1 0.06101
## gamma1 0.06065
## shape 6.58348
##
## 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 3.202 0.001425 ***
## Negative Sign Bias 1.944 0.052272 *
## Positive Sign Bias 3.243 0.001236 ***
## Joint Effect 14.422 0.002384 ***
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 82.40 7.139e-10
## 2 30 94.23 8.024e-09
## 3 40 103.82 8.508e-08
## 4 50 116.54 1.982e-07
##
##
## Elapsed time : 0.8921981
# Phân phối Student đối xứng
TWIIst1.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 3), include.mean = TRUE), distribution.model = "sstd")
TWIIst2<- ugarchfit(TWIIst1.spec,TWIIts)
print(TWIIst2)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(1,0,3)
## Distribution : sstd
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000526 0.000367 1.43121 0.152371
## ar1 -0.541706 0.078848 -6.87027 0.000000
## ma1 -0.492020 0.079636 -6.17838 0.000000
## ma2 -0.617422 0.067215 -9.18582 0.000000
## ma3 0.257119 0.037402 6.87457 0.000000
## omega 0.000241 0.000197 1.22460 0.220726
## alpha1 0.181204 0.053838 3.36573 0.000763
## beta1 0.840284 0.031699 26.50813 0.000000
## gamma1 -0.050007 0.058979 -0.84788 0.396507
## skew 0.632569 0.049363 12.81474 0.000000
## shape 59.999981 29.946388 2.00358 0.045115
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu 0.000526 0.000331 1.58870 0.112127
## ar1 -0.541706 0.051741 -10.46950 0.000000
## ma1 -0.492020 0.083463 -5.89504 0.000000
## ma2 -0.617422 0.038504 -16.03546 0.000000
## ma3 0.257119 0.067128 3.83029 0.000128
## omega 0.000241 0.000344 0.70099 0.483311
## alpha1 0.181204 0.086110 2.10432 0.035350
## beta1 0.840284 0.041036 20.47695 0.000000
## gamma1 -0.050007 0.098084 -0.50984 0.610165
## skew 0.632569 0.066868 9.45998 0.000000
## shape 59.999981 5.752475 10.43029 0.000000
##
## LogLikelihood : 487.4829
##
## Information Criteria
## ------------------------------------
##
## Akaike -1.2983
## Bayes -1.2294
## Shibata -1.2988
## Hannan-Quinn -1.2717
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.08866 0.7659
## Lag[2*(p+q)+(p+q)-1][11] 161.44130 0.0000
## Lag[4*(p+q)+(p+q)-1][19] 266.73220 0.0000
## d.o.f=4
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.9801 3.222e-01
## Lag[2*(p+q)+(p+q)-1][5] 15.8439 2.634e-04
## Lag[4*(p+q)+(p+q)-1][9] 27.0262 2.804e-06
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 15.47 0.500 2.000 8.372e-05
## ARCH Lag[5] 24.98 1.440 1.667 1.185e-06
## ARCH Lag[7] 30.49 2.315 1.543 1.196e-07
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 25.9116
## Individual Statistics:
## mu 1.0314
## ar1 6.3122
## ma1 4.5427
## ma2 0.8374
## ma3 1.1091
## omega 1.0524
## alpha1 0.2274
## beta1 0.6311
## gamma1 0.2469
## skew 0.8900
## shape 1.9970
##
## 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 2.3685 0.01812 **
## Negative Sign Bias 2.1571 0.03132 **
## Positive Sign Bias 0.8202 0.41237
## Joint Effect 6.8367 0.07729 *
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 91.23 2.005e-11
## 2 30 98.64 1.611e-09
## 3 40 105.13 5.542e-08
## 4 50 120.36 6.153e-08
##
##
## Elapsed time : 1.599212
# Phân phối Generalized Error Distribution
TWIIged.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 3), include.mean = TRUE), distribution.model = "ged")
TWIIged1 <- ugarchfit(TWIIged.spec,TWIIts)
print(TWIIged1)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(1,0,3)
## Distribution : ged
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu -0.000555 0.000527 -1.0535 0.292100
## ar1 -0.519566 0.076935 -6.7533 0.000000
## ma1 -0.429213 0.076612 -5.6024 0.000000
## ma2 -0.598305 0.060991 -9.8097 0.000000
## ma3 0.245257 0.036498 6.7197 0.000000
## omega 0.000273 0.000099 2.7655 0.005683
## alpha1 0.063078 0.022711 2.7774 0.005480
## beta1 0.889089 0.020701 42.9487 0.000000
## gamma1 0.056568 0.026459 2.1380 0.032517
## shape 3.790521 0.368313 10.2916 0.000000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu -0.000555 0.000569 -0.9749 0.329608
## ar1 -0.519566 0.050682 -10.2514 0.000000
## ma1 -0.429213 0.085928 -4.9950 0.000001
## ma2 -0.598305 0.037993 -15.7477 0.000000
## ma3 0.245257 0.060905 4.0269 0.000057
## omega 0.000273 0.000174 1.5685 0.116766
## alpha1 0.063078 0.046955 1.3434 0.179154
## beta1 0.889089 0.031347 28.3627 0.000000
## gamma1 0.056568 0.043844 1.2902 0.196980
## shape 3.790521 0.446883 8.4821 0.000000
##
## LogLikelihood : 500.1574
##
## Information Criteria
## ------------------------------------
##
## Akaike -1.3356
## Bayes -1.2729
## Shibata -1.3359
## Hannan-Quinn -1.3114
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 1.844 0.1745
## Lag[2*(p+q)+(p+q)-1][11] 176.360 0.0000
## Lag[4*(p+q)+(p+q)-1][19] 289.726 0.0000
## d.o.f=4
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.5299 4.666e-01
## Lag[2*(p+q)+(p+q)-1][5] 26.5225 2.997e-07
## Lag[4*(p+q)+(p+q)-1][9] 44.9677 2.834e-11
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 34.40 0.500 2.000 4.490e-09
## ARCH Lag[5] 42.27 1.440 1.667 4.606e-11
## ARCH Lag[7] 53.31 2.315 1.543 9.170e-14
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 19.4771
## Individual Statistics:
## mu 1.25589
## ar1 2.67701
## ma1 2.39721
## ma2 0.54485
## ma3 1.98541
## omega 0.08784
## alpha1 0.33244
## beta1 0.15614
## gamma1 0.30120
## shape 0.91463
##
## 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 3.823 0.0001433 ***
## Negative Sign Bias 2.465 0.0139245 **
## Positive Sign Bias 2.725 0.0065890 ***
## Joint Effect 15.502 0.0014341 ***
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 44.96 0.0006933
## 2 30 50.50 0.0079819
## 3 40 60.66 0.0147047
## 4 50 67.23 0.0429078
##
##
## Elapsed time : 0.8179519
# Phân phối Generalized Error Distribution đối xứng
TWIIged.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 3), include.mean = TRUE), distribution.model = "sged")
TWIIged2 <- ugarchfit(TWIIged.spec,TWIIts)
print(TWIIged2)
##
## *---------------------------------*
## * GARCH Model Fit *
## *---------------------------------*
##
## Conditional Variance Dynamics
## -----------------------------------
## GARCH Model : gjrGARCH(1,1)
## Mean Model : ARFIMA(1,0,3)
## Distribution : sged
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## mu -0.000103 0.000520 -0.19817 0.842912
## ar1 -0.525522 0.081655 -6.43585 0.000000
## ma1 -0.413467 0.079538 -5.19835 0.000000
## ma2 -0.602985 0.063659 -9.47207 0.000000
## ma3 0.231690 0.033416 6.93360 0.000000
## omega 0.000293 0.000130 2.26068 0.023779
## alpha1 0.113963 0.034794 3.27536 0.001055
## beta1 0.865706 0.023885 36.24499 0.000000
## gamma1 -0.003980 0.039355 -0.10112 0.919452
## skew 0.761599 0.072922 10.44409 0.000000
## shape 3.722290 0.401418 9.27285 0.000000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## mu -0.000103 0.000440 -0.234096 0.814910
## ar1 -0.525522 0.057322 -9.167938 0.000000
## ma1 -0.413467 0.079817 -5.180219 0.000000
## ma2 -0.602985 0.038229 -15.773056 0.000000
## ma3 0.231690 0.049722 4.659696 0.000003
## omega 0.000293 0.000226 1.294219 0.195590
## alpha1 0.113963 0.057578 1.979274 0.047785
## beta1 0.865706 0.030476 28.406253 0.000000
## gamma1 -0.003980 0.059503 -0.066882 0.946675
## skew 0.761599 0.081096 9.391277 0.000000
## shape 3.722290 0.507562 7.333661 0.000000
##
## LogLikelihood : 504.2137
##
## Information Criteria
## ------------------------------------
##
## Akaike -1.3439
## Bayes -1.2750
## Shibata -1.3443
## Hannan-Quinn -1.3173
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 2.982 0.08419
## Lag[2*(p+q)+(p+q)-1][11] 174.204 0.00000
## Lag[4*(p+q)+(p+q)-1][19] 285.537 0.00000
## d.o.f=4
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.006372 9.364e-01
## Lag[2*(p+q)+(p+q)-1][5] 21.862342 5.942e-06
## Lag[4*(p+q)+(p+q)-1][9] 37.527918 3.586e-09
## d.o.f=2
##
## Weighted ARCH LM Tests
## ------------------------------------
## Statistic Shape Scale P-Value
## ARCH Lag[3] 27.06 0.500 2.000 1.975e-07
## ARCH Lag[5] 34.21 1.440 1.667 5.301e-09
## ARCH Lag[7] 43.69 2.315 1.543 3.636e-11
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 19.119
## Individual Statistics:
## mu 1.24143
## ar1 3.48618
## ma1 3.65344
## ma2 0.85853
## ma3 1.56489
## omega 0.06308
## alpha1 0.24033
## beta1 0.07753
## gamma1 0.22250
## skew 0.38154
## shape 1.86713
##
## 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 2.944 0.003346 ***
## Negative Sign Bias 1.966 0.049711 **
## Positive Sign Bias 1.682 0.092996 *
## Joint Effect 8.980 0.029560 **
##
##
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
## group statistic p-value(g-1)
## 1 20 48.72 0.0002014
## 2 30 44.53 0.0326767
## 3 40 68.83 0.0022394
## 4 50 67.09 0.0439367
##
##
## Elapsed time : 1.358388
#Tạo danh sách mô hình lựa chọn
TWII.model.list <- list(
garchn = TWIIfit,
garcht = TWIIst1,
garchst = TWIIst2,
garchg = TWIIged1,
garchsg = TWIIged2)
#Tính toán lựa chọn mô hình
TWII.info.mat <- sapply(TWII.model.list, infocriteria)
rownames(TWII.info.mat) <- rownames(infocriteria(TWIIfit))
TWII.info.mat
## garchn garcht garchst garchg garchsg
## Akaike -1.274513 -1.268322 -1.298318 -1.335579 -1.343907
## Bayes -1.218128 -1.205672 -1.229403 -1.272929 -1.274992
## Shibata -1.274809 -1.268686 -1.298759 -1.335943 -1.344347
## Hannan-Quinn -1.252765 -1.244157 -1.271737 -1.311414 -1.317325
Dựa trên giá trị thông tin tiêu chuẩn, mô hình garchsg có giá trị Akaike thấp nhất (-1.343907) và giá trị Hannan-Quinn thấp nhất (-1.317325). Điều này cho thấy mô hình GARCH(1,1) với phân phối ged này có khả năng phù hợp tốt với chuỗi dữ liệu VNI.
# Trích xuất chuỗi phần dư v của chuỗi lợi suất AGR
TWII.res <- residuals(TWIIst2)/sigma(TWIIst2)
fitdist(distribution = "sstd", TWII.res, control = list())
## Warning in .safefunx(tmpv, .solnp_fun, .env, ...):
## solnp-->warning: NaN detected in function call...check your function
## $pars
## mu sigma skew shape
## -0.002377726 1.003680496 0.634767132 297.155751036
##
## $convergence
## [1] 0
##
## $values
## [1] 1177.668 1015.522 1015.522
##
## $lagrange
## [1] 0
##
## $hessian
## [,1] [,2] [,3] [,4]
## [1,] 1.062329e+03 561.74084621 227.23494120 -0.0043014315
## [2,] 5.617408e+02 1411.53271525 483.77062672 -0.0052573596
## [3,] 2.272349e+02 483.77062672 1290.58151602 -0.0162657649
## [4,] -4.301431e-03 -0.00525736 -0.01626576 0.0004381079
##
## $ineqx0
## NULL
##
## $nfuneval
## [1] 241
##
## $outer.iter
## [1] 2
##
## $elapsed
## Time difference of 0.1425161 secs
##
## $vscale
## [1] 1 1 1 1 1
TWII.res
## m.c.seq.row..seq.n...seq.col..drop...FALSE.
## 0001-01-01 0.9484857
## 0002-01-01 1.3587453
## 0003-01-01 2.0264660
## 0004-01-01 1.9913136
## 0005-01-01 0.9558191
## 0006-01-01 0.4365092
## 0007-01-01 0.1969474
## 0008-01-01 0.4183215
## 0009-01-01 0.7847844
## 0010-01-01 0.7825480
## ...
## 0725-01-01 -0.5296103
## 0726-01-01 1.4383349
## 0727-01-01 -0.7339198
## 0728-01-01 -0.5664505
## 0729-01-01 1.3932591
## 0730-01-01 -0.7995204
## 0731-01-01 -0.4288069
## 0732-01-01 1.3419319
## 0733-01-01 -0.7538809
## 0734-01-01 -0.4393102
s1 = pdist("sstd",TWII.res, mu = -0.002377726 , sigma = 1.003680496 , skew = 0.634767132, shape = 297.155751036 )
head(s1,10)
## [1] 0.8300310 0.9420991 0.9961653 0.9954383 0.8326534 0.6237654 0.5274793
## [8] 0.6163243 0.7672932 0.7663919
library(VineCopula)
## Warning: package 'VineCopula' was built under R version 4.4.1
BiCopSelect(s,s1, familyset= c(1:10,13,16:20), selectioncrit="AIC",indeptest = FALSE, level = 0.05)
## Bivariate copula: Gaussian (par = 0.88, tau = 0.68)
Kiểm định cho biến VNI
# Kiểm định Anderson_Darling
library(nortest)
ad.test(s)
##
## Anderson-Darling normality test
##
## data: s
## A = 26.472, p-value < 2.2e-16
# Kiểm định Cramer-von Mises
cvm.test(s)
## Warning in cvm.test(s): p-value is smaller than 7.37e-10, cannot be computed
## more accurately
##
## Cramer-von Mises normality test
##
## data: s
## W = 3.8148, p-value = 7.37e-10
# Kiểm định Kolmogorov-Smirnov
ks.test(s, y = "punif")
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: s
## D = 0.10503, p-value = 1.856e-07
## alternative hypothesis: two-sided
Kiểm định cho biến TWII
# Kiểm định Anderson_Darling
library(nortest)
ad.test(s1)
##
## Anderson-Darling normality test
##
## data: s1
## A = 17.237, p-value < 2.2e-16
# Kiểm định Cramer-von Mises
cvm.test(s1)
## Warning in cvm.test(s1): p-value is smaller than 7.37e-10, cannot be computed
## more accurately
##
## Cramer-von Mises normality test
##
## data: s1
## W = 2.6783, p-value = 7.37e-10
# Kiểm định Kolmogorov-Smirnov
ks.test(s1, y = "punif")
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: s1
## D = 0.070143, p-value = 0.00146
## alternative hypothesis: two-sided
library("copula")
## Warning: package 'copula' was built under R version 4.4.1
##
## Attaching package: 'copula'
## The following object is masked from 'package:VineCopula':
##
## pobs
library("scatterplot3d")
u <- pobs(s)
head(u,10)
## [1] 0.6639456 0.7333333 0.7537415 0.9972789 0.7401361 0.3414966 0.5564626
## [8] 0.5972789 0.6448980 0.7782313
k <- pobs(s1)
head(k,10)
## [1] 0.8285714 0.9482993 0.9945578 0.9931973 0.8299320 0.5931973 0.5142857
## [8] 0.5877551 0.7564626 0.7551020
# Tạo copula
copula_model <- normalCopula(dim = 2)
# Ước lượng copula từ dữ liệu chuẩn hóa
fit_copula <- fitCopula(copula_model, cbind(u,k), method = "ml")
# Xem kết quả ước lượng
summary(fit_copula)
## Call: fitCopula(copula_model, data = cbind(u, k), ... = pairlist(method = "ml"))
## Fit based on "maximum likelihood" and 734 2-dimensional observations.
## Normal copula, dim. d = 2
## Estimate Std. Error
## rho.1 0.8729 0.007
## The maximized loglikelihood is 521.9
## Optimization converged
## Number of loglikelihood evaluations:
## function gradient
## 10 10
Kết quả ước lượng copula họ Elip trong điều kiện thị trường bình thường cho mối quan hệ giữa hai biến VNI và TƯ, bao gồm hai loại copula: Gaussian và Student. Kết quả từ copula Gaussian cho thấy một mức độ tương quan dương giữa hai biến với giá trị là 0.8729 với sai số chuẩn là 0.007. Điều này ngụ ý rằng có một xác suất nhất định rằng hai biến sẽ cùng trải qua các biến động cực đoan theo cùng một hướng. Cụ thể, nếu TTCK Đài Loan biến động tăng (giảm) giá thì khả năng TTCK Việt Nam tăng (giảm) theo là khoảng 82.29%.
Dựa trên kết quả ước lượng các tham số Copula tiến hành mô phỏng dữ liệu dựa trên các tham số của Copula tương ứng và trực quan hóa mối quan hệ của TTCk Việt Nam và TTCK Đài Loan.
#
mycop<-normalCopula(c(-0.03),dim=2,dispstr="ex")
mymvd<-mvdc(copula=mycop,margins =c("norm","norm"),paramMargins=list(list(mean=0,sd=1),list(mean=1,2)))
#
r<-rMvdc(1456,mymvd)
#
dens<-dMvdc(r,mymvd)
dist<-pMvdc(r,mymvd)
#
x<-r[,1]
y<-r[,2]
scatterplot3d(x,y,dens,highlight.3d = T)
scatterplot3d(x,y,dist,highlight.3d = T)
2.2 See the copula itself
The copula function can also be visualized,it will be this look.
u<-rCopula(1456,mycop)
a<-u[,1]
b<-u[,2]
copdens<-dCopula(u,mycop)
copdist<-pCopula(u,mycop)
scatterplot3d(a,b,copdens,highlight.3d = T)
scatterplot3d(a,b,copdist,highlight.3d = T)
Bài luận đã nghiên cứu mức độ phản ứng của TTCK Việt Nam khi TTCK Đài Loan biến động trong đại dịch dựa trên chuỗi tỷ suất sinh lợi của hai chỉ số đại diện là VNINDEX và TWII, kết quả cho thấy có sự tương quan mạnh giữa hai thị trường. Có thể khẳng định rằng, khi xảy ra các cú sốc kinh tế, mối tương quan của hai TTCK sẽ gia tăng và khả năng hai TTCK cùng giảm giá cực biên cũng gia tăng đáng kể.
Đối với nhà đầu tư, việc nắm bắt cơ hội đầu tư là cần thiết do mức độ tương quan mạnh giữa VNI và TWII, đồng thời cần phải theo dõi sát sao các sự kiện kinh tế và chính trị để điều chỉnh chiến lược đầu tư kịp thời. Ngoài ra nhà đầu tư cần kết hợp phân tích kỹ thuật và cơ bản, cùng với việc sử dụng các công cụ phái sinh để bảo vệ danh mục đầu tư khỏi các sự kiện bất ngờ.
Đối với nhà hoạch định chính sách, việc giám sát chặt chẽ các yếu tố kinh tế và chính trị ảnh hưởng đến cả hai thị trường là cần thiết, đồng thời duy trì các chính sách kinh tế ổn định để tạo môi trường đầu tư an toàn và giảm thiểu các biến động cực đoan. Đồng thời, cần thiết để xây dựng các biện pháp hỗ trợ kinh tế trong thời kỳ khủng hoảng để tăng cường ổn định kinh tế. Các chính sách quản lý rủi ro tài chính chặt chẽ hơn cũng cần được thực hiện để ngăn chặn sự lan truyền rủi ro hệ thống.Hơn nữa, hợp tác quốc tế giữa các cơ quan quản lý tài chính có thể giúp đồng bộ hóa các biện pháp phòng ngừa rủi ro và đảm bảo sự ổn định của thị trường. Các nhà hoạch định cần đảm bảo tính minh bạch và cung cấp thông tin kịp thời giúp các nhà đầu tư đưa ra quyết định chính xác hơn, từ đó ổn định thị trường. Ngoài ra, việc khuyến khích các khoản đầu tư bền vững và dài hạn sẽ giúp giảm thiểu rủi ro và hỗ trợ sự phát triển bền vững của nền kinh tế trong dài hạn.