LỜI CẢM ƠN

Lời đầu tiên em xin được gửi lời cảm ơn chân thành đến thầy Nguyễn Tuấn Duy vì sự hướng dẫn tận tình và sự hỗ trợ quý báu trong suốt quá trình thực hiện tiểu luận môn học. Sự nhiệt huyết Thầy không chỉ giúp em hiểu rõ nội dung nghiên cứu môn học mà còn truyền cảm hứng để em hoàn thiện tiểu luận một cách tốt nhất. Những ý kiến phản hồi của Thầy đã giúp em có một bài tiểu luận với nội dung chặt chẽ hơn. Em hiểu rằng bản thân còn nhiều thiếu sót do kiến thức còn hạn chế nên bài báo cáo sẽ không thể tránh khỏi những lỗi sai , em mong sẽ nhận được thêm sự nhận xét của thầy để em hoàn thành tốt hơn nữa trong các bài tiểu luận sắp tới. Cuối cùng em kính chúc Thầy nhiều sức khỏe và ngày càng thành công trong cuộc sống.

1 GIỚI THIỆU

1.1 Đặt vấn đề

Việt Nam đang hân hoan bước vào kỷ nguyên hội nhập kinh tế quốc tế, mở ra những cơ hội to lớn cho sự phát triển đất nước. Trong bối cảnh này, 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. Vì thế thị trường chứng khoán không những đóng vai trò quan trọng trong việc định hình và thúc đẩy tình hình phát triển kinh tế Việt Nam mà còn là mũi tên chỉ hướng phát triển của nền kinh tế Việt Nam. Sự tăng trưởng của các chỉ số chứng khoán thường đi kèm với sự tăng trưởng của nền kinh tế, vì nó cho thấy lòng tin của nhà đầu tư vào triển vọng kinh doanh và chính trị của quốc gia.

Dựa vào thống kê Bộ kế hoạch và Đầu tư nước ngoài, tính đến 20/12/2021, tổng vốn đăng ký cấp mới, điều chỉnh và góp vốn mua cổ phần, mua phần vốn góp (GVMCP) của nhà ĐTNN đạt 31,15 tỷ USD, tăng 9,2% so với cùng kỳ năm 2020. Vốn thực hiện của dự án đầu tư nước ngoài ước đạt 19,74 tỷ USD, giảm nhẹ 1,2% so với cùng kỳ năm 2020. Tính lũy kế đến ngày 20/12/2021, cả nước có 34.527 dự án còn hiệu lực với tổng vốn đăng ký gần 408,1 tỷ USD. Vốn thực hiện lũy kế của các dự án đầu tư nước ngoài ước đạt 251,6 tỷ USD, bằng 61,7% tổng vốn đầu tư đăng ký còn hiệu lực. Có thể thấy trong những năm qua, FDI là nguồn vốn bổ sung quan trọng cho chiến lược thúc đẩy tăng trưởng kinh tế cao với tốc độ tăng trưởng vốn FDI thực hiện ở mức khoảng 10 - 15% đối với các năm đại dịch chưa xảy ra, trong năm 2019; trong năm 2020 - 2021 do ảnh hưởng của dịch Covid-19, tăng trưởng vốn FDI ở mức âm nhưng đã phục hồi tốt hơn trong năm 2022 với mức tăng trưởng 13,9%. Bên cạnh đó, FDI cũng giúp đẩy mạnh xuất khẩu, đóng góp vào thặng dư cán cân thương mại của Việt Nam, từ đó thúc đẩy tăng trưởng GDP. Những đóng góp này ngày càng được nâng cao. Giá trị xuất khẩu hàng hoá của khu vực doanh nghiệp FDI chiếm 27% vào năm 1995 và tăng gấp gần 3 lần lên tới 71,7% kim ngạch xuất khẩu cả nước vào năm 2020. Mặc dù, nhập khẩu của khu vực FDI đạt 168,8 tỷ USD, chiếm tới 64,3% kim ngạch nhập khẩu của cả nước nhưng tính chung cho năm 2020, khu vực FDI đã xuất siêu 33 tỷ USD không kể dầu thô, giúp bù đắp 15,6 tỷ USD nhập siêu của khu vực doanh nghiệp trong nước (Tổng cục Thống kê, 2020), từ đó, đảo ngược cán cân thương mại của Việt Nam về kết quả xuất siêu 19,1 tỷ USD. Năm 2023, điểm nổi bật là dòng vốn FDI mới đổ vào lĩnh vực sản xuất tăng mạnh, bất chấp nhiều khó khăn kinh tế toàn cầu và những hạn chế sau đại dịch Covid-19, vốn FDI đăng ký tại Việt Nam tăng mạnh, đạt 36,61 tỷ USD, tăng 32,1% so với năm 2022, trong khi vốn FDI toàn cầu chỉ tăng 3%.Vốn FDI vẫn được xem là “cơn gió thuận” đối với Việt Nam trong bối cảnh đa dạng hóa chuỗi cung ứng toàn cầu.

Sự hợp tác giữa Thượng Hải và Việt Nam luôn có tiềm năng lớn, nền tảng vững chắc và tính bổ trợ cao, Thượng Hải là thị trường xuất khẩu quan trọng của Việt Nam, trong khi Việt Nam là điểm đến đầu tư tiềm năng của doanh nghiệp Thượng Hải. Sự liên kết thương mại giữa hai quốc gia sẽ luôn có độ phụ thuộc vào tình hình tài chính của nhau, mà sâu hơn là sự phụ thuộc vào thị trường chứng khoán của nhau. Có thể thấy sau đại dịch Covid 19 nền kinh tế bắt đầu phục hồi thì kim ngạch thương mại của Thượng Hải với Việt Nam năm 2022 đạt 16,6 tỷ USD, giảm 15.3% so với cùng kỳ; trong đó giá trị nhập khẩu là 11,5 tỷ USD, giảm 18,5%, xuất khẩu sang Việt Nam là 5 tỷ USD giảm 7%. Đến nay, doanh nghiệp Thượng Hải đã đầu tư 82 dự án tại Việt Nam với tổng số vốn là 453 triệu USD. Để hiểu rõ hơn về tình hình thị trường tài chính Việt Nam và phụ thuộc vào thị trường Thượng Hải trong giai đoạn 2021- 2023 ra sao thì việc sử dụng Copula để phân tích sự phụ thuộc giữa các chỉ số chứng khoán là vô cùng quan trọng. Nghiên cứu này sẽ tập trung vào việc phân tích chi tiết diễn biến chỉ số biến động giá giữa Việt Nam và Thượng Hải nhằm làm rõ các yếu tố chính tác động đến sự biến động của chỉ số, đặc biệt để hiểu rõ hơn về mối quan hệ giữa chỉ số giá Việt Nam và các thị trường chứng khoán quốc tế.Do đó bài tiểu luận này nghiên cứu về “Đánh giá sự phụ thuộc của thị trường chứng khoán Việt Nam vào thị trường chứng khoán Thượng Hải sau đại dịch Covid bằng phương pháp Copula

1.2 Mục tiêu nghiên cứu

Đánh giá tính hiệu quả của việc sử dụng phương pháp Copula trong việc phân tích sự phụ thuộc giữa chỉ số VNI và chỉ số SSE trong giai đoạn 2021-2023.

Nghiên cứu làm rõ các xu hướng chính, xác định nguyên nhân của các biến động mạnh và cung cấp cái nhìn sâu sắc về tình hình thị trường chứng khoán Việt Nam trong giai đoạn này.

Cung cấp dữ liệu nghiên cứu, từ đó đưa ra những khuyến nghị dưới góc độ của một snh viên nghiên cứu.

1.3 Đối tượng nghiên cứu

Đối tượng nghiên cứu của tiểu luận là chuỗi tỷ suất biến động giá của thị trường chứng khoán Việt Nam ( VNI) và thị trường chứng khoán Thượng Hải ( SSE ).

1.4 Phạm vi nghiên cứu

  • Về không gian: Nghiên cứu sự biến động của thị trường chứng khoán Việt Nam vào thị trường chứng khoán Thượng Hải. Từ đó phản ánh được sự biến động giá của các cổ phiếu của thị trường chứng khoán

  • Về thời gian: Dữ liệu nghiên cứu trong đề tài được lấy từ ngày 01 tháng 01 năm 2021 đến 31 tháng 12 năm 2023.

2 TỔNG QUAN NGHIÊN CỨU VỀ THỊ TRƯỜNG CHỨNG KHOÁN

2.1 Tổng quan về thị trường chứng khoán

  • Thị trường chứng khoán là nơi hoạt động, phát hành, giao dịch, mua bán các loại chứng khoán được diễn ra. Nơi đây hoạt động như một cầu nối giữa những người có vốn (nhà đầu tư) và những người cần vốn (doanh nghiệp). Hàng hóa được giao dịch trên thị trường chứng khoán là loại hàng hóa đặc biệt, đó chính là quyền sở hữu về tư bản. Chứng khoán là sản phẩm tài chính bao gồm trái phiếu, cổ phiếu, chứng chỉ quỹ và một số cônh cụ tài chính trung hạn và dài hạn khác.Khái niệm về thị trường chứng khoán không chỉ đơn thuần là nơi giao dịch, mà còn bao gồm một hệ thống phức tạp giúp kết nối các doanh nghiệp cần huy động vốn với các nhà đầu tư đang tìm kiếm cơ hội sinh lời.
  • Thị trường chứng khoán có thể được phân loại chi tiết theo hai tiêu chí chính: Về hình thức giao dịch bao gồm: thị trường sơ cấp và thị trường thứ cấp. Thị trường sơ cấp là nơi các công ty phát hành chứng khoán lần đầu tiên để huy động vốn từ công chúng, thường thông qua các đợt phát hành cổ phiếu lần đầu (IPO- Initial Public Offering) hoặc phát hành trái phiếu. Điều này giúp các doanh nghiệp thu hút vốn đầu tư trực tiếp từ nhà đầu tư để tài trợ cho các dự án hoặc mở rộng hoạt động. Ngược lại, thị trường thứ cấp là nơi các chứng khoán đã được phát hành trước đó được mua bán giữa các nhà đầu tư. Thị trường thứ cấp cung cấp thanh khoản cho các chứng khoán, cho phép nhà đầu tư dễ dàng mua và bán chứng khoán, đồng thời điều chỉnh giá trị dựa trên cung cầu và thông tin thị trường mới. Về loại chứng khoán, thị trường chứng khoán bao gồm: thị trường cổ phiếu, thị trường trái phiếu, thị trường chứng chỉ quỹ và chứng khoán phái sinh. Thị trường cổ phiếu là nơi giao dịch quyền sở hữu công ty thông qua cổ phiếu, cho phép nhà đầu tư trở thành cổ đông và hưởng lợi từ lợi nhuận và tăng trưởng của công ty. Thị trường trái phiếu liên quan đến giao dịch các khoản nợ phát hành bởi công ty hoặc chính phủ, với lãi suất cố định và thời hạn cụ thể để hoàn trả vốn và lãi. Thị trường chứng chỉ quỹ và chứng khoán phái sinh bao gồm các sản phẩm tài chính như chứng chỉ quỹ đầu tư, hợp đồng tương lai và quyền chọn, cung cấp các công cụ đầu tư và phòng ngừa rủi ro phức tạp hơn. Mỗi phân loại trong thị trường chứng khoán có những đặc điểm và chức năng riêng, tạo ra một hệ thống tài chính đa dạng và linh hoạt, phục vụ nhu cầu huy động vốn và đầu tư của nền kinh tế.

Thị trường chứng khoán đóng vai trò thiết yếu trong nền kinh tế quốc gia, thực hiện nhiều chức năng quan trọng và hướng đến các mục tiêu chiến lược. Chức năng chính của thị trường chứng khoán là cung cấp một nền tảng để các doanh nghiệp huy động vốn, qua đó hỗ trợ sự phát triển và mở rộng hoạt động của họ. Bằng cách phát hành cổ phiếu và trái phiếu, các công ty có thể thu hút đầu tư từ công chúng và các tổ chức tài chính, giúp tài trợ cho các dự án mới, nghiên cứu và phát triển, và nâng cao khả năng cạnh tranh. Bên cạnh đó, thị trường chứng khoán còn cung cấp sự thanh khoản cho các nhà đầu tư, cho phép họ mua bán chứng khoán dễ dàng và nhanh chóng, từ đó làm giảm rủi ro đầu tư và tối ưu hóa lợi nhuận. Chính bởi những lẽ đó nên thị trường chứng khoán sẽ thúc đẩy sự phát triển kinh tế bền vững và ổn định, nâng cao hiệu quả sử dụng vốn và khuyến khích đầu tư dài hạn. Thị trường chứng khoán giúp điều tiết dòng vốn, đảm bảo nguồn tài chính được phân bổ hợp lý giữa các ngành và lĩnh vực quan trọng của nền kinh tế. Song có thể thấy sự ảnh hưởng sâu rộng của thị trường chứng khoán sẽ ảnh hưởng trực tiếp nền kinh tế quôc dân.

2.2 Tổng quan thị trường chứng khoán Việt Nam

  • Thị trường chứng khoán Việt Nam được thành lập từ năm 2000, với sự thành lập của Sở Giao dịch Chứng khoán Hồ Chí Minh ( HOSE – HSX ) và Sở Giao dịch Chứng khoán Hà Nội ( HNX ). Trong đó thì Sở Giao dịch Chứng khoán Hồ Chí Minh (HOSE- HXS) là sàn giao dịch chứng khoán lớn nhất và sôi động nhất tại Việt Nam, nó đã trở thành trung tâm giao dịch của các doanh nghiệp lớn, có vốn hóa thị trường cao và thu hút sự quan tâm của đông đảo nhà đầu tư trong và ngoài nước. Các chỉ số trên HOSE là những công cụ hữu ích giúp nhà đầu tư theo dõi và đánh giá diễn biến của thị trường chứng khoán Việt Nam. Trong đó, VN-Index được xem như “la bàn” của thị trường, phản ánh tổng quan về sự biến động của các cổ phiếu lớn và có tính thanh khoản cao. VN30-Index, với 30 mã cổ phiếu hàng đầu, cung cấp cái nhìn chi tiết hơn về nhóm các cổ phiếu có vốn hóa lớn nhất…. Tuy nhiên, trong những năm đầu, thị trường chứng khoán Việt Nam còn rất nhỏ và chưa được quan tâm nhiều từ nhà đầu tư. Khi mới thành lập thời gian đầu Trung tâm giao dịch chứng khoán TPHCM chỉ tổ chức 3 phiên giao dịch một tuần, biên độ giao động giá lúc này chỉ có 2%. Sau hai năm hoạt động thì số phiên giao dịch đã tăng từ 3 phiên lên 5 phiên/ tuần. Sự hoạt động của thị trường chứng khoán lúc này rất nhỏ bé.

  • Từ năm 2006 đến 2016, thị trường chứng khoán Việt Nam trải qua nhiều biến động lớn. Năm 2006 chứng kiến sự bùng nổ mạnh mẽ với VN-Index tăng 144%, vốn hóa đạt 17% GDP nhờ vào sự tích cực từ hoạt động doanh nghiệp, kỳ vọng gia nhập WTO, và các sự kiện đối ngoại quan trọng như Hội nghị APEC. Tuy nhiên, năm 2008, thị trường suy thoái nghiêm trọng do khủng hoảng tài chính toàn cầu, khiến VN-Index giảm gần 66% và vốn hóa giảm 54%. Năm 2009, thị trường bắt đầu phục hồi với VN-Index tăng lên 484,66 điểm, nhưng tiếp tục biến động mạnh trong các năm 2010 và 2011, khi VN-Index giảm 27% do khủng hoảng nợ công châu Âu và các yếu tố khác. Giai đoạn 2012-2016 chứng kiến sự phục hồi và tăng trưởng ổn định của thị trường, với VN-Index tăng từ 18% vào năm 2012 lên 14,82% vào năm 2016 và vốn hóa đạt 2,6 triệu tỷ đồng.

  • Năm 2017 tiếp tục chứng kiến sự bứt phá mạnh mẽ của thị trường chứng khoán toàn cầu và Việt Nam, với chỉ số VN-Index ghi nhận sự tăng trưởng ấn tượng nhờ vào sự khởi sắc của kinh tế toàn cầu và chính sách tiền tệ nới lỏng. Trong giai đoạn 2019-2021, thị trường chứng khoán Việt Nam trải qua nhiều biến động đáng chú ý. Năm 2019, VN-Index tăng 7,7% lên 960,99 điểm, nhưng không duy trì đà tăng mạnh sau quý I do tác động từ chiến tranh thương mại Mỹ-Trung và bất ổn chính trị toàn cầu. Tuy nhiên, sự đảo chiều trong chính sách tiền tệ toàn cầu, với nhiều ngân hàng trung ương cắt giảm lãi suất, đã giúp thị trường chứng khoán Việt Nam phục hồi trong nửa cuối năm. Sang năm 2020, dù đại dịch COVID-19 gây khó khăn toàn cầu, các biện pháp hỗ trợ tài chính của Chính phủ Việt Nam và chính sách tiền tệ nới lỏng đã giúp VN-Index tăng 14,9% lên 1.103,87 điểm, với vốn hóa thị trường đạt gần 5.294 nghìn tỷ đồng. Năm 2021, nhờ sự hồi phục kinh tế toàn cầu và quản lý hiệu quả dịch bệnh trong nước, VN-Index tiếp tục tăng mạnh, đạt 1.498,28 điểm vào cuối năm, tăng 35,7% so với năm 2020 và thiết lập đỉnh lịch sử mới tại 1.500,81 điểm.

  • Trong năm 2022, thị trường chứng khoán Việt Nam gặp nhiều khó khăn, với VN-Index giảm khoảng 33% từ mức 1.511 điểm vào cuối năm 2021 xuống còn khoảng 1.010 điểm vào cuối năm 2022. Thanh khoản giảm sút, với khối lượng giao dịch trung bình hàng ngày chỉ còn khoảng 15.000 - 18.000 tỷ đồng, và vốn hóa thị trường giảm từ khoảng 5 triệu tỷ đồng xuống còn 3,5 triệu tỷ đồng. Sang năm 2023, thị trường chứng khoán có dấu hiệu hồi phục tích cực, VN-Index tăng khoảng 10% lên khoảng 1.111 điểm vào cuối năm. Thanh khoản cải thiện với khối lượng giao dịch trung bình hàng ngày dao động trong khoảng 18.000 - 25.000 tỷ đồng, và vốn hóa thị trường tăng lên khoảng 4 triệu tỷ đồng, phản ánh sự trở lại của dòng tiền và niềm tin của nhà đầu tư.

2.3 Tổng quan thị trường chứng khoán Đài Loan

  • Thị trường chứng khoán Thượng Hải (Shanghai Stock Exchange - SSE) được thành lập vào ngày 26 tháng 11 năm 1990, đánh dấu sự hồi sinh của thị trường chứng khoán Trung Quốc sau hơn bốn thập kỷ gián đoạn kể từ khi thị trường chứng khoán trước đó bị ngừng hoạt động vào năm 1949. SSE được tạo ra nhằm hỗ trợ quá trình cải cách và mở cửa nền kinh tế Trung Quốc, cung cấp một nền tảng vững chắc để các công ty huy động vốn và thúc đẩy sự phát triển của nền kinh tế thị trường. Kể từ khi ra đời, SSE đã chứng kiến sự phát triển mạnh mẽ, trở thành một trong những sàn giao dịch chứng khoán hàng đầu và có ảnh hưởng nhất ở Trung Quốc, với chỉ số SSE Composite Index phản ánh toàn diện tình hình của thị trường chứng khoán Thượng Hải. SSE đã đóng vai trò quan trọng trong việc thúc đẩy tăng trưởng kinh tế của Trung Quốc và khẳng định vị thế của mình như một trung tâm tài chính hàng đầu trong khu vực châu Á.

  • Sau đại dịch COVID-19, thị trường chứng khoán Thượng Hải đã trải qua nhiều giai đoạn biến động rõ rệt. Vào đầu năm 2020, chỉ số SSE Composite Index giảm mạnh do tác động tiêu cực của đại dịch, nhưng nhanh chóng phục hồi nhờ vào các biện pháp kích thích kinh tế từ chính phủ Trung Quốc, như cắt giảm lãi suất và các gói hỗ trợ tài chính. Trong năm 2021, thị trường chứng khoán Thượng Hải ghi nhận sự phục hồi tích cực, với chỉ số SSE Composite Index tăng khoảng 10%, đạt khoảng 3.600 điểm vào cuối năm. Sự phục hồi này được hỗ trợ bởi tăng trưởng kinh tế ổn định và nhu cầu tiêu dùng phục hồi. Tuy nhiên, năm 2022 chứng kiến sự điều chỉnh và giảm nhẹ của chỉ số, do tác động kéo dài của các biện pháp kiểm soát dịch bệnh nghiêm ngặt và những bất ổn kinh tế toàn cầu, với SSE Composite Index giảm khoảng 10%, xuống còn khoảng 3.200 điểm. Đến năm 2023, thị trường bắt đầu phục hồi mạnh mẽ, với SSE Composite Index tăng trở lại khoảng 15%, đạt khoảng 3.680 điểm vào cuối năm nhờ vào các chính sách hỗ trợ kinh tế tiếp tục được duy trì, sự nới lỏng các biện pháp kiểm soát dịch bệnh, và sự cải thiện trong điều kiện kinh tế trong nước.

3 TỔNG QUAN VỀ COPULA VÀ THIẾT KẾ NGHIÊN CỨU

3.1 Tổng quan về nghiên cứu Copula

  • Lí thuyết copula được xem là bắt nguồn từ định lí Sklar (1959): Cho X1, …, Xd là các biến ngẫu nhiên với các hàm phân phối liên tục F1, …, Fd và hàm phân phối đồng thời H. Khi đó tồn tại duy nhất một hàm C:

    H(x) = C{F1( X1 )…..Fd ( Xd )} với x ∈ R^d

Hàm C ở trên được gọi là copula, được hiểu một cách đơn giản là hàm phân phối nhiều chiều với các hàm biên duyên là các phân phối đều chuẩn tắc.

Từ định lí Sklar ta thấy, phần phụ thuộc giữa các biến ngẫu nhiên được xác định bởi một copula, và có thể tách rời nó ra khỏi phần các biên duyên. (Hai phần này kết hợp lại với nhau thì cho phân phối đồng thời H). Vì vậy, copula còn được gọi là hàm (cấu trúc) của sự phụ thuộc.

Các họ copula nhiều chiều được R (gói lệnh copula) hỗ trợ là: Clayton, Gumbel-Hougaard, Frank, Plackett (thuộc họ Archimedean); và normal (copula Gaussian), t-copula (thuộc họ elliptical).

Mệnh đề đảo của định lí Sklar: Với bất kỳ copula C và Y1, …, Yd là các biến ngẫu nhiên với các hàm phân phối liên tục F1, …, Fd, công thức (1) định nghĩa một hàm phân phối d chiều H với các hàm biên duyên F1, …, Fd. Mệnh đề đảo cho phép xây dựng hàm phân phối d chiều H từ các hàm biên duyên. Lưu ý rằng H không phải là hàm phân phối đồng thời “TRUE” của Y1, …, Yd; nhưng H có biên duyên trùng với các phân phối của Y1, …, Yd. Mệnh đề đảo cho thấy đặc tính “mềm dẻo” của copula: để xây dựng H, ta không cần Y1, …, Yd phải cùng phân phối và cũng không cần có ràng buộc với C.

  • Một ưu điểm nữa của copula là tính bất biến: copula không đổi nếu ta chuyển dịch Y1, …, Yd dưới các ánh xạ tăng ngặt. Đặc tính này cho phép ta có thể xây dựng copula trực tiếp từ mẫu hoặc từ rank của mẫu; hơn nữa, nếu ta chuyển từ mô hình các lợi suất % của danh mục các tài sản tài chính sang mô hình lợi suất loga, thì copula cũng không đổi.

Cho (X11,…, X1d), …, (X n1,…, Xnd) là n quan sát d chiều, kí hiệu Ri= (Ri1,…, Rid) với Rij là thứ hạng (rank) của Xij trong X1j,…, Xnj. Giả quan sát (pseudo-observation s):

θi= Ri/(n+1),i ϵ { 1,….,n}

Copula thực nghiệm (empirical copula) của mẫu được xác định là:

Cn(u)= 1/n * ∑(1*(Ui≤ u)), u ∈ [ 0;1]^ d

3.2 Các nghiên cứu áp dụng Copula

Luận văn “nghiên cứu mối quan hệ giữa tỷ giá hối đoái và giá chứng khoán” của Thạc sĩ Phan Đình Luận. Luận văn thạc sĩ của Thạc sĩ Phan Đình Luận đã tiến hành nghiên cứu mối quan hệ giữa tỷ giá hối đoái VND/USD và chỉ số VN-Index trong giai đoạn từ năm 2000 đến năm 2018. Bằng cách sử dụng các phương pháp hồi quy, VAR và phân tích đồng tích hợp, tác giả đã phát hiện ra rằng tồn tại một mối quan hệ đồng biến giữa tỷ giá hối đoái và giá chứng khoán Việt Nam trong dài hạn. Tuy nhiên, trong ngắn hạn, mối quan hệ này lại không ổn định và phụ thuộc vào nhiều yếu tố khác như chính sách tiền tệ, biến động giá dầu và các sự kiện quốc tế. Kết quả nghiên cứu của tác giả có ý nghĩa quan trọng đối với các nhà đầu tư và nhà hoạch định chính sách tại Việt Nam, giúp họ đưa ra các quyết định đầu tư và xây dựng các chính sách phù hợp với diễn biến của thị trường.

Ngoài sử dụng copula trong thị trường tài chính, phương pháp copula còn được sử dụng trong thiên văn học như bài báo cáo “ Ứng dụng copula trong xác định phân phối đồng thời đa thiên tai do bão kèm mưa lớn và mưa sau bão” của nhóm tác giả Trần Thanh Thủy, Trần Thục, Huỳnh Thị Lan Hương, Nguyễn Xuân Hiển, Lê Văn Tuấn, Nguyễn Thành Công của Viện khí tượng Thủy văn và biến đổi khí hậu. Nghiên cứu này phân tích, xác định xác suất xảy ra đồng thời của các thiên tai bão kèm mưa lớn và mưa sau bão bằng hàm Copula. Số liệu quan trắc tốc độ gió mạnh trong bão và lượng mưa ngày lớn nhất trong và sau bão giai đoạn 1961-2017 của 15 trạm khí tượng được sử dụng trong nghiên cứu. Nghiên cứu đã tìm ra hàm Gumbel-Hougaard Copula là hàm phù hợp cho đa thiên tai bão kèm mưa lớn và mưa sau bão khu vực ven biển Trung Trung Bộ. Kiểm định Kolmogorov-Smirnov và têu chuẩn thông tin Akaike được sử dụng để kiểm định sự phù hợp của các hàm Copula

3.3 Phương pháp nghiên cứu

  • Dữ liệu nghiên cứu được sử dụng trong bài tiểu luận là hai chuỗi chuỗi tỷ suất biến động giá của thị trường chứng khoán Việt Nam ( VNI) và thị trường chứng khoán Thượng Hải ( SSE ). Giai đoạn nghiên cứu trong bài là giai đoạn sau Đại dịch Covid 19, cụ thể từ ngày 01/01/2021 đến ngày 31/12/2023. Dữ liệu được em lấy từng ngày để dễ quan sát thông qua trang web Fireant.vn trong vòng 3 năm.
  • Phương pháp nghiên cứu của bài luận được trình bày theo thứ tự với bốn bước cụ thể là: (1) Kiểm định phân phối chuẩn, (2) Kiểm định tính phù hợp của mô hình, (3) Ước lượng tham số mô hình copula, (4) Lựa chọn mô hình copula phù hợp.

3.3.1 Xác định mô hình phân phối biên

  • 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ó.

3.3.2 Kiểm định tính độc lập

Kiểm định sự độc lập trả lời câu hỏi mẫu quan sát có phù hợp với họ copula độc lập không, nghĩa là các biến ngẫu nhiên được lấy trong chuỗi có độc lập hay không:

H0: Hàm C là hàm độc lập

H1: Hàm C là hàm không độc lập

Thống kê Cramer- von Mises:

In= ∫n*(Cn(u) - ∏(u1))^2du

Kiểm định Cramer-von Mises (Cv-M) là một công cụ thống kê quan trọng để đánh giá mức độ phù hợp giữa phân phối dữ liệu thực nghiệm và phân phối lý thuyết. Bằng cách so sánh hàm phân phối tích lũy thực nghiệm với hàm phân phối lý thuyết, Cv-M đo lường sự khác biệt giữa hai phân phối thông qua một chỉ số tổng hợp. Giá trị p của kiểm định này cung cấp thông tin về mức độ đáng kể của sự khác biệt quan sát được, với giá trị p thấp cho thấy sự khác biệt đáng kể và khả năng bác bỏ giả thuyết rằng phân phối thực nghiệm tuân theo phân phối lý thuyết. Kiểm định Cv-M không chỉ giúp xác định sự phù hợp của dữ liệu với một mô hình phân phối cụ thể mà còn có thể được sử dụng để so sánh nhiều mô hình phân phối khác nhau, từ đó hỗ trợ trong việc chọn lựa mô hình phù hợp nhất cho dữ liệu nghiên cứu.

3.3.3 Ước lượng các tham số

Phương pháp suy luận cận biên (IFM) là một kỹ thuật hiệu quả để ước lượng tham số cho mô hình copula, đặc biệt khi xử lý các mô hình điều kiện phức tạp. Phương pháp này phân tách việc ước lượng tham số của hàm phân phối biên và của copula. Đầu tiên, chúng ta ước lượng tham số của hàm phân phối biên cho từng biến độc lập bằng cách sử dụng các phương pháp như MLE hoặc phương pháp moments. Sau đó, với các tham số của hàm phân phối biên đã ước lượng, chúng ta xây dựng hàm IFM dựa trên hàm mật độ xác suất (PDF) hoặc hàm khối lượng xác suất (PMF). Hàm IFM cho phép tính toán các đạo hàm của hàm copula theo các tham số của hàm phân phối biên, từ đó ước lượng các tham số của copula một cách độc lập. Phương pháp này giúp quản lý các mô hình phức tạp bằng cách xử lý riêng biệt từng thành phần của copula và phân phối biên. Ta có thể sử dụng hàm MLE ước lượng gồm 3 bước như sau:

Bước 1: Ước Lượng Phân Phối Biên: Ước lượng phân phối biên F(X1 ) và F(X2 ) cho các biến X1,X2. Sau đó chuyển dữ liệu tính giá trị đồng đều

U1 = F(X1 ) và U2 = F(X2)

Bước 2: Lập Hàm Likelihood: lựa chọn loại copula phù hợp và xác định hàm Copula Cθ(θ1,θ2) với tham số θ

L(θ) = ∂^(2)(U1i,U(2i)/∂(U1i,U(2i)

Bước 3: - Tìm Giá Trị Tối Ưu: Sử dụng các thuật toán tối ưu hóa để tìm giá trị của tham số θ sao cho log-likelihood đạt giá trị cao nhất.

3.3.4 Lựa chọn mô hình copula phù hợp

Sau khi ước lượng, sử dụng các kiểm định thống kê như Cramer-von Mises để đánh giá mức độ phù hợp của các mô hình với dữ liệu, với mô hình có giá trị p cao hơn cho thấy sự phù hợp tốt hơn. Ngoài việc thực hiện các kiểm định sự phù hợp, cần áp dụng các tiêu chuẩn thông tin như Akaike Information Criterion (AIC) và Bayesian Information Criterion (BIC) để chọn mô hình có giá trị thấp nhất, điều này giúp cân bằng giữa mức độ phù hợp và độ phức tạp của mô hình, đồng thời tránh hiện tượng overfitting; việc so sánh các mô hình dựa trên các kiểm định và tiêu chuẩn thông tin này sẽ giúp chọn mô hình copula tối ưu nhất, phù hợp với dữ liệu thực tế và không gặp phải vấn đề overfitting hoặc underfitting.

4 KẾT QUẢ NGHIÊN CỨU VÀ KẾT LUẬN

library(PerformanceAnalytics)
## Loading required package: xts
## Loading required package: zoo
## 
## 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)
dulieu <- read.xlsx("C:/Users/Admin/Documents/vni sse.xlsx", sheetName = 1, header = T)
LGSSE <- diff(log(dulieu$SSE), lag = 1)
LGVNI <- diff(log(dulieu$VNI), lag = 1)
mhnn <- data.frame(VNI = LGVNI, SSE = LGSSE)

4.1 Thống kê mô tả

# Thống kê mô tả VNI
mean(mhnn$VNI)  
## [1] 2.231132e-05
median(mhnn$VNI)  
## [1] 0.000851738
sd(mhnn$VNI)  
## [1] 0.01779604
var(mhnn$VNI) 
## [1] 0.000316699
min(mhnn$VNI)  
## [1] -0.136879
max(mhnn$VNI)  
## [1] 0.1578417
# Thống kê mô tả SSE

mean(mhnn$SSE)  
## [1] -0.000228549
median(mhnn$SSE)  
## [1] 0
sd(mhnn$SSE)  
## [1] 0.1735349
var(mhnn$SSE)  
## [1] 0.03011437
min(mhnn$SSE)  
## [1] -2.308752
max(mhnn$SSE)  
## [1] 2.325531

4.2 Phân tích biến động chuỗi tỷ suất biến động giá

# Biến động theo ngày của tỷ suất biến động giá VNI
plot.ts(LGVNI)

# Biến động theo ngày của tỷ suất biến động giá SSE
plot.ts(LGSSE)

Qua hai biểu đồ sự biến động có thể thấy chỉ số biến động giá VNI có sự dao động mạnh hơn chỉ số biến động giá SSE, sự dao động lớn trong chỉ số giá chứng khoán có thể là dấu hiệu của sự không chắc chắn và rủi ro trong thị trường chứng khoán Việt Nam so với thị trường chứng khoán Thượng Hải. Đây là giai đoạn vẫn còn đại dịch Covid ở cuối năm 2021, nền kinh tế đang còn bị khủng hoảng bởi những hậu quả mà Covid mang lại nhiên năm 2021 lại đạt đỉnh cao mặc dù có dao động không đều. Sự biến động tỷ số giá VNIndex tập trung ở năm 2022 và 2023 thị trường giảm mạnh do lo ngại lạm phát toàn cầu, thắt chặt chính sách tiền tệ, và chậm lại kinh tế trong nước. Còn đối vớivới chỉ số SSE, mức dao động của tỷ suất biến động giá cũng dao động liên tục, mức dao động bị ảnh hưởng nhất là năm 2022, đây là khoảng thời gian chỉ số SSE Composite gặp nhiều khó khăn do ảnh hưởng của chính sách “Zero-COVID”, sự không chắc chắn về chính sách và nền kinh tế toàn cầu làm gia tăng sự biến động của thị trường trog suốt khoảng thời gian này, đến năm 2023 mới dần dần phục hồi

# Hệ số tương quan Pearson
cor(mhnn)
##             VNI         SSE
## VNI  1.00000000 -0.03101921
## SSE -0.03101921  1.00000000
cor.test(mhnn$VNI, mhnn$SSE)
## 
##  Pearson's product-moment correlation
## 
## data:  mhnn$VNI and mhnn$SSE
## t = -0.82868, df = 713, p-value = 0.4076
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.10410338  0.04239816
## sample estimates:
##         cor 
## -0.03101921
abc <- 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(abc, abbr.colnames = FALSE)
##     VNI SSE
## VNI 1      
## SSE     1  
## attr(,"legend")
## [1] 0 ' ' 0.3 '.' 0.6 ',' 0.8 '+' 0.9 '*' 0.95 'B' 1
library(corrplot)
## corrplot 0.92 loaded
corrplot(abc, 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)
abc1 <- dplyr::select_if(mhnn, is.numeric)
abc2 <- cor(abc1, use="complete.obs")
ggcorrplot(abc2)

Giá trị hệ số tương quan Pearson giữa VN-Index và SSE Composite là -0.03101921, một giá trị rất gần với 0. Điều này có nghĩa là các biến động giá của VN-Index không có liên hệ rõ ràng với các biến động của SSE Composite. Cụ thể sự thay đổi trong VN-Index không liên quan nhiều đến sự thay đổi trong SSE Composite theo cách tuyến tính.

4.3 Các kiểm định và kết quả ước lượng cấu trúc phụ thuộc dựa trên phương pháp Copula

4.3.1 Các kiểm định

# Kiểm định phân phối chuẩn cho VNI 
library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
xy1 <- mhnn$VNI
xyz2 <-  jarque.bera.test(xy1)
print(xyz2)
## 
##  Jarque Bera Test
## 
## data:  xy1
## X-squared = 7860.8, df = 2, p-value < 2.2e-16
# Kiểm định tính dừng
adf.test(xy1)
## Warning in adf.test(xy1): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  xy1
## Dickey-Fuller = -9.0716, Lag order = 8, p-value = 0.01
## alternative hypothesis: stationary
print(adf.test(xy1))
## Warning in adf.test(xy1): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  xy1
## Dickey-Fuller = -9.0716, Lag order = 8, p-value = 0.01
## alternative hypothesis: stationary
# Kiểm định tương quan chuỗi VNI
library(stats)
kml1 <-  Box.test(xy1, lag = 5, type = "Ljung-Box")
print(kml1)
## 
##  Box-Ljung test
## 
## data:  xy1
## X-squared = 28.432, df = 5, p-value = 2.996e-05
library(tseries)
# Kiểm định phân phối chuẩn SSE 
xy2 <- mhnn$SSE
kml2 <-  jarque.bera.test(xy2)
print(kml2)
## 
##  Jarque Bera Test
## 
## data:  xy2
## X-squared = 900654, df = 2, p-value < 2.2e-16
# Kiểm định tính dừng SSE
adf.test(xy2)
## Warning in adf.test(xy2): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  xy2
## Dickey-Fuller = -15.03, Lag order = 8, p-value = 0.01
## alternative hypothesis: stationary
print(adf.test(xy2))
## Warning in adf.test(xy2): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  xy2
## Dickey-Fuller = -15.03, Lag order = 8, p-value = 0.01
## alternative hypothesis: stationary
# Kiểm định tương quan chuỗi cho BID 
library(stats)
kml2 <-  Box.test(xy1, lag = 5, type = "Ljung-Box")
print(kml2)
## 
##  Box-Ljung test
## 
## data:  xy1
## X-squared = 28.432, df = 5, p-value = 2.996e-05
# Kiểm định mô hình ARIMA chi biến VNI
library(tseries) 
library(forecast)
mhVNI <- auto.arima(mhnn$VNI)
mhVNI
## Series: mhnn$VNI 
## ARIMA(1,0,0) with zero mean 
## 
## Coefficients:
##           ar1
##       -0.1902
## s.e.   0.0367
## 
## sigma^2 = 0.0003052:  log likelihood = 1879.72
## AIC=-3755.44   AICc=-3755.42   BIC=-3746.29
# Trích xuất phần dư
ma <- residuals(mhVNI)
# Kiểm định mô hình ARIMA chi biến SSE
library(tseries)
library(forecast)
mhSSE <- auto.arima(mhnn$SSE)
mhSSE
## Series: mhnn$SSE 
## ARIMA(0,0,1) with zero mean 
## 
## Coefficients:
##           ma1
##       -0.9444
## s.e.   0.0134
## 
## sigma^2 = 0.01604:  log likelihood = 462.36
## AIC=-920.72   AICc=-920.71   BIC=-911.58
# Trích xuất phần dư
mb <- residuals(mhSSE)
library(lmtest)
library(fGarch)
## 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)
## 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 88.3 0.00e+00
## [2,]     8 91.0 3.33e-16
## [3,]    12 91.6 2.40e-14
## [4,]    16 92.3 9.35e-13
## [5,]    20 92.4 2.78e-11
## [6,]    24 92.8 5.00e-10
## Lagrange-Multiplier test: 
##      order  LM  p.value
## [1,]     4 737 0.00e+00
## [2,]     8 361 0.00e+00
## [3,]    12 233 0.00e+00
## [4,]    16 171 0.00e+00
## [5,]    20 142 0.00e+00
## [6,]    24 119 7.33e-15

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_SSE <- ugarchfit(spec = arch_spec1, data = mhnn$SSE)

resTWWII <- residuals(arch_SSE)
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$SSE, order = c(1,0,1)))
## ARCH heteroscedasticity test for residuals 
## alternative: heteroscedastic 
## 
## Portmanteau-Q test: 
##      order      PQ p.value
## [1,]     4 0.00232       1
## [2,]     8 0.00643       1
## [3,]    12 0.01577       1
## [4,]    16 0.02491       1
## [5,]    20 0.03992       1
## [6,]    24 0.06128       1
## Lagrange-Multiplier test: 
##      order    LM p.value
## [1,]     4 54388       0
## [2,]     8 26706       0
## [3,]    12 17434       0
## [4,]    16 12806       0
## [5,]    20 10006       0
## [6,]    24  8122       0

Qua kết quả phân tích cho thấy chuỗi biến đọng giá VNI và chuỗi biến động giá SSE đều có p- value là 0.01 nhỏ hơn 0.05 nên đều là chuỗi dừng và không tuân theo phân phối chuẩn dựa trên các kiểm định trên. Qua đó có thể thấy không có sự hiên diện hiệu ứng ARCH ở chuỗi VNI

4.3.2 Kết quả ước lượng cấu trúc phụ thuộc dựa trên phương pháp Copula

library(rugarch)
VNIts<- ts(mhnn$VNI)
head(VNIts)
## Time Series:
## Start = 1 
## End = 6 
## Frequency = 1 
## [1] 0.002860052 0.019645325 0.007120456 0.014571766 0.010570173 0.011754154
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.000304    0.000411  0.73952 0.459591
## ar1    -0.584413    0.218067 -2.67997 0.007363
## ma1     0.470056    0.237732  1.97725 0.048014
## omega   0.000013    0.000001 11.11957 0.000000
## alpha1  0.041681    0.011228  3.71223 0.000205
## beta1   0.808101    0.015809 51.11558 0.000000
## gamma1  0.249909    0.048444  5.15869 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      0.000304    0.000795  0.38192 0.702518
## ar1    -0.584413    0.204474 -2.85814 0.004261
## ma1     0.470056    0.230237  2.04161 0.041190
## omega   0.000013    0.000004  3.28956 0.001003
## alpha1  0.041681    0.024698  1.68761 0.091486
## beta1   0.808101    0.021890 36.91683 0.000000
## gamma1  0.249909    0.059516  4.19905 0.000027
## 
## LogLikelihood : 1977.321 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -5.5114
## Bayes        -5.4666
## Shibata      -5.5116
## Hannan-Quinn -5.4941
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                    0.06686   0.796
## Lag[2*(p+q)+(p+q)-1][5]   0.64165   1.000
## Lag[4*(p+q)+(p+q)-1][9]   2.45193   0.956
## d.o.f=2
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                      4.863 0.02744
## Lag[2*(p+q)+(p+q)-1][5]     5.315 0.12978
## Lag[4*(p+q)+(p+q)-1][9]     6.591 0.23591
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]    0.1917 0.500 2.000  0.6615
## ARCH Lag[5]    0.4223 1.440 1.667  0.9063
## ARCH Lag[7]    0.5178 2.315 1.543  0.9767
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  8.4587
## Individual Statistics:              
## mu     0.11017
## ar1    0.31266
## ma1    0.28261
## omega  1.24059
## alpha1 0.21800
## beta1  0.09239
## gamma1 0.10052
## 
## 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.006709 0.9946    
## Negative Sign Bias 0.307351 0.7587    
## Positive Sign Bias 0.278359 0.7808    
## Joint Effect       0.174640 0.9816    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20      75.8    9.748e-09
## 2    30      91.9    1.855e-08
## 3    40     103.5    9.392e-08
## 4    50     122.4    3.248e-08
## 
## 
## Elapsed time : 4.77381
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.000989    0.000376  2.62693 0.008616
## ar1    -0.368532    0.283692 -1.29905 0.193926
## ma1     0.270442    0.296414  0.91238 0.361570
## omega   0.000022    0.000009  2.37620 0.017492
## alpha1  0.059631    0.040440  1.47456 0.140331
## beta1   0.726335    0.081565  8.90503 0.000000
## gamma1  0.284526    0.118572  2.39961 0.016412
## shape   3.832562    0.548861  6.98276 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      0.000989    0.000385   2.5704 0.010159
## ar1    -0.368532    0.247170  -1.4910 0.135960
## ma1     0.270442    0.261108   1.0357 0.300321
## omega   0.000022    0.000013   1.6128 0.106796
## alpha1  0.059631    0.040276   1.4805 0.138731
## beta1   0.726335    0.121268   5.9895 0.000000
## gamma1  0.284526    0.173414   1.6407 0.100854
## shape   3.832562    0.676485   5.6654 0.000000
## 
## LogLikelihood : 2067.146 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -5.7598
## Bayes        -5.7087
## Shibata      -5.7601
## Hannan-Quinn -5.7401
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                     0.3446  0.5572
## Lag[2*(p+q)+(p+q)-1][5]    0.5909  1.0000
## Lag[4*(p+q)+(p+q)-1][9]    2.0701  0.9814
## d.o.f=2
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                      1.871  0.1713
## Lag[2*(p+q)+(p+q)-1][5]     2.219  0.5676
## Lag[4*(p+q)+(p+q)-1][9]     2.961  0.7654
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]    0.1769 0.500 2.000  0.6740
## ARCH Lag[5]    0.3415 1.440 1.667  0.9290
## ARCH Lag[7]    0.4085 2.315 1.543  0.9859
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  1.6513
## Individual Statistics:              
## mu     0.30159
## ar1    0.02602
## ma1    0.02492
## omega  0.36188
## alpha1 0.06398
## beta1  0.19821
## gamma1 0.35664
## shape  0.64674
## 
## 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.5156 0.6063    
## Negative Sign Bias  0.2111 0.8329    
## Positive Sign Bias  0.3741 0.7084    
## Joint Effect        0.2953 0.9609    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     28.02      0.08303
## 2    30     44.15      0.03554
## 3    40     50.71      0.09923
## 4    50     70.24      0.02490
## 
## 
## Elapsed time : 2.728224
# 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.000355    0.000419  0.84674 0.397140
## ar1    -0.330954    0.382689 -0.86481 0.387142
## ma1     0.206766    0.402313  0.51394 0.607291
## omega   0.000023    0.000009  2.43039 0.015083
## alpha1  0.055085    0.037552  1.46689 0.142406
## beta1   0.727320    0.082617  8.80352 0.000000
## gamma1  0.266008    0.110218  2.41348 0.015801
## skew    0.834790    0.046635 17.90044 0.000000
## shape   4.090577    0.601749  6.79781 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      0.000355    0.000447  0.79427  0.42704
## ar1    -0.330954    0.536396 -0.61700  0.53724
## ma1     0.206766    0.570327  0.36254  0.71695
## omega   0.000023    0.000015  1.56218  0.11825
## alpha1  0.055085    0.035688  1.54353  0.12270
## beta1   0.727320    0.127531  5.70309  0.00000
## gamma1  0.266008    0.165814  1.60425  0.10866
## skew    0.834790    0.049872 16.73860  0.00000
## shape   4.090577    0.787491  5.19444  0.00000
## 
## LogLikelihood : 2072.694 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -5.7726
## Bayes        -5.7150
## Shibata      -5.7729
## Hannan-Quinn -5.7503
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                  0.0001393  0.9906
## Lag[2*(p+q)+(p+q)-1][5] 0.3630224  1.0000
## Lag[4*(p+q)+(p+q)-1][9] 1.8648446  0.9895
## d.o.f=2
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                      1.728  0.1887
## Lag[2*(p+q)+(p+q)-1][5]     2.042  0.6085
## Lag[4*(p+q)+(p+q)-1][9]     2.785  0.7938
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]    0.1642 0.500 2.000  0.6853
## ARCH Lag[5]    0.3231 1.440 1.667  0.9341
## ARCH Lag[7]    0.3901 2.315 1.543  0.9872
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  2.5221
## Individual Statistics:              
## mu     0.49874
## ar1    0.02923
## ma1    0.03147
## omega  0.40076
## alpha1 0.10573
## beta1  0.26758
## gamma1 0.46999
## skew   0.89754
## shape  0.80358
## 
## 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           0.3081 0.7581    
## Negative Sign Bias  0.2094 0.8342    
## Positive Sign Bias  0.2447 0.8068    
## Joint Effect        0.1219 0.9891    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     21.36      0.31706
## 2    30     27.53      0.54305
## 3    40     50.93      0.09557
## 4    50     47.17      0.54769
## 
## 
## Elapsed time : 1.291843
# 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.001093    0.000266   4.1132 0.000039
## ar1    -0.378941    0.026461 -14.3207 0.000000
## ma1     0.270266    0.024393  11.0796 0.000000
## omega   0.000017    0.000005   3.6160 0.000299
## alpha1  0.049943    0.028751   1.7371 0.082372
## beta1   0.764736    0.049616  15.4131 0.000000
## gamma1  0.230644    0.076163   3.0283 0.002459
## shape   1.043823    0.062455  16.7132 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      0.001093    0.000282   3.8703 0.000109
## ar1    -0.378941    0.022682 -16.7069 0.000000
## ma1     0.270266    0.020311  13.3066 0.000000
## omega   0.000017    0.000006   3.1308 0.001744
## alpha1  0.049943    0.022129   2.2569 0.024014
## beta1   0.764736    0.067844  11.2720 0.000000
## gamma1  0.230644    0.088029   2.6201 0.008791
## shape   1.043823    0.123735   8.4359 0.000000
## 
## LogLikelihood : 2054.641 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -5.7249
## Bayes        -5.6737
## Shibata      -5.7251
## Hannan-Quinn -5.7051
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                     0.1998  0.6549
## Lag[2*(p+q)+(p+q)-1][5]    0.4403  1.0000
## Lag[4*(p+q)+(p+q)-1][9]    2.0136  0.9840
## d.o.f=2
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                      2.812 0.09357
## Lag[2*(p+q)+(p+q)-1][5]     3.203 0.37117
## Lag[4*(p+q)+(p+q)-1][9]     4.151 0.56353
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]    0.1853 0.500 2.000  0.6668
## ARCH Lag[5]    0.3715 1.440 1.667  0.9207
## ARCH Lag[7]    0.4449 2.315 1.543  0.9831
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  4.5005
## Individual Statistics:              
## mu     0.14220
## ar1    0.03955
## ma1    0.03956
## omega  0.85533
## alpha1 0.03578
## beta1  0.04724
## gamma1 0.07357
## shape  0.52029
## 
## 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.4439 0.6572    
## Negative Sign Bias  0.3679 0.7130    
## Positive Sign Bias  0.2052 0.8375    
## Joint Effect        0.2329 0.9721    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     49.17    0.0001736
## 2    30     51.11    0.0068359
## 3    40     60.66    0.0146891
## 4    50     82.13    0.0021096
## 
## 
## Elapsed time : 1.309344
# 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.000402    0.000124   3.2504 0.001153
## ar1    -0.293888    0.023682 -12.4098 0.000000
## ma1     0.175803    0.023857   7.3691 0.000000
## omega   0.000017    0.000004   4.5559 0.000005
## alpha1  0.041054    0.013858   2.9624 0.003053
## beta1   0.779101    0.030978  25.1498 0.000000
## gamma1  0.224238    0.038765   5.7846 0.000000
## skew    0.876946    0.022906  38.2843 0.000000
## shape   1.048124    0.059094  17.7366 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      0.000402    0.000060   6.7527    0e+00
## ar1    -0.293888    0.014356 -20.4711    0e+00
## ma1     0.175803    0.014332  12.2661    0e+00
## omega   0.000017    0.000004   4.6453    3e-06
## alpha1  0.041054    0.006374   6.4413    0e+00
## beta1   0.779101    0.040864  19.0659    0e+00
## gamma1  0.224238    0.023459   9.5589    0e+00
## skew    0.876946    0.022206  39.4914    0e+00
## shape   1.048124    0.126938   8.2570    0e+00
## 
## LogLikelihood : 2058.907 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -5.7340
## Bayes        -5.6765
## Shibata      -5.7343
## Hannan-Quinn -5.7118
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                    0.05284  0.8182
## Lag[2*(p+q)+(p+q)-1][5]   0.42444  1.0000
## Lag[4*(p+q)+(p+q)-1][9]   2.04242  0.9827
## d.o.f=2
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                      3.817 0.05073
## Lag[2*(p+q)+(p+q)-1][5]     4.195 0.23072
## Lag[4*(p+q)+(p+q)-1][9]     5.182 0.40316
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]    0.1794 0.500 2.000  0.6719
## ARCH Lag[5]    0.3709 1.440 1.667  0.9209
## ARCH Lag[7]    0.4518 2.315 1.543  0.9825
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  5.2654
## Individual Statistics:              
## mu     0.18038
## ar1    0.07140
## ma1    0.07277
## omega  0.85558
## alpha1 0.03364
## beta1  0.04642
## gamma1 0.05725
## skew   0.29117
## shape  0.62023
## 
## 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          0.17579 0.8605    
## Negative Sign Bias 0.38662 0.6992    
## Positive Sign Bias 0.09776 0.9222    
## Joint Effect       0.16039 0.9837    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     38.87     0.004586
## 2    30     49.01     0.011509
## 3    40     56.75     0.032911
## 4    50     66.75     0.046611
## 
## 
## Elapsed time : 2.017645
#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       -5.511388 -5.759849 -5.772571 -5.724869 -5.734007
## Bayes        -5.466624 -5.708691 -5.715018 -5.673710 -5.676454
## Shibata      -5.511577 -5.760096 -5.772882 -5.725115 -5.734319
## Hannan-Quinn -5.494101 -5.740093 -5.750345 -5.705112 -5.711781

Mô hình GARCH(1,1) với phân phối GED (garch11st) có giá trị Akaike thấp nhất là -5.772571.

Điều này cho thấy rằng mô hình GARCH(1,1) với phân phối GED là mô hình có khả năng phù hợp tốt nhất với chuỗi dữ liệu VNI dựa trên tiêu chí Akaike Information Criterion (AIC).

# 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.02426149  1.01545353  0.82109231  4.02444822 
## 
## $convergence
## [1] 0
## 
## $values
## [1] 1032.8186  953.3861  953.3861
## 
## $lagrange
## [1] 0
## 
## $hessian
##            [,1]      [,2]       [,3]     [,4]
## [1,] 1093.36885 277.94492 -355.88290 14.20229
## [2,]  277.94492 846.27336   95.40553 62.15845
## [3,] -355.88290  95.40553  658.17372 11.74728
## [4,]   14.20229  62.15845   11.74728  6.89593
## 
## $ineqx0
## NULL
## 
## $nfuneval
## [1] 100
## 
## $outer.iter
## [1] 2
## 
## $elapsed
## Time difference of 0.08613801 secs
## 
## $vscale
## [1] 1 1 1 1 1
VNI.res
##            m.c.seq.row..seq.n...seq.col..drop...FALSE.
## 0001-01-01                                  0.14318696
## 0002-01-01                                  1.25017108
## 0003-01-01                                  0.60940475
## 0004-01-01                                  1.05880821
## 0005-01-01                                  0.90687005
## 0006-01-01                                  0.98607610
## 0007-01-01                                  0.55560033
## 0008-01-01                                 -0.56881805
## 0009-01-01                                 -0.45459753
## 0010-01-01                                  0.97695922
##        ...                                            
## 0706-01-01                                 -0.53642123
## 0707-01-01                                 -0.94876143
## 0708-01-01                                  0.28079664
## 0709-01-01                                 -0.06395898
## 0710-01-01                                  0.41599282
## 0711-01-01                                  0.21884900
## 0712-01-01                                  1.16358809
## 0713-01-01                                  0.54870459
## 0714-01-01                                 -0.07545756
## 0715-01-01                                  0.74012108
s = pdist("sstd",VNI.res, mu =-0.002561478       
, sigma =  1.004907594, skew = 0.824890563, shape = 4.185212611 )
head(s,10)
##  [1] 0.5308226 0.9349659 0.7640124 0.9032120 0.8675878 0.8874654 0.7403370
##  [8] 0.2257031 0.2632060 0.8853275
# Chạy mô hình Garch cho biến SSE
library(rugarch)
SSEts<- ts(mhnn$SSE)
head(SSEts,10)
## Time Series:
## Start = 1 
## End = 10 
## Frequency = 1 
##  [1]  0.005026658  0.011026582  0.006211358  0.006950355 -0.001782065
##  [6] -0.015039787  0.026720458 -0.007876999 -0.005215912 -0.003224233
library(lmtest)
SSEspec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1,1)), mean.model = list(armaOrder = c(1,3), include.mean =TRUE), distribution.model = 'norm')
print(SSEspec)
## 
## *---------------------------------*
## *       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
SSEfit <- ugarchfit(spec = SSEspec, SSEts)
print(SSEfit)
## 
## *---------------------------------*
## *          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.000733    0.000293     -2.5027 0.012326
## ar1    -0.912038    0.000054 -16830.0790 0.000000
## ma1     0.667781    0.001819    367.0505 0.000000
## ma2    -0.188580    0.003725    -50.6274 0.000000
## ma3     0.032603    0.001528     21.3420 0.000000
## omega   0.000077    0.000007     10.8725 0.000000
## alpha1  0.711763    0.179621      3.9626 0.000074
## beta1   0.000000    0.001193      0.0000 1.000000
## gamma1 -0.283156    0.193011     -1.4670 0.142363
## 
## Robust Standard Errors:
##         Estimate  Std. Error     t value Pr(>|t|)
## mu     -0.000733    0.000374    -1.96219  0.04974
## ar1    -0.912038    0.000107 -8538.91103  0.00000
## ma1     0.667781    0.001825   365.90255  0.00000
## ma2    -0.188580    0.003122   -60.41091  0.00000
## ma3     0.032603    0.004693     6.94688  0.00000
## omega   0.000077    0.000013     5.82337  0.00000
## alpha1  0.711763    1.011112     0.70394  0.48147
## beta1   0.000000    0.000972     0.00000  1.00000
## gamma1 -0.283156    0.947694    -0.29879  0.76510
## 
## LogLikelihood : 2079.262 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -5.7909
## Bayes        -5.7334
## Shibata      -5.7913
## Hannan-Quinn -5.7687
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                     0.04296  0.8358
## Lag[2*(p+q)+(p+q)-1][11]   0.12729  1.0000
## Lag[4*(p+q)+(p+q)-1][19]   0.22922  1.0000
## d.o.f=4
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                   0.005276  0.9421
## Lag[2*(p+q)+(p+q)-1][5]  0.015961  1.0000
## Lag[4*(p+q)+(p+q)-1][9]  0.026771  1.0000
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]  0.005325 0.500 2.000  0.9418
## ARCH Lag[5]  0.012795 1.440 1.667  0.9993
## ARCH Lag[7]  0.019055 2.315 1.543  1.0000
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  4.3013
## Individual Statistics:               
## mu     0.130621
## ar1    0.009426
## ma1    0.009377
## ma2    0.010349
## ma3    0.008181
## omega  0.066078
## alpha1 0.114669
## beta1  1.477831
## gamma1 0.072804
## 
## 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          0.15420 0.8775    
## Negative Sign Bias 0.03846 0.9693    
## Positive Sign Bias 0.11555 0.9080    
## Joint Effect       0.03654 0.9982    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     46.71    0.0003934
## 2    30     60.17    0.0005875
## 3    40     67.49    0.0031034
## 4    50     91.78    0.0002062
## 
## 
## Elapsed time : 1.072058
SSEst.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 3), include.mean = TRUE), distribution.model = "std")

SSEst1<- ugarchfit(SSEst.spec,SSEts) 
print(SSEst1)
## 
## *---------------------------------*
## *          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.000172    0.000314   -0.54719 0.584249
## ar1    -0.921898    0.001298 -710.22201 0.000000
## ma1     0.864673    0.001404  615.73599 0.000000
## ma2    -0.047787    0.006248   -7.64773 0.000000
## ma3     0.005388    0.005262    1.02387 0.305897
## omega   0.000130    0.000026    5.05439 0.000000
## alpha1  0.014631    0.021568    0.67835 0.497548
## beta1   0.001327    0.007487    0.17725 0.859315
## gamma1  0.738875    0.264153    2.79715 0.005156
## shape   3.008775    0.338252    8.89507 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error    t value Pr(>|t|)
## mu     -0.000172    0.000300   -0.57260 0.566914
## ar1    -0.921898    0.002468 -373.48829 0.000000
## ma1     0.864673    0.002627  329.14155 0.000000
## ma2    -0.047787    0.013705   -3.48688 0.000489
## ma3     0.005388    0.011317    0.47613 0.633985
## omega   0.000130    0.000054    2.41800 0.015606
## alpha1  0.014631    0.012144    1.20482 0.228273
## beta1   0.001327    0.003637    0.36484 0.715232
## gamma1  0.738875    0.388182    1.90342 0.056985
## shape   3.008775    0.730574    4.11837 0.000038
## 
## LogLikelihood : 2236.246 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -6.2273
## Bayes        -6.1633
## Shibata      -6.2276
## Hannan-Quinn -6.2026
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                     0.06933  0.7923
## Lag[2*(p+q)+(p+q)-1][11]   0.15964  1.0000
## Lag[4*(p+q)+(p+q)-1][19]   0.25365  1.0000
## d.o.f=4
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                   0.005292   0.942
## Lag[2*(p+q)+(p+q)-1][5]  0.015797   1.000
## Lag[4*(p+q)+(p+q)-1][9]  0.026585   1.000
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]  0.005293 0.500 2.000  0.9420
## ARCH Lag[5]  0.012729 1.440 1.667  0.9993
## ARCH Lag[7]  0.018985 2.315 1.543  1.0000
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  2.1434
## Individual Statistics:               
## mu     0.146603
## ar1    0.007320
## ma1    0.007526
## ma2    0.008383
## ma3    0.007129
## omega  0.769300
## alpha1 0.126425
## beta1  0.143109
## gamma1 0.335359
## shape  0.296386
## 
## 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          0.24707 0.8049    
## Negative Sign Bias 0.05513 0.9560    
## Positive Sign Bias 0.11149 0.9113    
## Joint Effect       0.07499 0.9947    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     34.57      0.01574
## 2    30     49.27      0.01082
## 3    40     56.97      0.03149
## 4    50     63.11      0.08475
## 
## 
## Elapsed time : 2.051739
# Phân phối Student đối xứng
SSEst1.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 3), include.mean = TRUE), distribution.model = "sstd")

SSEst2<- ugarchfit(SSEst1.spec,SSEts) 
print(SSEst2)
## 
## *---------------------------------*
## *          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.000787    0.000399 -1.97460 0.048313
## ar1    -0.253677    0.766764 -0.33084 0.740765
## ma1     0.191357    0.774829  0.24697 0.804934
## ma2    -0.010335    0.047674 -0.21679 0.828375
## ma3     0.002267    0.003947  0.57425 0.565797
## omega   0.000134    0.000028  4.74438 0.000002
## alpha1  0.016915    0.032282  0.52397 0.600303
## beta1   0.002213    0.009144  0.24207 0.808725
## gamma1  0.885805    0.327472  2.70498 0.006831
## skew    0.853719    0.049259 17.33135 0.000000
## shape   3.003052    0.346683  8.66224 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu     -0.000787    0.000493 -1.59693 0.110282
## ar1    -0.253677    0.421245 -0.60221 0.547036
## ma1     0.191357    0.456311  0.41936 0.674955
## ma2    -0.010335    0.018173 -0.56870 0.569560
## ma3     0.002267    0.003095  0.73224 0.464020
## omega   0.000134    0.000063  2.13657 0.032633
## alpha1  0.016915    0.042110  0.40168 0.687920
## beta1   0.002213    0.009563  0.23144 0.816971
## gamma1  0.885805    0.589374  1.50296 0.132849
## skew    0.853719    0.058504 14.59248 0.000000
## shape   3.003052    0.770118  3.89947 0.000096
## 
## LogLikelihood : 2239.65 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       -6.2340
## Bayes        -6.1636
## Shibata      -6.2344
## Hannan-Quinn -6.2068
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                     0.05852  0.8089
## Lag[2*(p+q)+(p+q)-1][11]   0.14374  1.0000
## Lag[4*(p+q)+(p+q)-1][19]   0.23725  1.0000
## d.o.f=4
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                   0.005273  0.9421
## Lag[2*(p+q)+(p+q)-1][5]  0.015720  1.0000
## Lag[4*(p+q)+(p+q)-1][9]  0.026430  1.0000
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]  0.005258 0.500 2.000  0.9422
## ARCH Lag[5]  0.012641 1.440 1.667  0.9993
## ARCH Lag[7]  0.018855 2.315 1.543  1.0000
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  2.2026
## Individual Statistics:               
## mu     0.194982
## ar1    0.047001
## ma1    0.034400
## ma2    0.155674
## ma3    0.004794
## omega  0.710323
## alpha1 0.149383
## beta1  0.135853
## gamma1 0.295436
## skew   0.196840
## shape  0.276665
## 
## 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          0.15689 0.8754    
## Negative Sign Bias 0.06137 0.9511    
## Positive Sign Bias 0.10240 0.9185    
## Joint Effect       0.03828 0.9980    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     30.65     0.044083
## 2    30     45.83     0.024421
## 3    40     57.42     0.028798
## 4    50     76.26     0.007589
## 
## 
## Elapsed time : 1.658246
# Phân phối Generalized Error Distribution
SSEged.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 3), include.mean = TRUE), distribution.model = "ged")

SSEged1 <- ugarchfit(SSEged.spec,SSEts) 
print(SSEged1)
## 
## *---------------------------------*
## *          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.000230    0.000000  -1467.8        0
## ar1    -0.286157    0.000195  -1467.8        0
## ma1    -0.652217    0.000024 -27607.7        0
## ma2    -0.268732    0.000010 -27605.4        0
## ma3    -0.014442    0.000002  -7367.8        0
## omega   0.000030    0.000000   7367.9        0
## alpha1  0.050000    0.000007   7368.2        0
## beta1   0.900000    0.000772   1166.3        0
## gamma1  0.050000    0.000043   1166.2        0
## shape   2.000000    0.001590   1257.5        0
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu     -0.000230         NaN      NaN      NaN
## ar1    -0.286157         NaN      NaN      NaN
## ma1    -0.652217         NaN      NaN      NaN
## ma2    -0.268732         NaN      NaN      NaN
## ma3    -0.014442         NaN      NaN      NaN
## omega   0.000030         NaN      NaN      NaN
## alpha1  0.050000         NaN      NaN      NaN
## beta1   0.900000         NaN      NaN      NaN
## gamma1  0.050000         NaN      NaN      NaN
## shape   2.000000         NaN      NaN      NaN
## 
## LogLikelihood : -314.3725 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       0.90734
## Bayes        0.97128
## Shibata      0.90695
## Hannan-Quinn 0.93203
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                      0.4532  0.5008
## Lag[2*(p+q)+(p+q)-1][11]    1.2663  1.0000
## Lag[4*(p+q)+(p+q)-1][19]    1.4336  1.0000
## d.o.f=4
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                    0.00527  0.9421
## Lag[2*(p+q)+(p+q)-1][5]   0.01715  0.9999
## Lag[4*(p+q)+(p+q)-1][9]   0.03003  1.0000
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]   0.00610 0.500 2.000  0.9377
## ARCH Lag[5]   0.01490 1.440 1.667  0.9991
## ARCH Lag[7]   0.02246 2.315 1.543  1.0000
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  NaN
## Individual Statistics:          
## mu     NaN
## ar1    NaN
## ma1    NaN
## ma2    NaN
## ma3    NaN
## omega  NaN
## alpha1 NaN
## beta1  NaN
## gamma1 NaN
## shape  NaN
## 
## 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           0.4047 0.6858    
## Negative Sign Bias  0.0375 0.9701    
## Positive Sign Bias  0.3881 0.6981    
## Joint Effect        0.2095 0.9760    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     219.2    4.900e-36
## 2    30     225.8    2.323e-32
## 3    40     282.5    1.099e-38
## 4    50     276.5    1.727e-33
## 
## 
## Elapsed time : 0.3897212
# Phân phối Generalized Error Distribution đối xứng 
SSEged.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 3), include.mean = TRUE), distribution.model = "sged")

SSEged2 <- ugarchfit(SSEged.spec,SSEts) 
print(SSEged2)
## 
## *---------------------------------*
## *          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.000230    0.000000  -1467.83        0
## ar1    -0.286157    0.000195  -1467.84        0
## ma1    -0.652217    0.000024 -27607.29        0
## ma2    -0.268732    0.000010 -27603.23        0
## ma3    -0.014442    0.000002  -7370.40        0
## omega   0.000030    0.000000   7370.32        0
## alpha1  0.050000    0.000007   7373.95        0
## beta1   0.900000    0.000984    914.67        0
## gamma1  0.050000    0.000055    914.76        0
## skew    1.000000    0.000959   1042.93        0
## shape   2.000000    0.002009    995.64        0
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu     -0.000230         NaN      NaN      NaN
## ar1    -0.286157         NaN      NaN      NaN
## ma1    -0.652217         NaN      NaN      NaN
## ma2    -0.268732         NaN      NaN      NaN
## ma3    -0.014442         NaN      NaN      NaN
## omega   0.000030         NaN      NaN      NaN
## alpha1  0.050000         NaN      NaN      NaN
## beta1   0.900000         NaN      NaN      NaN
## gamma1  0.050000         NaN      NaN      NaN
## skew    1.000000         NaN      NaN      NaN
## shape   2.000000         NaN      NaN      NaN
## 
## LogLikelihood : -314.3725 
## 
## Information Criteria
## ------------------------------------
##                     
## Akaike       0.91013
## Bayes        0.98048
## Shibata      0.90967
## Hannan-Quinn 0.93730
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                          statistic p-value
## Lag[1]                      0.4532  0.5008
## Lag[2*(p+q)+(p+q)-1][11]    1.2663  1.0000
## Lag[4*(p+q)+(p+q)-1][19]    1.4336  1.0000
## d.o.f=4
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                    0.00527  0.9421
## Lag[2*(p+q)+(p+q)-1][5]   0.01715  0.9999
## Lag[4*(p+q)+(p+q)-1][9]   0.03003  1.0000
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]   0.00610 0.500 2.000  0.9377
## ARCH Lag[5]   0.01490 1.440 1.667  0.9991
## ARCH Lag[7]   0.02246 2.315 1.543  1.0000
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  NaN
## Individual Statistics:          
## mu     NaN
## ar1    NaN
## ma1    NaN
## ma2    NaN
## ma3    NaN
## omega  NaN
## alpha1 NaN
## beta1  NaN
## gamma1 NaN
## skew   NaN
## shape  NaN
## 
## 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           0.4047 0.6858    
## Negative Sign Bias  0.0375 0.9701    
## Positive Sign Bias  0.3881 0.6981    
## Joint Effect        0.2095 0.9760    
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     219.2    4.900e-36
## 2    30     225.8    2.323e-32
## 3    40     282.5    1.099e-38
## 4    50     276.5    1.727e-33
## 
## 
## Elapsed time : 0.158958
#Tạo danh sách mô hình lựa chọn
SSE.model.list <- list( 
  garchn = SSEfit,
  garcht = SSEst1,
  garchst = SSEst2,
  garchg = SSEged1,
  garchsg = SSEged2)
#Tính toán lựa chọn mô hình
SSE.info.mat <- sapply(SSE.model.list, infocriteria)
rownames(SSE.info.mat) <- rownames(infocriteria(SSEfit))
SSE.info.mat
##                 garchn    garcht   garchst    garchg   garchsg
## Akaike       -5.790944 -6.227261 -6.233985 0.9073356 0.9101328
## Bayes        -5.733390 -6.163313 -6.163643 0.9712836 0.9804757
## Shibata      -5.791255 -6.227645 -6.234449 0.9069516 0.9096690
## Hannan-Quinn -5.768718 -6.202565 -6.206821 0.9320311 0.9372978

Mô hình GARCH(1,1) với phân phối GED (garchst) có giá trị Akaike thấp nhất là -6.233985. Điều này cho thấy mô hình GARCH(1,1) với phân phối GED có khả năng phù hợp tốt nhất với chuỗi dữ liệu VNI dựa trên tiêu chí Akaike Information Criterion (AIC).

# Trích xuất chuỗi phần dư v của chuỗi lợi suất AGR
SSE.res <- residuals(SSEst2)/sigma(SSEst2)
fitdist(distribution = "sstd", SSE.res, control = list())
## $pars
##         mu      sigma       skew      shape 
## 0.01816913 0.96220356 0.86881567 3.11252279 
## 
## $convergence
## [1] 0
## 
## $values
## [1] 2218.7008  854.0996  854.0996
## 
## $lagrange
## [1] 0
## 
## $hessian
##            [,1]      [,2]       [,3]      [,4]
## [1,] 1457.44250 230.19785 -495.45808  29.75254
## [2,]  230.19785 844.96669   58.72945 179.22526
## [3,] -495.45808  58.72945  578.53098  16.73245
## [4,]   29.75254 179.22526   16.73245  45.90895
## 
## $ineqx0
## NULL
## 
## $nfuneval
## [1] 142
## 
## $outer.iter
## [1] 2
## 
## $elapsed
## Time difference of 0.1227419 secs
## 
## $vscale
## [1] 1 1 1 1 1
SSE.res
##            m.c.seq.row..seq.n...seq.col..drop...FALSE.
## 0001-01-01                                  0.03454926
## 0002-01-01                                  0.07235572
## 0003-01-01                                  0.04590915
## 0004-01-01                                  0.57956994
## 0005-01-01                                 -0.04626612
## 0006-01-01                                 -1.23607277
## 0007-01-01                                  1.48825953
## 0008-01-01                                 -0.44188890
## 0009-01-01                                 -0.38690166
## 0010-01-01                                 -0.21935116
##        ...                                            
## 0706-01-01                                 -0.80662852
## 0707-01-01                                 -0.14268952
## 0708-01-01                                  0.15786668
## 0709-01-01                                 -1.10863461
## 0710-01-01                                  0.55626629
## 0711-01-01                                 -0.15338035
## 0712-01-01                                  0.29144004
## 0713-01-01                                 -0.44218950
## 0714-01-01                                  0.39086628
## 0715-01-01                                  1.20512685
s1 = pdist("sstd",SSE.res, mu = -0.002377726 , sigma =  1.003680496 , skew = 0.634767132, shape = 297.155751036  )
head(s1,10)
##  [1] 0.4651472 0.4793935 0.4694097 0.6827355 0.4352967 0.1206569 0.9623798
##  [8] 0.3031613 0.3199930 0.3744357
library(VineCopula)
BiCopSelect(s,s1, familyset= c(1:10,13,16:20), selectioncrit="AIC",indeptest = FALSE, level = 0.05)
## Bivariate copula: Survival BB8 (par = 1.75, par2 = 0.8, tau = 0.15)

Kiểm định cho biến VNI

# Kiểm định Anderson_Darling
library(nortest)
ad.test(s)
## 
##  Anderson-Darling normality test
## 
## data:  s
## A = 7.9486, p-value < 2.2e-16
# Kiểm định Cramer-von Mises
cvm.test(s1)
## 
##  Cramer-von Mises normality test
## 
## data:  s1
## W = 0.25212, p-value = 0.001217
# Kiểm định Kolmogorov-Smirnov
ks.test(s, y = "punif")
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  s
## D = 0.028798, p-value = 0.5935
## alternative hypothesis: two-sided

Kiểm định cho biến SSE

# Kiểm định Anderson_Darling
library(nortest)
ad.test(s1)
## 
##  Anderson-Darling normality test
## 
## data:  s1
## A = 1.8737, p-value = 8.703e-05
# Kiểm định Cramer-von Mises
cvm.test(s1)
## 
##  Cramer-von Mises normality test
## 
## data:  s1
## W = 0.25212, p-value = 0.001217
# Kiểm định Kolmogorov-Smirnov
ks.test(s1, y = "punif")
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  s1
## D = 0.10903, p-value = 8.277e-08
## alternative hypothesis: two-sided
library("copula")
## 
## Attaching package: 'copula'
## The following object is masked from 'package:VineCopula':
## 
##     pobs
library("scatterplot3d")
u <- pobs(s)
head(u,10)
##  [1] 0.5516760 0.9441341 0.7667598 0.9050279 0.8673184 0.8882682 0.7444134
##  [8] 0.2220670 0.2569832 0.8826816
k <- pobs(s1)
head(k,10)
##  [1] 0.47765363 0.50837989 0.48882682 0.77653631 0.42597765 0.05167598
##  [7] 0.97625698 0.24162011 0.27094972 0.34776536
# 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 715 2-dimensional observations.
## Normal copula, dim. d = 2 
##       Estimate Std. Error
## rho.1   0.1653      0.036
## The maximized loglikelihood is 9.607 
## Optimization converged
## Number of loglikelihood evaluations:
## function gradient 
##       17       17

Kết quả từ copula Gaussian cho thấy có một mức độ tương quan dương giữa hai biến, với giá trị ρ là 0.1653 và sai số chuẩn là 0.036. Điều này chỉ ra rằng có khả năng nhất định hai biến sẽ trải qua các biến động cực đoan theo cùng một hướng. Cụ thể, khi thị trường chứng khoán Thượng Hải (SSE) có xu hướng tăng hoặc giảm mạnh, khả năng tương đồng của việc thị trường chứng khoán Việt Nam (VNI) có xu hướng tăng hoặc giảm theo là khoảng 16.53%. Điều này cho thấy một mối liên hệ tích cực yếu giữa hai thị trường, cho thấy khi một thị trường gặp biến động lớn, thị trường còn lại có xu hướng phản ứng theo hướng tương tự nhưng không hoàn toàn đồng nhất.

#
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)

## Kết luận

Bài tiểu luận đã tập trung vào việc phân tích mối liên hệ giữa thị trường chứng khoán Việt Nam và thị trường chứng khoán Thượng Hải thông qua các chuỗi tỷ suất biến động giá của VN-Index và SSE Composite. Bài tiểu luận này em đã sử dụng phương pháp Copula để nhìn nhận sự phụ thuộc giữa hai thị trường này thay đổi trong các giai đoạn 2021 đến năm 20232023. Phương pháp Copula, nổi bật với khả năng mô hình hóa sự phụ thuộc phi tuyến và không đối xứng, giúp phát hiện các mối liên hệ phức tạp mà các phương pháp truyền thống thường bỏ qua. Trong khi các mô hình truyền thống có thể giả định rằng tỷ suất biến động giá tuân theo phân phối chuẩn, thực tế lại cho thấy sự biến động không đều và phức tạp. Bằng cách sử dụng nhiều loại hàm Copula khác nhau, nghiên cứu cung cấp cái nhìn chi tiết về cách hai thị trường phản ứng với các yếu tố kinh tế và sự kiện bất thường, từ đó làm rõ mức độ tương quan và sự liên kết giữa VN-Index và SSE Composite trong các tình huống thị trường khác nhau. Kết quả của nghiên cứu không chỉ làm sáng tỏ mối quan hệ giữa thị trường chứng khoán Việt Nam và Thượng Hải mà còn cung cấp cái nhìn sâu sắc về cách các yếu tố thị trường ảnh hưởng đến sự phụ thuộc giữa hai thị trường này trong các giai đoạn khác nhau. Phương pháp Copula cho thấy khả năng linh hoạt trong việc phân tích các mối liên hệ không đối xứng và cực đoan, điều mà các mô hình truyền thống không thể nắm bắt đầy đủ. Điều này đặc biệt quan trọng trong bối cảnh thị trường tài chính toàn cầu ngày càng biến động và không thể dự đoán. Việc áp dụng các hàm Copula khác nhau đã giúp nhận diện các mẫu hình phụ thuộc khác nhau, từ đó cung cấp thông tin quý giá cho các nhà đầu tư và nhà phân tích khi xây dựng chiến lược đầu tư và quản lý rủi ro. Những phát hiện này không chỉ có ý nghĩa trong việc hiểu rõ hơn về sự liên kết giữa hai thị trường chứng khoán mà còn hỗ trợ trong việc dự đoán và ứng phó với các biến động tài chính trong tương lai.

TÀI LIỆU THAM KHẢO

  1. Jondeau, E., & Rockinger, M. (2006). The copula-garch model of conditional dependencies: An international stock market application. Journal of international money and finance.

  2. Nguyễn Văn Chiến (2022), Tác động của đại dịch COVID-19 và tiền điện tử đến chỉ số thị trường chứng khoán: Nghiên cứu tại thị trường chứng khoán Thượng Hải, Tạp chí kinh tế và kinh doanh.

  3. Aloui, R., Aïssa, M. S. B., & Nguyen, D. K. (2011). Global financial crisis, extreme interdependences, and contagion effects: The role of economic structure? Journal of Banking & Finance, 35(1), 130-141.

  4. Bauwens, L., Laurent, S., & Rombouts, J. V. (2006). Multivariate GARCH models: a survey. Journal of applied econometrics, 21(1), 79-109.

  5. Phan Đình Luận (2022), Nghiên cứu mối quan hệ giữa tỷ giá hối đoái và giá chứng khoán.