knitr::include_graphics("C:/Users/DELL/Pictures/Screenshots/Screenshot 2024-08-07 234708.png")
Em xin gửi lời cảm ơn sâu sắc đến PGS.TS Nguyễn Tuấn Duy đã trao em
cơ hội được nghiên cứu đề tài “ỨNG DỤNG PHƯƠNG PHÁP COPULA PHÂN TÍCH SỰ
BIẾN ĐỘNG CỦA THỊ TRƯỜNG CHỨNG KHOÁN VIỆT NAM BỊ ẢNH HƯỞNG BỞI THỊ
TRƯỜNG CHỨNG KHOÁN CANADA” cũng như đã giành nhiều thời gian và công sức
để trang bị cho em những kiến thức chuyên môn, kĩ năng cần thiết thực
hành, giúp em có giải đáp nhiều thắc mắc trong môn học và hoàn thiện
được bài tiểu luận.
Do chuyên môn của em còn nhiều thiếu sót và thiếu kinh nghiệm rất nhiều
vì vậy bài báo cáo vẫn còn nhiều hạn chế nên em rất mong được đón nhận
các góp ý đến từ thầy, cô để em có thể khắc phục được các khuyết điểm và
hoàn thiện bài báo cáo tốt hơn nữa.
Em xin chân thành cảm ơn!
Tôi xin cam đoan đề tài “ỨNG DỤNG PHƯƠNG PHÁP COPULA PHÂN TÍCH SỰ BIẾN ĐỘNG CỦA THỊ TRƯỜNG CHỨNG KHOÁN VIỆT NAM BỊ ẢNH HƯỞNG BỞI THỊ TRƯỜNG CHỨNG KHOÁN CANADA” là tiểu luận có số liệu và kết quả nghiên cứu hoàn toàn trung thực và có nguồn gốc rõ ràng , được tôi trình bày rõ ràng trong bài tiểu luận.
Thị trường chứng khoán đóng vai trò ngày càng quan trọng trong nền
kinh tế hiện đại. Thị trường này phản ánh sự vận động và tình hình tài
chính - kinh tế vĩ mô, là kênh huy động vốn quan trọng cho các doanh
nghiệp và là kênh đầu tư hiệu quả cho các nhà đầu tư. Sự biến động của
các chỉ số chứng khoán với việc hiểu rõ mối quan hệ tương quan giữa các
chỉ số thị trường chứng khoán đóng vai trò quan trọng ảnh hưởng trực
tiếp đến tâm lý, quyết định đầu tư của nhà đầu tư, cũng như hoạt động
sản xuất kinh doanh của các doanh nghiệp niêm yết.,
Nhất là khi trong bối cảnh toàn cầu hóa và hội nhập kinh tế quốc tế ngày
càng sâu rộng, mối quan hệ giữa các thị trường chứng khoán quốc tế trở
nên ngày càng chặt chẽ. Các chỉ số chủ chốt của các thị trường chứng
khoán lớn như S&P 500, NASDAQ, FTSE 100, DAX, Nikkei 225 hay Hang
Seng Index… thường được theo dõi rất sát sao bởi các nhà đầu tư trên
toàn thế giới. Nhìn chung, các chỉ số trong cùng thị trường chứng khoán
thường có sự tương quan cao, vì chúng phản ánh sự biến động chung của
thị trường và ngược lại các chỉ số chứng khoán của các thị trường khác
nhau thường có sự tương quan thấp hơn, vì chúng phản ánh nền kinh tế và
các yếu tố vĩ mô riêng của từng quốc gia. Vì thế tác giả lựa chọn phân
tích mối tương quan của hai đối tương là VNI (Viet Nam Index) là chỉ số
chứng khoán chính của Sở Giao dịch Chứng khoán Thành phố Hồ Chí Minh
(HOSE) và S&P/TSX (S&P/Toronto Stock Exchange Composite Index)
là chỉ số chứng khoán chính của Sở Giao dịch Chứng khoán Toronto (TSX),
Canada nhằm nghiên cứu đề tài “ỨNG DỤNG PHƯƠNG PHÁP COPULA PHÂN TÍCH SỰ
BIẾN ĐỘNG CỦA THỊ TRƯỜNG CHỨNG KHOÁN VIỆT NAM BỊ ẢNH HƯỞNG BỞI THỊ
TRƯỜNG CHỨNG KHOÁN CANADA”. Việc nghiên cứu sự tương quan của hai chỉ số
chứng khoản độc lập trên sẽ cung cấp cho các nhà đầu tư và chuyên gia
một cái nhìn toàn diện hơn khi đưa ra các chiến lược đầu tư và thông tin
hữu ích cho dự án đa dạng hóa danh mục đầu tư quốc tế.
Trong bài tiểu luận này, tác giả lựa chọn khung thời gian từ 27/07/2018
đến tháng 7 năm 2024 để nghiên cứu. Trong giai đoạn này, không chỉ thị
trường chứng khoản của một quốc gia mà là cả quốc tế nói chung đã trải
qua nhiều cú sốc kinh tế bởi sự thay đổi của các chính sách kinh tế,
biến động về lãi suất cũng như các biến động trong xã hội như dịch bệnh
hay sự kiện mang tính chính trị.
Cung cấp thông tin hữu ích cho các nhà đầu tư trong việc đánh giá rủi ro và cơ hội đầu tư giữa thị trường chứng khoán Việt Nam và Canada. Khi đó các nhà hoạch định chính sách hiểu rõ hơn về mối liên hệ giữa thị trường chứng khoán Việt Nam và các thị trường quốc tế, từ đó đề ra các chính sách phù hợp nhằm ổn định và phát triển thị trường chứng khoán Việt Nam. Là tiền đề để nghiên cứu sâu hơn về mối quan hệ giữa thị trường chứng khoán Việt Nam với các thị trường chứng khoán khác, góp phần hoàn thiện nghiên cứu về tích hợp thị trường chứng khoán quốc tế.
Ứng dụng các công cụ phân tích dữ liệu mạnh mẽ như ngôn ngữ R ngày càng trở nên quan trọng, đặc biệt trong lĩnh vực tài chính. Bên cạnh đó, phương pháp Copula là một công cụ toán học được sử dụng rộng rãi trong phân tích rủi ro tài chính, cho phép mô hình hóa và đo lường mối quan hệ giữa các biến số tài chính một cách linh hoạt, bất kể phân phối biến số. Việc ứng dụng được phương pháp Copula trên phần mềm R là minh chứng cho sự hiệu quả cũng như sự phong phú của ngôn ngữ R trong lĩnh vực tài chính khi có thể cung cấp các gói phân tích dữ liệu, từ cơ bản đến nâng cao, giúp xử lý và phân tích dữ liệu một cách hiệu quả.
Đối tượng nghiên cứu được lựa chọn là VNI (Viet Nam Index) là chỉ số chứng khoán chính của Sở Giao dịch Chứng khoán Thành phố Hồ Chí Minh (HOSE) và S&P/TSX (S&P/Toronto Stock Exchange Composite Index) là chỉ số chứng khoán chính của Sở Giao dịch Chứng khoán Toronto (TSX), Canada. Việc phân tích cung cấp một bối cảnh về mối liên hệ giữa hai thị trường chứng khoản độc lập của hai quốc gia khác nhau cũng như đối mặt các biến động yếu tố kinh tế khác nhau.
Tác giả sử dụng dữ liệu giá cuối ngày của hai chỉ số chứng khoán tại hai quốc gia từ 27/07/2018 đến 27/07/2024. Nguồn gốc bộ dữ liệu được lấy từ trang chính thống www.investing.com đồng thời được so sánh với các trang khác nhầm mục đích tăng độ chính xác của dữ liệu hiện có. Dữ liệu của giá được tính theo tỷ suất lợi nhuận với P_t là giá cổ phiết tại thời điểm t. \[R_t=100ln\left\{\frac{P_t}{P_{t-1}}\right\}\]
Có cơ bản 4 bước để xây dụng mô hình copula:
1. Xác định mô hình phân phối biến
2. Kiểm định tính phù hợp của mô hình phân phối biến
3. Ước lượng tham số mô hình copula
4. Lựa chọn mô hình copula phù hợp
TSX hay S&P/TSX Composite (Toronto Stock Exchange Index) là chỉ
số theo dõi hiệu suất của khoảng 230 - 250 công ty đại chúng lớn nhất
được niêm yết trên Sở giao dịch chứng khoán Toronto. Đây được xem là chỉ
số chuẩn của thị trường chứng khoán, cũng như nền kinh tế Canada, tương
tự như S&P 500 ở Hoa Kỳ, thường được sử dụng như một chỉ số đo lường
sức khỏe của nền kinh tế Canada.
Về mặt vốn hóa thị trường, chỉ số tổng hợp TSX chiếm hơn 70% toàn bộ vốn
hóa của Sở giao dịch chứng khoán Toronto. Chỉ số này hoạt động như một
phong vũ biểu (Barometer) của nền kinh tế Canada. Do đó, TSX Index được
theo dõi rất chặt chẽ bởi các nhà đầu tư ở cả Canada và trên toàn thế
giới.
Giá trị của TSX Index được tính toán dựa trên bình quân gia quyền vốn
hóa thị trường của các công ty thành phần. Những công ty có vốn hóa cao
sẽ chiếm tỷ trọng lớn và có ảnh hưởng mạnh mẽ đến giá trị của TSX
Index.
Chỉ số thị trường này bao gồm các công ty hàng đầu trong nhiều ngành
công nghiệp khác nhau, từ công nghệ, tài chính, đến tiêu dùng và năng
lượng. Một số công ty nổi bật có vốn hóa thị trường lớn nhất trong chỉ
số TSX Composite bao gồm Royal Bank of Canada (RY) và Toronto-Dominion
Bank (TD) thuộc lĩnh vực tài chính, Canadian National Railway Company
(CNR) và Thomson Reuters Corporation (TRI) thuộc lĩnh vực công nghiệp,
hay Enbridge Inc. (ENB) và Canadian Natural Resources Limited (CNQ)
thuộc lĩnh vực năng lượng, …
Chỉ số S&P/TSX phát triển từ một chỉ số trước đó, TSE 300. TSE
300 được ra mắt bởi Sở giao dịch Toronto vào năm 1977 (TSE là chữ viết
tắt trước đó của sở giao dịch). Mô hình theo Chỉ số S&P 500, nó bao
gồm một số cố định các cổ phiếu: chính xác là 300. Năm 2002, Standard
& Poor’s (S&P), một trong những công ty cung cấp chỉ số chứng
khoán hàng đầu thế giới, hợp tác với TSX để quản lý và tính toán chỉ số.
Chỉ số TSE 300 Composite được đổi tên thành S&P/TSX Composite
Index.
Trong suốt những năm qua, số lượng chính xác các công ty trong chỉ số đã
dao động, và sự thành phần của chỉ số đã thay đổi. Ban đầu, các công ty
khai thác mỏ và dầu mỏ chiếm ưu thế—phản ánh sự giàu tài nguyên của
Canada. Vào thế kỷ 21, điều đó bắt đầu thay đổi, và khi chỉ số
S&P/TSX xóa bỏ 17 công ty tài nguyên vào năm 2014 và thêm 16 công ty
chủ yếu không phải tài nguyên vào năm 2015, nó đã gây tiếng vang. Vào
năm 2016, các công ty tài chính chỉ chiếm một phần nhỏ của chỉ số; đến
năm 2024, chúng chiếm 30.9%—là ngành lớn nhất.
Chỉ số đã đăng ký sự tăng trưởng ổn định kể từ khi ra mắt vào năm 1977.
Trong những năm gần đây, nó cũng trải qua một số sụp đổ lớn, đặc biệt là
vào đầu năm 2020, trong đợt bùng phát đại dịch COVID-19. Chỉ số
S&P/TSX Composite, giống như nhiều chỉ số chứng khoán toàn cầu, đã
trải qua một đợt sụt giảm mạnh mẽ khi đại dịch COVID-19 bùng phát, gây
ra sự hoảng loạn trên thị trường tài chính. Tuy nhiên, với các biện pháp
kích thích kinh tế từ chính phủ Canada và Ngân hàng Trung ương Canada,
cùng với các biện pháp kiểm soát dịch bệnh, chỉ số này đã bắt đầu phục
hồi nhanh chóng. Từ năm 2023 trở đi chỉ số này tiếp tục phản ánh sự ổn
định và tăng trưởng của nền kinh tế Canada, mặc dù vẫn có một số biến
động do các yếu tố toàn cầu như tình hình chính trị và biến đổi khí
hậu.
Chỉ số S&P/TSX đã cho thấy khả năng phục hồi mạnh mẽ sau đại dịch
COVID-19, phản ánh sự linh hoạt và sức mạnh của các công ty niêm yết
trên sàn giao dịch Toronto. Giống như hầu hết các chỉ số tham chiếu, chỉ
số S&P/TSX có ba chức năng chính: cung cấp một bức tranh tổng quan
dễ hiểu về cách các công ty niêm yết của một quốc gia đang thực hiện,
cung cấp một tiêu chuẩn để các quản lý quỹ so sánh kết quả của họ và
cung cấp một cấu trúc hình thức mà các quỹ giao dịch trao đổi (ETFs) và
quỹ chỉ số có thể theo dõi.
Hiện nay, chỉ số S&P/TSX tiếp tục là chỉ số chính phản ánh tình hình
kinh tế và tài chính của Canada. Chỉ số này đóng vai trò quan trọng
trong việc thu hút các nhà đầu tư quốc tế và nội địa, cũng như giúp các
nhà quản lý quỹ đánh giá hiệu suất của thị trường chứng khoán
Canada.
TSX là sàn giao dịch chứng khoán lớn nhất và quan trọng nhất tại
Canada. Nó đóng vai trò là trung tâm tài chính chính của quốc gia này,
thu hút các công ty lớn, các nhà đầu tư và các tổ chức tài chính hàng
đầu. Sự hiện diện và hoạt động sôi nổi của TSX đã góp phần xây dựng và
phát triển thị trường vốn tại Canada.
Chỉ số S&P/TSX Composite, là chỉ số đại diện cho toàn thị trường
chứng khoán Canada, phản ánh tình hình tài chính, kinh tế vĩ mô của quốc
gia này. Biến động của chỉ số là một trong những thước đo quan trọng về
niềm tin, kỳ vọng của các nhà đầu tư đối với nền kinh tế Canada.
Khi nền kinh tế Canada phát triển, tăng trưởng mạnh mẽ, chỉ số
S&P/TSX Composite thường tăng, cho thấy sự lạc quan và niềm tin của
các nhà đầu tư vào triển vọng kinh tế. Ngược lại, khi nền kinh tế suy
thoái, chỉ số này thường giảm, phản ánh tâm lý bi quan và lo ngại của
nhà đầu tư. Chỉ số S&P/TSX Composite không chỉ phản ánh tình hình
kinh tế, mà còn ảnh hưởng trực tiếp đến các chính sách kinh tế vĩ mô của
Canada. Khi chỉ số này biến động mạnh, Ngân hàng Trung ương Canada (Bank
of Canada) thường sẽ điều chỉnh chính sách tiền tệ, như thay đổi lãi
suất, để hỗ trợ hoặc kiềm chế sự biến động của thị trường chứng
khoán.
Canada có nền kinh tế phát triển, nằm trong các nước G7, do đó sự biến
động của thị trường chứng khoán Canada sẽ tác động đến tâm lý và hành vi
đầu tư của các nhà đầu tư quốc tế. Khi chỉ số S&P/TSX Composite tăng
mạnh, các nhà đầu tư quốc tế thường sẽ gia tăng đầu tư vào Canada, và
ngược lại.
Nhìn chung, chỉ số S&P/TSX không chỉ là một thước đo của thị trường
chứng khoán mà còn là một biểu tượng của nền kinh tế Canada, phản ánh sự
thăng trầm và tiềm năng phát triển của các công ty hàng đầu trong nền
kinh tế lớn nhất thế giới.
Chỉ số chứng khoán VNI là chỉ số thể hiện xu hướng biến động giá của
tất cả cổ phiếu niêm yết và giao dịch trên sàn giao dịch chứng HOSE (Sở
Giao dịch Chứng khoán Thành phố Hồ Chí Minh) là một trong hai sàn giao
dịch chứng khoán quan trọng tại Việt Nam. Được thành lập nhằm mục đích
phát triển thị trường chứng khoán ở khu vực miền Nam, VNI hỗ trợ các
doanh nghiệp vừa và nhỏ trong việc huy động vốn.
Chỉ số này được xem là chỉ báo quan trọng của thị trường chứng khoán
Việt Nam, được theo dõi và phân tích sát sao bởi các nhà đầu tư, chuyên
gia phân tích và các tổ chức tài chính trong và ngoài nước. Biến động
của VNI được xem là thước đo phản ánh tâm lý và kỳ vọng của thị trường
về tình hình kinh tế vĩ mô, các chính sách điều hành của Chính phủ, cũng
như hiệu quả hoạt động của các doanh nghiệp niêm yết.
Sự mở đầu cho chỉ số chứng khoán VNI đi đôi với sự ra đời của thị trường chứng khoán tại Việt Nam. Mở đầu là sự thành lập của Uỷ ban chứng khoán Nhà Nước Việt Nam – 28/11/1996 nhưng phải đến ngày 11/07/1998 thì thị trường chứng khoán Việt Nam mới được khai sinh. Đến ngày 28/07/2000, phiên giao dịch đầu tiên được diễn ra. Tuy nhiên lúc đó chỉ có 2 mã cổ phiếu được giao dịch là REE (Công ty cổ phần cơ điện lạnh) và SAM (Công ty cổ phần SAM Holdings). Các cột mốc đáng nhớ từ năm 2001 đến hiện nay theo thống kê chỉ số VNI:
2001-2005: Giai đoạn này các nhà đầu tư và doanh nghiệp đang trong giai đoạn làm quen nên không có nhiều chuyển biến. Vốn hoá thị trường lúc này chỉ chiếm 1% GDP.
2006: Cụ thể vào tháng 1/2006, VINAMILK giúp giá trị vốn hoá sàn HOSE tăng gấp đôi trong ngày. Đồng thời 74 doanh nghiệp cũng niêm yết trên sàn HOSE trong năm này và giúp cho chỉ số VNI tăng 144% chỉ trong 1 năm.
2007: Vào ngày 12/03/2007 chỉ số VNindex đạt lịch sử kết phiên mở và cao hơn 3,6 lần so với thời điểm đầu năm 2006.
2008: Đây là thời điểm khủng hoảng kinh tế diễn ra toàn cầu, chỉ số VNI giảm 66% và giá trị vốn hóa trên sàn HOSE cũng bay hơi 195 tỷ đồng.
Cho đến năm 2019, thị trường Việt Nam đạt mốc tăng điểm cao nhất trong khu vực Đông Nam Á.
Năm 2020 – 2021 là thời kỳ dịch bệnh nên các nhà đầu tư có xu hướng tìm đến chứng khoán để tăng tài sản nhiều hơn. Đặc biệt tính chung cả năm 2021, VNI tăng gần 35,74%, mức tăng này đã giúp Việt Nam lọt vào top 7 chỉ số chứng khoán tăng mạnh nhất thế giới.
Tuy nhiên, kể từ đầu năm 2022, do ảnh hưởng của tình hình thế giới, lạm phát tăng cao, thị trường chứng khoán đã có sự sụt giảm mạnh.
Tổng kết cả năm 2023, thị trường chứng khoán vẫn mang về thành quả tích cực, ghi nhân chỉ số VNI năm 2023 tăng 12.2%.
Qua gần hai thập kỷ phát triển, HOSE và chỉ số VNI đã chứng kiến sự tăng trưởng vượt bậc cả về số lượng công ty niêm yết và giá trị giao dịch. Điều này khẳng định vai trò của chỉ số VNI như một trụ cột quan trọng trong hệ thống tài chính Việt Nam, đóng góp tích cực vào sự phát triển bền vững của nền kinh tế đất nước.
VNI được xem như một “thước đo” của nền kinh tế Việt Nam. Biến động
của VNI phản ánh trực tiếp tình hình kinh tế vĩ mô, bao gồm tăng trưởng
GDP, lạm phát, lãi suất, chính sách tài khóa và tiền tệ, v.v. Khi nền
kinh tế tăng trưởng, hoạt động sản xuất và kinh doanh của các doanh
nghiệp thuận lợi, VNI thường sẽ tăng lên. Ngược lại, khi nền kinh tế gặp
khó khăn, VNI sẽ giảm điểm.
Thị trường chứng khoán Việt Nam nói chung và chỉ số VNI nói riêng đóng
vai trò quan trọng trong việc thu hút vốn đầu tư, cả trong và ngoài
nước, vào nền kinh tế. Khi VNI tăng, nó tạo tâm lý tích cực cho nhà đầu
tư, khuyến khích họ đầu tư vào thị trường chứng khoán Việt Nam. Điều này
góp phần bổ sung nguồn vốn đầu tư cho các doanh nghiệp, hỗ trợ sự phát
triển của nền kinh tế.
Còn được sử dụng như một công cụ hữu ích để đánh giá và điều chỉnh các
chính sách kinh tế vĩ mô của Chính phủ. Các nhà hoạch định chính sách
thường theo dõi sát diễn biến của VNI để đưa ra các quyết định về chính
sách tiền tệ, tài khóa, nhằm tác động đến thị trường chứng khoán và hỗ
trợ sự phát triển của nền kinh tế.
Sự biến động của chỉ số VNI còn tạo ra hiệu ứng lan tỏa đến các lĩnh vực
khác của nền kinh tế. Khi VNI tăng, nó giúp tăng giá trị tài sản, tạo
cảm giác giàu có cho người dân, từ đó thúc đẩy tiêu dùng và đầu tư và
ngược lại.
Thị trường chứng khoán là một thị trường mà ở nơi đó người ta mua
bán, chuyển nhượng, trao đổi chứng khoán nhằm mục đích kiếm lời. Tuy
nhiên, đó có thể là thị trường chứng khoản tập trung hoặc phi tập
trung.
Tính tập trung ở đây là muốn nói đến việc các giao dịch được tổ chức tập
trung theo một địa điểm vật chất. Hình thái điển hình của thị trường
chứng khoán tập trung là Sở giao dịch chứng khoán (Stock exchange). Tại
Sở giao dịch chứng khoán (SGDCK), các giao dịch được tập trung tại một
địa điểm; các lệnh được chuyển tới sàn giao dịch và tham gia vào quá
trình ghép lệnh để hình thành nên giá giao dịch. . Các giao dịch trên
thị trường này chịu sự điều phối của luật chứng khoán và cơ quan Ủy ban
Chứng khoán Nhà nước do đó rủi ro của nó sẽ thấp hơn.
Thị trường chứng khoán phi tập trung còn gọi là thị trường OTC (over the
counter). Trên thị trường OTC, các giao dịch không cố định mà được tiến
hành qua mạng lưới các công ty chứng khoán phân tán trên khắp quốc gia
và được nối với nhau bằng mạng điện tử. Giá trên thị trường này được
hình thành theo phương thức thoả thuận.
Thị trường chứng khoán ra đời có 5 chức năng chính:
Huy động vốn đầu tư cho nền kinh tế
Cung cấp môi trường đầu tư cho công chúng
Tạo tính thanh khoản cho các chứng khoán
Đánh giá hoạt động của doanh nghiệp
Tạo môi trường giúp Chính phủ thực hiện các chính sách kinh tế vĩ mô.
Thị trường chứng khoán đóng vai trò then chốt trong việc huy động vốn, cung cấp kênh đầu tư, định giá doanh nghiệp và hỗ trợ thực hiện chính sách kinh tế vĩ mô. Sự phát triển của thị trường chứng khoán góp phần thúc đẩy tăng trưởng kinh tế, gia tăng hiệu quả đầu tư và quản trị doanh nghiệp, đồng thời tạo ra một hệ thống tài chính vững mạnh cho sự phát triển bền vững của nền kinh tế.
Trong thị trường chứng khoán có một số nguyên tắc được coi là nguyên
lý cơ bản để thị trường này có thể hoạt động như: nguyên tắc cạnh tranh,
nguyên tắc công khai, nguyên tắc công bằng, nguyên tắc tập trung và
nguyên tắc trung gian. Nhưng đồng thời nguyên tắc chủ chốt cho cấu trúc
hoạt động trên thị trường.
Nguyên tắc cạnh tranh: giá cả trên TTCK phản ánh quan hệ cung cầu về
chứng khoán và thể hiện tương quan cạnh tranh giữa các công ty. Các nhà
phát hành cạnh tranh với nhau để bán chứng khoán của mình cho các nhà
đầu tư, các nhà đầu tư được tự do lựa chọn các chứng khoán theo các mục
tiêu của mình. Không những thế các nhà đầu tư còn cạnh tranh tìm kím mức
giá phù hợp cho các chứng khoán mà bản thân đang nắm giữa nhằm mục đích
thu về lợi nhuận cao nhất.
Nguyên tắc công bằng: công bằng có nghĩa là mọi người tham gia thị
trường đều phải tuân thủ những quy định chung, được bình đẳng trong việc
chia sẻ thông tin và trong việc chấp hành các hình thức xử phạt nếu vi
phạm vào những quy định đó.
Nguyên tắc công khai: Chứng khoán là loại hàng hoá mang tính trừu tượng
nên TTCK phải được xây dựng trên cơ sở hệ thống công bố thông tin rõ
ràng. Các tổ chức phát hành có nghĩa vụ phải cung cấp thông tin đầy đủ
nhanh chóng và kịp thời thông qua các phương tiện thông tin đại chúng,
Sở giao dịch, các công ty chứng khoán và các tổ chức có liên quan.
Nguyên tắc trung gian: các giao dịch chứng khoán được thực hiện thông
qua tổ chức trung gian là các công ty chứng khoán. Tại các thị trường
phân cấp khác nhau, các nhà đầu tư không mua trực tiếp của nhà phát hành
mà mua từ các nhà bảo lãnh phát hành. Hoặc đôi khi thông qua các nghiệp
vụ môi giới, kinh doanh, các công ty chứng khoán mua, bán chứng khoán
giúp các khách hàng.
Nguyên tắc tập trung: nghĩa là các giao dịch chứng khoán được thực hiện
tại thị trường được chỉ định là hợp pháp.
Trong những thập kỉ gần đây, Copula đã trở thành một công cụ phổ biến
trong mô hình hóa rủi ro, bảo hiểm và tài chính nhờ khả năng mô hình hóa
sự phụ thuộc giữa các biến. Các nhà phân tích thường phải làm việc với
các phân phối xác suất đa chiều, khi mà không có một phân phối đa biến
rõ ràng. Họ muốn khám phá sự phụ thuộc giữa các biến được quan tâm cũng
như hành vi biên của chúng. Ý tưởng tách một phân phối thành một phần mô
tả cấu trúc phụ thuộc và một phần chỉ mô tả hành vi biên đã dẫn đến khái
niệm về copula.
Khái niệm copula được giới thiệu lần đầu bởi Abe Sklar năm 1959, từ
“copula” bắt nguồn từ tiếng Latinh “copulare,” có nghĩa là “liên kết”
hoặc “kết nối”. Tuy nhiên, phải đến khi bài báo Embrechts et al. (1999)
xuất hiện, ứng dụng của copula mới được phổ biến trong tài chính. Copula
đã nhanh chóng thu hút được sự quan tâm rất lớn của cộng đồng thống kê
thế giới để trở thành một mảng nghiên cứu quan trọng của thống kê nhiều
chiều. Nó cũng trở thành một công cụ mạnh, không thể thiếu trong các
nghiên cứu liên quan đến kinh tế và tài chính.
Vai trò của copula là cho phép mô hình hóa cấu trúc phụ thuộc của các
đại lượng ngẫu nhiên tách rời với các phân phối biên của các biến này
hay nói cách khác là tạo ra hàm phân phối đa biến từ các phân phối biên
khác nhau một cách độc lập, trong đó cấu trúc phụ thuộc giữa các biến
được mô tả bởi copula. . Copula là một hàm phân phối tích lũy đa biến,
được xác định trên không gian nhiều chiều, với mọi phân phối biên được
xác định trong khoảng [0,1].
Mô hình hóa sự phụ thuộc trong trường hợp có nhiều hơn hai hai biến ngẫu
nhiên là một nhiệm vụ đầy thách thức được nhiều nhà nghiên cứu quan tâm.
Vì vây phương pháp Copula là một công cụ hữu ích để mô hình hóa quan hệ
giữa các biến ngẫu nhiên đa chiều và xác định phân bố chung của
chúng.
Lý thuyết copula dần tạo ra được các bước phát triển vượt bậc khi các
ứng dụng của nó trở nên phổ biến nhờ vào sự tiến bộ của công nghệ tính
toán và phần mềm hỗ trợ. Nhờ những đặc điểm này, copula đã trở thành một
công cụ quan trọng trong việc xác định sự phụ thuộc giữa các tài sản tài
chính và giữa tài sản tài chính với tài sản thực.
Ứng dụng phương pháp copula đã phát triển mạnh mẽ trong những thập kỷ
qua, dẫn đến việc phát triển nhiều thêm phương pháp để mở rộng các họ
copula hiện có hoặc tạo ra các copula mới. Những nỗ lực này được thúc
đẩy bởi mong muốn giới thiệu các mô hình ngẫu nhiên linh hoạt hơn, vượt
qua những hạn chế của các giả định truyền thống và đôi khi không thực
tiễn về phân phối của các vector ngẫu nhiên đa biến. Nhiều phương pháp
đã được sử dụng để giới thiệu các tham số mới vào hoặc các biến thể của
các họ copula hiện có, tạo ra một công cụ linh hoạt để hiểu sự phụ thuộc
giữa các biến ngẫu nhiên.Để có cái nhìn tổng quan về sự phát triển lịch
sử, các phát hiện hiện tại và triển vọng tương lai trong lĩnh vực này,
các nghiên cứu của Durante và Sempi và Hofert et al. cung cấp những phân
tích sâu sắc, kết hợp các lý thuyết và hiểu biết mới nhất.
Sự xuất hiện của nhiều họ copula trong thời gian gần đây phản ánh nhu
cầu khám phá các phụ thuộc cấu trúc trong nhiều lĩnh vực khác nhau như
tài chính, khoa học tính toàn bảo hiểm, kỹ thuật nghiên cứu độ tin cậy,
khoa học đời sống, khoa học môi trường, thủy văn học và phân tích sống
còn.
Copula được phân loại thành nhiều họ hàm khác nhau nhằm phục vụ cho mục
đích và tính phù hợp của bộ dữ liệu được thực hành. Hiện nay, copula
được xác định chia thành hai nhóm chính là nhóm Elip và nhóm
Archimedean.
Nhóm Archimedean bao gồm nhiều loại copula khác nhau, như Clayton,
Gumbel, Frank, Joe, và các phiên bản mở rộng của chúng như Rot–Clayton,
Rot–Gumbel, BB1, BB6, BB7, và BB8. Mỗi loại biễu diễn một kiểu phụ thuộc
đặc biệt của biến ngẫu nhiên. Nhóm Copula họ Archimedean là một yếu tố
quan trọng của mô hình phụ thuộc đa biến, xuất hiện lần đầu tiên trong
bối cảnh không gian metric mà khoảng cách là một phân phối xác suất
(theo “Probabilistic Metric Spaces.North-Holland Series in Probability
and Applied Mathematics” của Schweizer, B. and Sklar, A., 1983). Theo
tác giả Ling, C.-H, ông cho rằng nhóm Archimedean được biểu diễn tổng
quát bởi hàm sau:
\[C\left(u_1,\ ...,u_d\right)\ =\
\varphi\left[\varphi^{-1}\left(u_1\right)\
+...+\varphi^{-1}\left(u_d\right)\right]\]
với \(\left(u_1,\
...,u_d\right)\in\left[0,1\right]\) là các biến ngẫu nhiên đồng
phân phối trong khoảng [0,1].
Nhiều copula họ Archimedean có thể xử lý thống kê đã được xây dựng và sử
dụng trong nhiều ứng dụng thực tiễn, bao gồm phân tích sống sót của đa
biến, mô hình hóa tổn thất bảo hiểm và phổ biến trong chuyên ngành tài
chính định lượng.
Nhóm Elip bao gồm hai loại chính là copula Gaussian và copula
Student-t. Nếu copula Gaussian dưa trên phân phối chuẩn thường được sử
dụng để mô hình hóa mối quan hệ giữa các biến trong điều kiện bình
thường, khi các biến gần giá trị trung bình và có thể được coi là độc
lập khi thị trường ổn định. Ngược lại, copula Student-t phù hợp hơn
trong các tình huống thị trường biến động, với mức độ phụ thuộc gia tăng
khi số bậc tự do (df) giảm.
Trong thực tế, một trong những copula phổ biến nhất trong việc mô hình
hóa dữ liệu tài chính đa biến có thể là copula Student-t, được suy ra từ
phân phối student đa biến. Điều này là do sự đơn giản của nó về mặt mô
phỏng và hiệu chuẩn kết hợp với khả năng mô hình hóa sự phụ thuộc đuôi,
điều thường quan sát thấy trong dữ liệu lợi nhuận tài chính. Thực tế có
những trường hợp không thể được xử lí đầy đủ bằng copula Gaussian thường
được sử dụng. Vì vậy, các nghiên cứu gần đây của Mashal et al. (2003) và
Breymann et al. (2003) đã chứng minh rằng sự phù hợp thực nghiệm của
copula student-t thường vượt trội hơn so với copula Gaussian. Tuy nhiên,
nó đôi khi bị hạn chế khi chỉ có một tham số cho bậc tự do (dof), điều
này có thể giảm đi sự hiệu quả của khả năng mô hình hóa sự phụ thuộc
đuôi trong trường hợp đa biến.
Hàm Copula có \(F(x_1, x_2, ..., x_n) =
C(F_1(x_1), F_2(x_2), ..., F_n(x_n))\) là các biến ngẫu nhiên có
hàm phân phối biên liên tục từ \(F_1,\ F_2,\
F_3,...\ F_n\). Trong đó F là hàm phân phối đồng thời, khi đó
Copula sẽ tồn tại có dạng \(C:\
[0,1]^d\)
\(F(x_1,\ x_2,\ x_3,...\ x_n)=\ C(F_1(x_1),\
F_2(x_2),\ F_3(x_3),...\ F_n(x_n))\)
Kết quả cơ bản đầu tiên về lý thuyết copula đã được Sklar (1959) công
bố. Kết quả này đặt nền móng cho tất cả các nghiên cứu trong lĩnh vực
này vì nó cho phép phân tách bất kỳ phân phối hai biến nào thành các
phân phối đơn biến cùng với cấu trúc phụ thuộc.
Đối với bất kì hàm phân phối hai biến đồng nhất F với hàm phân phối biến
liên tục từ từ \(F_1,\ F_2\), ta được
một hàm copula C sao cho:
\(F(x,\ y)=\ C(F_1(x_1),\ F_2(y))\)
với x, y \(\in\ \mathbb{R}\
=\left(-\infty,+\infty\right)\)
Trong nhiều năm, hầu hết các kết quả liên quan đến phương pháp copula
đều được dựa trên kết quả nghiên cứu của Schweizer và Sklar (1983).
Một trong những đặc điểm nổi bật nhất của phương pháp copula chính là xác định được hệ số phụ thuộc đuôi hay cấu trúc phụ thuộc đuôi. Thường được áp dụng để đo lường sự phụ thuộc giữa các giá trị của các biến ngẫu nhiên đối với các mô hình copula. Bên cạnh đó là mô tả mức độ các biến ngẫu nhiên có xu hướng cũng đạt các giá trị không tích cực. Nói cách khác, sự phụ thuộc đuôi liên quan đến mức độ phụ thuộc ở góc dưới bên trái hoặc góc trên bên phải của phân phối hai biến hay cả hai biến cùng nhau giảm hay tăng. Gần đây, khái niệm sự phụ thuộc đuôi đã được thảo luận trong các ứng dụng tài chính liên quan đến rủi ro thị trường hoặc tín dụng, như Hauksson et al. (2001) và Embrechts et al. (2003). Cụ thể, các phân phối phụ thuộc đuôi được quan tâm trong bối cảnh ước lượng Value at Risk (VaR) cho danh mục tài sản, vì những phân phối này có thể mô hình hóa sự phụ thuộc của các sự kiện tổn thất lớn (sự kiện vỡ nợ) giữa các tài sản khác nhau giúp các nhà đầu tư giảm thiểu rủi ro. Có hai loại phụ thuộc đuôi chính:
knitr::include_graphics("C:/Users/DELL/Pictures/Screenshots/Screenshot 2024-08-09 134921.png")
knitr::include_graphics("C:/Users/DELL/Pictures/Screenshots/Screenshot 2024-08-09 135027.png")
Trong đó $x_1,\ x_2$ là hai biến ngẫu nhiên với $F_1,\ F_2$ là hàm phân phối biên tương ứng, giá trị \lambda\_U và \lambda\_L thuộc giá trị trong khoảng (0,1), hai hệ số phụ thuộc này đo lường mức độ xác suất để xảy ra tình huống \$x_2 sẽ bùng nổ hay sụp đổ vượt qua một mức độ nào đó khi biết rằng \$x_1 đã bùng nổ hay sụp đổ khi trải qua một mức độ lớn nào đó.
Hiện nay, có nhiều mô hình được sử dụng để đo lường mô hình biên. Tác
giả cho rằng mô hình biến ARMA - GJR - GARCH là lựa chọn thích hợp nhất
để xác định phân phối biến của chuỗi lợi suất. Với việc ứng dụng mô hình
ARMA để loại bỏ hiện tượng tự tương quan và trung bình trượt của chuỗi
lợi suất và mô hình GJR-GARCH xử lí hiện tượng Heteroskedasticity và
giảm thiểu hiện tượng bất đối xứng trong biến động cũng như khả năng xem
xét đến hiện tượng đòn bẩy.
Để thực hiện hồi quy mô hình ARMA - GRJ - GARCH, tác giả thực hiện các
bước sau:
\(r_t\ =\ c\ +\ \sum_{i=1}^{p}{\emptyset r_{t-1}\ +\ \varepsilon_t\ +\ \sum_{i=1}^{q}{\theta\varepsilon_{t-i}}}\)
\(\sigma^2\ =\ \omega\ +\
\sum_{i=1}^{r}{\beta_i\sigma^2\ +\
\sum_{i=1}^{m}{\alpha_i\varepsilon_{t-i}^2\ +\
\sum_{i=1}^{m}{\gamma_iS_{t-i}\varepsilon_{t-i}^2}}}\) Trong
đó:
\(r_t\): lợi suất tại thời điểm
t.
\(\varepsilon_t\): sai số tại thời điểm
t.
\(\sigma^2\): phương sai có điều kiện
tại thời điểm t.
\(S_{t-i}=1\) khi \(\varepsilon_{t-i}\ <0\), và \(S_{t-i}\ =0\) trong trường hợp ngược lại
thể hiện hiệu ứng đòn bẩy.
Sau cùng để lựa chọn mô hình biên phù hợp nhất, ta tiếp tục sử dụng các
tiêu chí như AIC, SIC, tìm các giá trị nhỏ nhất và kết quả sẽ được một
mô hình biến ARMA – GJR –GARCH hoàn chỉnh mô tả các đặc tính quan trọng
của chuỗi lợi suất, bao gồm đuôi dày, đối xứng và bất đối xứng, và hiệu
ứng đòn bẩy. Đây là quá trình cần thiết để đảm nảo các đặc tính quan
trọng của chuỗi lợi suất được mô tả rõ ràng và chính xác nhất.
Đánh giá sự phù hợp của mô hình biến là cực kì quan trọng bởi vì các
dữ liệu ước lượng từ phân phối biến sẽ được sử dụng cho mô hình copula
vì vậy khi mô hình biến được xử lí sai lệch thì mô hình copula sẽ tiến
đến sự lệch lạc. Vì vậy sau khi xác định mô hình biến tối ưu , tác giả
tính toàn phần dự chuẩn hoá của mô hình được kí hiệu lần lượt là bằng
cặp dữ liệu s và d tại thời điểm\(\
t\). Sau cũng là chuyển đổi thành giá trị xác suất để mô hình
linh hoạt hơn và thích ứng trong điều kiện thay đổi liên tục.
\(u_t\ =\ F_1\left(s\
\middle|\mathrm{\Omega}_{t-1}\right)\) và \(k_t\ =\
F_2\left(s\middle|\Omega_{t-1}\right)\)
Có ba kiểm định chính sau:
Các tham số copula thông thường được ước lượng bằng phương pháp
maximum likelihoos - ML sử dụng quy trình gồm hai bước là phương pháp
hàm suy luận theo biên (IFM,Joe and Xu, 1996), một kĩ thuật phổ biến và
càng hữu ích hơn nếu mô hình có điều kiện phức tạp hơn.
Quá trình IFM được thực hiện như sau:
Ước lượng các tham số của hàm phân phối biên bằng phương pháp MLE: \({\hat{\theta}}_{i\ }=argmaxl\ (\theta_i)\ =agrmax\ \sum_{t=1}^{T}{log\ f_i}(x_t\theta_i),\ i=\ \bar{1,\ n}\) với \(l\) là hàm log-likelihood của hàm phân phối biên \(F_i\)
Ước lượng tham số của copula dựa vào tham số hàm phân phối biên
\({\hat{\theta}}_{i\ }\)
\({\hat{\delta}}_{i\ }=argmaxl^c(\delta)\
=agrmax\ \sum_{t=1}^{T}{log\ (c(}F_1(x_1,{\hat{\theta}}_{1\ }),...\
,F_n(x_n,{\hat{\theta}}_{n\ })\ ;\ \delta)\) với \(l^c\) là hàm log-likehood của hàm
copula.
Tiếp tục sử dụng tiêu chí AIC, BIC với mong muốn laf tìm được mô hình
copula phù hợp. Nếu AIC được chứng minh là đo lường mức độ mất mát thông
tin trong một mô hình với mức phù hợp là giá trị AIC nhỏ nhất, thì SIC
cố gắng ngăn chặn hiện tượng quá khớp (overfitting) bằng cách ưu tiên
các mô hình đơn giản hơn với các giá trị nhỏ hơn.
Copula Student-t đa biến tương ứng với phân phối t chuẩn (và cũng là phân phối student-t với thuộc tính độc lập và các bậc tự do bằng nhau hoặc không bằng nhau) được xây dựng như sau:
knitr::include_graphics("C:/Users/DELL/Pictures/Screenshots/Screenshot 2024-08-08 144201.png")
với \(f\left(t\right)\) là hàm mật độ
phân phối của phân phối.
Hầu hết các thuộc tính của T copula được kế thừa từ các thuộc tính của
phân phối Student-t cơ bản. Các đặc tính nổi bật sau: Copula Student-t
là hàm copula đối xứng. Không có thuộc tính độc lập. Điều này có nghĩa
là không phải mọi cặp biến trong copula Student-t là độc lập. Tuy nhiên,
copula dựa trên phân phối Student-t với tính chất độc lập có thể có
thuộc tính này. Có một mối quan hệ rõ ràng giữa hệ số tương quan Pearson
(\(\rho\)) và hệ số tương quan thứ hạng
Kendall (\(τ\)):
\(\rho=\sin{\left(\frac{\pi}{2}\tau\right)}\)
Cho thấy tính phụ thuộc đuôi, nghĩa là có khả năng xảy ra các sự kiện
cực đoan đồng thời.
Các nhà hoạch định chiến lược, nhà đầu tư và các nhà quản lý rủi ro
luôn tìm kiếm những công cụ và phương pháp phân tích hiệu quả để có thể
nắm bắt được bản chất và mối tương quan của các rủi ro, từ đó đưa ra các
quyết định phù hợp. Vì vậy mô hình Copula đặc biệt được quan tâm và ứng
dụng rộng rãi, đặc biệt là Copula Student-t. So với các copula khác như
Gaussian Copula, Copula Student-t có khả năng nắm bắt sự phụ thuộc ở các
đuôi tốt hơn, điều này rất quan trọng trong quản lý rủi ro, đặc biệt là
trong các ngành tài chính và bảo hiểm.
Copula Student-t là một dạng đặc biệt của họ Copula, cho phép mô hình
hóa tương quan và phụ thuộc lẫn nhau giữa các biến ngẫu nhiên dựa trên
phân phối Student-t đa biến.
Mô hình Copula Student-t là một công cụ phân tích rủi ro mạnh mẽ và đang
được ứng dụng ngày càng rộng rãi trong thực tiễn. Ưu điểm chính của
phương pháp này là khả năng mô hình hóa chính xác hơn tương quan phi
tuyến và đuôi phân phối dày của các biến số, từ đó cải thiện đáng kể độ
chính xác trong các bài toán quản lý rủi ro tài chính.
Copula Student-t đang được ứng dụng trong nhiều lĩnh vực như tính toán
VaR, quản lý rủi ro tín dụng, định giá phái sinh, tối ưu hóa danh mục
đầu tư và quản lý rủi ro hoạt động. Các nghiên cứu thực nghiệm đã chứng
minh hiệu quả của phương pháp này trong thực tế, khiến nó trở thành một
công cụ phân tích rủi ro ngày càng quan trọng trong thế giới tài chính
và kinh doanh hiện đại.
Một nghiên cứu tiêu biểu là của Paul Embrechts, P., Lindskog, F., &
McNeil, A. J. “Modeling Dependence with Copula and Applications to Risk
Management” (2002). Kết quả nghiên cứu cho thấy Copula Student-t có thể
mô hình hóa tương quan phi tuyến và đuôi phân phối dày hiệu quả hơn so
với các phương pháp truyền thống, từ đó giúp cải thiện đáng kể độ chính
xác trong tính toán giá trị rủi ro.
Theo nghiên cứu của Lei (2009), Copula có thể đo lường sự phụ thuộc
đuôi trái, đuôi phải rất linh hoạt đối với mô hình tham số và phi tham
số.
Lu, Tien và Zhang (2008) đã phân tích rùi ro tỷ giá hồi đoái bằng cách
sử dụng hàm copula với giá trị cực hạng (extreme value). Họ tim thấy ba
loại copula có thể ứng dụng để đo lường rủi ro ở đuôi và sự phụ thuộc
đuôi đổi với chuỗi dữ liệu.
Chollete và cộng sự (2005), Arakelian và Dellaportas (2005) về việc sử
dụng côug cụ copula để xem xét sự “lây lan” giữa các thị trường tải
chính.
Frey và McNeil (2001), Schonbucher và Schubert (2001), Giesecke (2004)
đã ứng dụng phương pháp copula trong việc đo lường rủi ro không trả được
nợ (default risk). Ngoài ra, nghiên cứu của Duffie (2004) cho rằng
phương pháp copula vẫn còn nhiều hạn chế trong việc đo lường rủi ro tín
dụng.
Sukcharoen và Leatham (2017) sử dụng bộ dữ liệu (giá dầu thô, xăng và
dầu đốt) của Hoa Kỳ giai đoạn 1986–2015 để nghiên cứu về việc phòng ngừa
rủi ro sụt giá ở các nhà máy luyện dầu bằng phương pháp Vine Copula. Các
nhà nghiên cứu trên đã đưa ra bằng chứng cho thấy mô hình Dvine Copula
là lựa chọn tốt và an toàn để quản lý rủi ro sụt giá của các nhà máy ở
Hoa Kỳ.
Gần đây nhất, Aloui và Aïssa (2016) đã nghiên cứu về mối quan hệ giữa
giá dầu, chứng khoán và tỷ giá với cách tiếp cận dựa trên cơ sở Vine
Copula và đã giải quyết được nút thắt trong việc nghiên cứu mối quan hệ
đồng thời cùng lúc nhiều tài sản (High - Dimensional
Distributions).
Tại Việt Nam, tiến sĩ Lê Văn Thứ đã sử dụng phương pháp Copula phân tích
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 quốc tế (2022).
Thạc sĩ Trần Thanh Tâm đã sử dụng phương pháp Copula để xem xét vai trò
của vàng là kênh trú ẩn an toàn hay công cụ phòng ngừa rủi ro đối với
đồng đô la Mỹ (2014).
library(readxl)
library(base)
data <- read_excel("C:/Users/DELL/Downloads/mohinh 1.1.xlsx")
VNI1 <- as.numeric(log(data$VNI))
TSX1 <- log(data$TSX)
Date <- data$DATE
adata <- data.frame(Date, VNI1, TSX1)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(moments)
library(knitr)
library(kableExtra)
##
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
##
## group_rows
tk1 <- adata %>% summarise(Min = min(VNI1),
Max = max(VNI1),
Mean = mean(VNI1),
StDev = sd(VNI1),
Skewness = skewness(VNI1),
Kurtosis = kurtosis(VNI1))
tk2 <- adata %>% summarise(Min = min(TSX1),
Max = max(TSX1),
Mean = mean(TSX1),
StDev = sd(TSX1),
Skewness = skewness(TSX1),
Kurtosis = kurtosis(TSX1))
m <- rbind(tk1,tk2)
rownames(m) <- c('VNI','S&P/TSX')
kable(m, format = 'pandoc', caption = ' Thống kê mô tả chuỗi lợi suất', table.attr = "style='width:100%;'") %>% kable_styling(bootstrap_options = c("striped", "hover", "condensed"))
## Warning in kable_styling(., bootstrap_options = c("striped", "hover",
## "condensed")): Please specify format in kable. kableExtra can customize either
## HTML or LaTeX outputs. See https://haozhu233.github.io/kableExtra/ for details.
Min | Max | Mean | StDev | Skewness | Kurtosis | |
---|---|---|---|---|---|---|
VNI | -0.0486002 | 0.0690762 | -0.0001956 | 0.0124142 | 0.9736897 | 7.396153 |
S&P/TSX | -0.1129446 | 0.1317613 | -0.0002281 | 0.0110743 | 1.7215907 | 41.409712 |
Bảng 1 cho thấy được kết quả thống kê mô tả của hai chuỗi lợi suất là chỉ số VNI và S&P/TSX lần lượt đại diện cho TTCK Việt Nam và TTCK Canada.Từ giá trị nhỏ nhất, giá trị lớn nhất và giá trijtrungj bình của hai chuỗi lợi suất có thể dàng nhận thấy. Tuy nhiên độ biến động của chỉ số VNI (0.0124142) được ghi nhận là lớn hơn S&P/TSX (0.0110743) cho thấy rằng TTCK Việt Nam đang chịu khá nhiều rủi ro. Bên cạnh đó hệ số Skewness của cả hai chuỗi đều lớn hơn 0(0.9736897 và 1.7215907) tức là đều lệch phía phải với hiện tượng là S&P/TSX có đuôi dài hơn. Sau cùng thì giá trị Kurrtosis của cả hai đều lớn hơn mức ba, cho thấy phân phối của hai chuỗi có đuôi dài và đỉnh nhọn hơn phân phối chuẩn.
library(ggplot2)
library(tidyr)
pivot_longer(adata[,2:3], cols = everything(), names_to = "TSLN", values_to = "Value") %>% ggplot(aes(x = TSLN, y = Value)) +
geom_boxplot(fill = "lightpink", color = "darkblue") +
theme_minimal() +
labs(title = " Biểu đồ hộp của TSLN VNI và S&P/TSX",
x = "Chỉ số",
y = "Tỷ suất sinh lợi")
Ta có thể trực quan hóa các mô tả cơ bản của hai chỉ số lợi suất
thông qua biểu đồ hộp (Box-plot).
library(zoo)
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
plot.zoo(adata$VNI1, main= "Hình 2: Biến động của tỷ suất lợi nhuận qua các ngày của VNI", ylab = "Tỷ suất sinh lợi", xlab = "Thời điểm quan sát")
library(zoo)
plot.zoo(adata$TSX1, main= "Hình 3: Biến động của tỷ suất lợi nhuận qua các ngày của S&P-TSX", ylab = "Tỷ suất sinh lợi", xlab = "Thời điểm quan sát")
Biến động của chuỗi tỷ suất sinh lợi ở chỉ số VNINDEX và chỉ số S&P/TSX trong giai đoạn 2018 - 7/2024 được trình bày ở bảng trên. Nhìn chung, chỉ số VNINDEX cho thấy mức độ dao động mạnh hơn chỉ số S&P/TSX, đ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 Canada. ## 4.3 Kiểm định các giả thuyết
library(tseries)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(stats)
#Kiểm định tính dừng
adf_vni <- adf.test(adata$VNI1)
## Warning in adf.test(adata$VNI1): p-value smaller than printed p-value
adf_tsx <- adf.test(adata$TSX1)
## Warning in adf.test(adata$TSX1): p-value smaller than printed p-value
#Kiểm định phân phối chuẩn
jq_vni <- jarque.bera.test(adata$VNI1)
jq_tsx <- jarque.bera.test(adata$TSX1)
#Kiểm định tương quan chuỗi
lj_vni <- Box.test(adata$VNI1, lag =2, type = "Ljung-Box")
lj_tsx <- Box.test(adata$TSX1, lag =2, type = "Ljung-Box")
# Kiểm định hiệu ứng ARCH
library(rugarch)
## Loading required package: parallel
##
## Attaching package: 'rugarch'
## The following object is masked from 'package:stats':
##
## sigma
Avni <- autoarfima(adata$VNI1,ar.max = 2, ma.max = 2, criterion = 'AIC', method = "full")
Atsx <- autoarfima(adata$TSX1,ar.max = 2, ma.max = 2, criterion = 'AIC', method = "full")
library(FinTS)
re_vni <- Avni$fit@fit$residuals
re_tsx <- Atsx$fit@fit$residuals
ar_vni <- ArchTest(re_vni, lags = 1)
ar_tsx <- ArchTest(re_tsx, lags = 1)
#Trình bày kết quả
test_result <- data.frame(
Test = c("Tính Dừng", "Phân phối Chuẩn", "Tương Quan Chuỗi","Hiệu ứng ARCH"),
P_value_VNI = c(adf_vni$p.value, jq_vni$p.value, lj_vni$p.value, ar_vni$p.value),
P_value_S_P_TSX = c(adf_tsx$p.value, jq_tsx$p.value, lj_tsx$p.value, ar_tsx$p.value))
library(kableExtra)
kable(test_result,
caption = "Kết quả các kiểm định",
format = 'pandoc') %>% kable_styling(
bootstrap_options = c("striped", "hover", "condensed"),
full_width = F)
## Warning in kable_styling(., bootstrap_options = c("striped", "hover",
## "condensed"), : Please specify format in kable. kableExtra can customize either
## HTML or LaTeX outputs. See https://haozhu233.github.io/kableExtra/ for details.
Test | P_value_VNI | P_value_S_P_TSX |
---|---|---|
Tính Dừng | 0.0100000 | 0.01 |
Phân phối Chuẩn | 0.0000000 | 0.00 |
Tương Quan Chuỗi | 0.0194895 | 0.00 |
Hiệu ứng ARCH | 0.0000000 | 0.00 |
Hệ số tương quan tuyến tính Pearson
Hệ số tương quan tuyến tính Pearson có vai trò quan trọng trong thống kê
và phân tích dữ liệu. Hệ số tương quan Pearson là một số đo mức độ tương
quan giữa hai biến số định lượng, cho biết mối quan hệ tuyến tính giữa
chúng. được ứng dụng rộng rãi trong nhiều lĩnh vực như kinh tế, xã hội
học, tâm lý học và khoa học tự nhiên để hiểu rõ hơn về mối quan hệ giữa
các biến số.
test <- cor.test(adata$VNI1, adata$TSX1)
test
##
## Pearson's product-moment correlation
##
## data: adata$VNI1 and adata$TSX1
## t = 6.4743, df = 1447, p-value = 1.301e-10
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.1173040 0.2174054
## sample estimates:
## cor
## 0.1677872
Giá trị p-value rất nhỏ (< 0.05), điều này cho thấy tồn tại bằng
chứng để bác bỏ giả thuyết H0 (không có tương quan). Hệ số tương quan
Pearson là 0.1677872, tức là mức tương quan yếu nhưng vẫn có ý nghĩa
thống kê.
Ma trận tương quan của VNI và S&P/TSX
res <- cor(adata[,2:3])
round(res, 2)
## VNI1 TSX1
## VNI1 1.00 0.17
## TSX1 0.17 1.00
Nhìn vào kết quả, ta thấy mức độ tương quan giữa VNI và S&P/TSX là 0.17 > 0, vậy thì 2 biến này có mối quan hệ thuận, nếu biến S&P/TSX tăng thì VNI cũng tăng. BIểu đồ tương quan (correlation plot)
library(corrplot)
## corrplot 0.92 loaded
corrplot(res, type = "upper", order = "hclust",
tl.col = "darkblue", tl.srt = 45)
Biểu đồ tương quan (correlation plot) giúp chúng ta có thể sự tương quan của thị trường chứng khoán của 2 nước Việt Nam và Canada. dựa vừa mô hình thì chúng ta thấy cả 2 thị trường này có sự tương quan chặt chẽ với nhau, nhìn chung thì hệ số hồi quy dương.
library(PerformanceAnalytics)
## Loading required package: xts
##
## ######################### Warning from 'xts' package ##########################
## # #
## # The dplyr lag() function breaks how base R's lag() function is supposed to #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or #
## # source() into this session won't work correctly. #
## # #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop #
## # dplyr from breaking base R's lag() function. #
## # #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning. #
## # #
## ###############################################################################
##
## Attaching package: 'xts'
## The following objects are masked from 'package:dplyr':
##
## first, last
##
## Attaching package: 'PerformanceAnalytics'
## The following objects are masked from 'package:moments':
##
## kurtosis, skewness
## The following object is masked from 'package:graphics':
##
## legend
chart.Correlation(adata[,2:3], histogram=TRUE, pch=19)
## Warning in par(usr): argument 1 does not name a graphical parameter
Kết quả tính toán trên cho thấy hệ số tương quan tuyến tính Pearson cho thấy mức độ tương quan lớn nhất với giá trị xấp xỉ 0.17. tuy nhiên hệ số Pearson được thực hiện trên cơ sở rằng các chuỗi lợi suất tuân theo phân phối chuẩn. Vì vậy hệ số tương quan này chưa thực sự minh bạch được sự sự tương quan giữa hai thị trường chứng khoán khác nhau.
library(ggplot2)
library(ggcorrplot)
df <- dplyr::select_if(adata[,2:3], is.numeric)
r <- cor(df, use="complete.obs")
ggcorrplot(r)
Biểu đồ Scatter
Để có thể dễ dàng xác định rõ xu hướng biến động cùng với nhau giữa hai
TTCK, chúng ta sẽ sử dụng biểu đồ Scatter với đường hồi quy để biểu diễn
mối liên hệ tương quan giữa hai TTCK.
adata %>% ggplot(aes(VNI1, TSX1)) +
geom_point(col = 'orange',shape = TRUE) +
geom_smooth(method = 'lm',se = T, col = 'darkblue') +
labs(title = 'Biểu đồ Scatter TSLN của VNI và S&P/TSX', x = 'VNI', y = 'S&P/TSX')
## `geom_smooth()` using formula = 'y ~ x'
Dựa vào hình trên, có thể thấy rằng hều hết các điểm nằm tập trung nhiều nhất gần vị trí 0 và các điểm khác nằm rải rác xung quanh. Với việc đường hồi quy có dấu hiệu đi lên cho thấy mối tương quan dương của hai chuỗi lợi suất nhưng vãn có sự biến động giaữa các giá trị của hai chuỗi lợi suất VNI và S&P/TSX.
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)
arma_vni <- autoarfima(adata[, 2],ar.max = 2, ma.max = 2, criterion = "AIC", method = "full")$fit
arma_vni
##
## *----------------------------------*
## * ARFIMA Model Fit *
## *----------------------------------*
## Mean Model : ARFIMA(2,0,2)
## Distribution : norm
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## ar1 0.000000 NA NA NA
## ar2 -0.462407 0.21233 -2.1777 0.029427
## ma1 0.066472 0.02391 2.7801 0.005434
## ma2 0.499718 0.20310 2.4605 0.013875
## sigma 0.012367 0.00023 53.8332 0.000000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## ar1 0.000000 NA NA NA
## ar2 -0.462407 0.260079 -1.7779 0.075412
## ma1 0.066472 0.033076 2.0097 0.044467
## ma2 0.499718 0.238970 2.0911 0.036516
## sigma 0.012367 0.000410 30.1495 0.000000
##
## LogLikelihood : 4309.021
##
## Information Criteria
## ------------------------------------
##
## Akaike -5.9421
## Bayes -5.9275
## Shibata -5.9421
## Hannan-Quinn -5.9366
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.0109 0.9169
## Lag[2*(p+q)+(p+q)-1][11] 5.2493 0.8974
## Lag[4*(p+q)+(p+q)-1][19] 12.3392 0.1607
##
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 45.39 1.618e-11
## Lag[2*(p+q)+(p+q)-1][2] 68.37 0.000e+00
## Lag[4*(p+q)+(p+q)-1][5] 127.95 0.000e+00
##
##
## ARCH LM Tests
## ------------------------------------
## Statistic DoF P-Value
## ARCH Lag[2] 77.32 2 0
## ARCH Lag[5] 117.31 5 0
## ARCH Lag[10] 151.94 10 0
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 1.2027
## Individual Statistics:
## ar2 0.3948
## ma1 0.0466
## ma2 0.3847
## sigma 0.6731
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 1.07 1.24 1.6
## Individual Statistic: 0.35 0.47 0.75
##
##
## Elapsed time : 0.03698707
arma_tsx <-autoarfima(adata[,3], ar.max = 2, ma.max = 2, criterion = "AIC", method = "full")$fit
arma_tsx
##
## *----------------------------------*
## * ARFIMA Model Fit *
## *----------------------------------*
## Mean Model : ARFIMA(2,0,2)
## Distribution : norm
##
## Optimal Parameters
## ------------------------------------
## Estimate Std. Error t value Pr(>|t|)
## ar1 0.409216 0.127518 3.2091 0.001332
## ar2 -0.459928 0.084524 -5.4414 0.000000
## ma1 -0.541398 0.114905 -4.7117 0.000002
## ma2 0.613678 0.076657 8.0055 0.000000
## sigma 0.010853 0.000202 53.8331 0.000000
##
## Robust Standard Errors:
## Estimate Std. Error t value Pr(>|t|)
## ar1 0.409216 0.286530 1.4282 0.153240
## ar2 -0.459928 0.239535 -1.9201 0.054847
## ma1 -0.541398 0.221418 -2.4451 0.014480
## ma2 0.613678 0.162447 3.7777 0.000158
## sigma 0.010853 0.001899 5.7142 0.000000
##
## LogLikelihood : 4498.221
##
## Information Criteria
## ------------------------------------
##
## Akaike -6.2018
## Bayes -6.1836
## Shibata -6.2018
## Hannan-Quinn -6.1950
##
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 0.05796 0.8097
## Lag[2*(p+q)+(p+q)-1][11] 40.03987 0.0000
## Lag[4*(p+q)+(p+q)-1][19] 64.78468 0.0000
##
## H0 : No serial correlation
##
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
## statistic p-value
## Lag[1] 238.6 0
## Lag[2*(p+q)+(p+q)-1][2] 375.2 0
## Lag[4*(p+q)+(p+q)-1][5] 667.3 0
##
##
## ARCH LM Tests
## ------------------------------------
## Statistic DoF P-Value
## ARCH Lag[2] 363.4 2 0
## ARCH Lag[5] 404.5 5 0
## ARCH Lag[10] 546.1 10 0
##
## Nyblom stability test
## ------------------------------------
## Joint Statistic: 1.4316
## Individual Statistics:
## ar1 0.26128
## ar2 0.05111
## ma1 0.22739
## ma2 0.04805
## sigma 1.12901
##
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic: 1.28 1.47 1.88
## Individual Statistic: 0.35 0.47 0.75
##
##
## Elapsed time : 0.04677796
#Trình bày kết quả
arma_model <- data.frame(
rate = c("VNI", "S&P/TSX"),
Format = c("ARMA(2,2)", "ARMA(2,2)"))
kable(arma_model, col.names = c("Chuỗi lợi suất", "Dạng mô hình ARMA"),
caption = " Mô hình ARMA tối ưu", format = "pandoc",
table.attr = "style='width:50%;'") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"))
## Warning in kable_styling(., bootstrap_options = c("striped", "hover",
## "condensed")): Please specify format in kable. kableExtra can customize either
## HTML or LaTeX outputs. See https://haozhu233.github.io/kableExtra/ for details.
Chuỗi lợi suất | Dạng mô hình ARMA |
---|---|
VNI | ARMA(2,2) |
S&P/TSX | ARMA(2,2) |
Dựa trên tiêu chuẩn giá trị AIC nhỏ nhất, kết quả thu được dạng mô hình ARMA cho tỷ suất sinh lợi của VNI và S&P/TSX lần lượt là mô hình ARMA(2,2) và ARMA(2,2). Điều này sẽ củng cố cho các bước tiếp theo để ướng lượng mô huifnh biên phù hợp nhất. ### 4.5.2 Ước lượng mô hình ARMA-GJR-GARCH tối ưu
#GJR-GARCH(1,1)VNI
vni.garch11n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")
vni.garch11n.fit <- ugarchfit(spec = vni.garch11n.spec, data = adata[,2])
vni.garch11t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")
vni.garch11t.fit <- ugarchfit(spec = vni.garch11t.spec, data = adata[, 2])
vni.garch11st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")
vni.garch11st.fit <- ugarchfit(spec = vni.garch11st.spec, data = adata[, 2])
vni.garch11g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")
vni.garch11g.fit <- ugarchfit(spec = vni.garch11g.spec, data = adata[, 2])
vni.garch11sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")
vni.garch11sg.fit <- ugarchfit(spec = vni.garch11sg.spec, data = adata[, 2])
# GJR-GARCH(1,2)VNI
vni.garch12n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")
vni.garch12n.fit <- ugarchfit(spec = vni.garch12n.spec, data = adata[, 2])
vni.garch12t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")
vni.garch12t.fit <- ugarchfit(spec = vni.garch12t.spec, data = adata[, 2])
vni.garch12st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")
vni.garch12st.fit <- ugarchfit(spec = vni.garch12st.spec, data = adata[, 2])
vni.garch12g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")
vni.garch12g.fit <- ugarchfit(spec = vni.garch12g.spec, data = adata[, 2])
vni.garch12sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")
vni.garch12sg.fit <- ugarchfit(spec = vni.garch12sg.spec, data = adata[, 2])
#GJR-GARCH(2,1)VNI
vni.garch21n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")
vni.garch21n.fit <- ugarchfit(spec = vni.garch21n.spec, data = adata[,2])
vni.garch21t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")
vni.garch21t.fit <- ugarchfit(spec = vni.garch21t.spec, data = adata[, 2])
vni.garch21st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")
vni.garch21st.fit <- ugarchfit(spec = vni.garch21st.spec, data = adata[, 2])
vni.garch21g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")
vni.garch21g.fit <- ugarchfit(spec = vni.garch21g.spec, data = adata[, 2])
vni.garch21sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")
vni.garch21sg.fit <- ugarchfit(spec = vni.garch21sg.spec, data = adata[, 2])
#GJR-GARCH(2,2)VNI
vni.garch22n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")
vni.garch22n.fit <- ugarchfit(spec = vni.garch22n.spec, data = adata[,2])
vni.garch22t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")
vni.garch22t.fit <- ugarchfit(spec = vni.garch22t.spec, data = adata[, 2])
vni.garch22st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")
vni.garch22st.fit <- ugarchfit(spec = vni.garch22st.spec, data = adata[, 2])
vni.garch22g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)), mean.model
= list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")
vni.garch22g.fit <- ugarchfit(spec = vni.garch22g.spec, data = adata[, 2])
vni.garch22sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")
vni.garch22sg.fit <- ugarchfit(spec = vni.garch22sg.spec, data = adata[, 2])
vni.model.list <- list(
garch11n = vni.garch11n.fit,
garch11t = vni.garch11t.fit,
garch11st = vni.garch11st.fit,
garch11g = vni.garch11g.fit,
garch11sg = vni.garch11sg.fit,
garch12n = vni.garch12n.fit,
garch12t = vni.garch12t.fit,
garch12st = vni.garch12st.fit,
garch12g = vni.garch12g.fit,
garch12sg = vni.garch12sg.fit,
garch21n = vni.garch21n.fit,
garch21t = vni.garch21t.fit,
garch21st = vni.garch21st.fit,
garch21g = vni.garch21g.fit,
garch21sg = vni.garch21sg.fit,
garch22n = vni.garch22n.fit,
garch22t = vni.garch22t.fit,
garch22st = vni.garch22st.fit,
garch22g = vni.garch22g.fit,
garch22sg = vni.garch22sg.fit)
vni.info.mat <- sapply(vni.model.list, infocriteria)
rownames(vni.info.mat) <- rownames(infocriteria(vni.garch11n.fit))
vni.info.mat
## garch11n garch11t garch11st garch11g garch11sg garch12n
## Akaike -6.230188 -6.306954 -6.308575 -6.317057 -6.318185 -6.230147
## Bayes -6.197401 -6.270525 -6.268502 -6.280628 -6.278113 -6.193717
## Shibata -6.230264 -6.307049 -6.308689 -6.317152 -6.318299 -6.230241
## Hannan-Quinn -6.217953 -6.293360 -6.293620 -6.303463 -6.303231 -6.216552
## garch12t garch12st garch12g garch12sg garch21n garch21t
## Akaike -6.306063 -6.307685 -6.316154 -6.317299 -6.229149 -6.304775
## Bayes -6.265990 -6.263969 -6.276081 -6.273584 -6.189077 -6.261059
## Shibata -6.306177 -6.307820 -6.316268 -6.317435 -6.229263 -6.304910
## Hannan-Quinn -6.291108 -6.291371 -6.301199 -6.300985 -6.214195 -6.288461
## garch21st garch21g garch21sg garch22n garch22t garch22st
## Akaike -6.306647 -6.315088 -6.316235 -6.227770 -6.303687 -6.305267
## Bayes -6.259289 -6.271373 -6.268877 -6.184054 -6.256329 -6.254266
## Shibata -6.306806 -6.315224 -6.316394 -6.227905 -6.303846 -6.305451
## Hannan-Quinn -6.288974 -6.298774 -6.298562 -6.211456 -6.286014 -6.286234
## garch22g garch22sg
## Akaike -6.313708 -6.314854
## Bayes -6.266349 -6.263853
## Shibata -6.313867 -6.315039
## Hannan-Quinn -6.296035 -6.295822
vni.inds <- which(vni.info.mat == min(vni.info.mat), arr.ind=TRUE)
model.vni <- colnames(vni.info.mat)[vni.inds[,2]]
model.vni
## [1] "garch11sg"
Dựa trên tiêu chuẩn giá trị AIC nhỏ nhất, BIC, SIC và HQIC. kết quả thu được dạng mô hình phân phối biên cho chuỗi lợi suất VNI là mô hình ARMA(2,2)-GJR-GARCH(1,1)-sGED.
#GJR-GARCH(1,1)SP_TSX
tsx.garch11n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")
tsx.garch11n.fit <- ugarchfit(spec = tsx.garch11n.spec, data = adata[,3])
tsx.garch11t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")
tsx.garch11t.fit <- ugarchfit(spec = tsx.garch11t.spec, data = adata[, 3])
tsx.garch11st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(2,2), include.mean = TRUE), distribution.model = "sstd")
tsx.garch11st.fit <- ugarchfit(spec = tsx.garch11st.spec, data = adata[, 3])
tsx.garch11g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")
tsx.garch11g.fit <- ugarchfit(spec = tsx.garch11g.spec, data = adata[, 3])
tsx.garch11sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")
tsx.garch11sg.fit <- ugarchfit(spec = tsx.garch11sg.spec, data = adata[, 3])
#GJR-GARCH(1,2)SP_TSX
tsx.garch12n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")
tsx.garch12n.fit <- ugarchfit(spec = tsx.garch12n.spec, data = adata[,3])
tsx.garch12t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")
tsx.garch12t.fit <- ugarchfit(spec = tsx.garch12t.spec, data = adata[, 3])
tsx.garch12st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")
tsx.garch12st.fit <- ugarchfit(spec = tsx.garch12st.spec, data = adata[, 3])
tsx.garch12g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")
tsx.garch12g.fit <- ugarchfit(spec = tsx.garch12g.spec, data = adata[, 3])
tsx.garch12sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(1, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")
tsx.garch12sg.fit <- ugarchfit(spec = tsx.garch12sg.spec, data = adata[, 3])
# GJR-GARCH(2,1)SP_TSX
tsx.garch21n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "norm")
tsx.garch21n.fit <- ugarchfit(spec = tsx.garch21n.spec, data = adata[,3])
tsx.garch21t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)),
mean.model = list(armaOrder = c(2,2), include.mean = TRUE), distribution.model = "std")
tsx.garch21t.fit <- ugarchfit(spec = tsx.garch21t.spec, data = adata[, 3])
tsx.garch21st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")
tsx.garch21st.fit <- ugarchfit(spec = tsx.garch21st.spec, data = adata[, 3])
tsx.garch21g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")
tsx.garch21g.fit <- ugarchfit(spec = tsx.garch21g.spec, data = adata[, 3])
tsx.garch21sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 1)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")
tsx.garch21sg.fit <- ugarchfit(spec = tsx.garch21sg.spec, data = adata[, 3])
# GJR-GARCH(2,2)SP_TSX
tsx.garch22n.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)),
mean.model = list(armaOrder = c(2,2), include.mean = TRUE), distribution.model = "norm")
tsx.garch22n.fit <- ugarchfit(spec = tsx.garch22n.spec, data = adata[, 3])
tsx.garch22t.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "std")
tsx.garch22t.fit <- ugarchfit(spec = tsx.garch22t.spec, data = adata[, 3])
tsx.garch22st.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sstd")
tsx.garch22st.fit <- ugarchfit(spec = tsx.garch22st.spec, data = adata[, 3])
tsx.garch22g.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "ged")
tsx.garch22g.fit <- ugarchfit(spec = tsx.garch22g.spec, data = adata[, 3])
tsx.garch22sg.spec <- ugarchspec(variance.model = list(model = "gjrGARCH", garchOrder = c(2, 2)),
mean.model = list(armaOrder = c(2, 2), include.mean = TRUE), distribution.model = "sged")
tsx.garch22sg.fit <- ugarchfit(spec = tsx.garch22sg.spec, data = adata[, 3])
tsx.model.list <- list(
garch11n = tsx.garch11n.fit,
garch11t = tsx.garch11t.fit,
ggarch11st = tsx.garch11st.fit,
garch11g = tsx.garch11g.fit,
garch11sg = tsx.garch11sg.fit,
garch12n = tsx.garch12n.fit,
garch12t = tsx.garch12t.fit,
garch12st = tsx.garch12st.fit,
garch12g = tsx.garch12g.fit,
garch12sg = tsx.garch12sg.fit,
garch21n = tsx.garch21n.fit,
garch21t = tsx.garch21t.fit,
garch21st = tsx.garch21st.fit,
garch21g = tsx.garch21g.fit,
garch21sg = tsx.garch21sg.fit,
garch22n = tsx.garch22n.fit,
garch22t = tsx.garch22t.fit,
garch22st = tsx.garch22st.fit,
garch22g = tsx.garch22g.fit,
garch22sg = tsx.garch22sg.fit)
tsx.info.mat <- sapply(tsx.model.list, infocriteria)
rownames(tsx.info.mat) <- rownames(infocriteria(tsx.garch11n.fit))
tsx.info.mat
## garch11n garch11t ggarch11st garch11g garch11sg garch12n
## Akaike -6.976754 -6.993167 -6.992872 -6.989679 -6.988502 -6.975374
## Bayes -6.943967 -6.956738 -6.952800 -6.953250 -6.948430 -6.938944
## Shibata -6.976831 -6.993261 -6.992986 -6.989774 -6.988617 -6.975468
## Hannan-Quinn -6.964519 -6.979572 -6.977918 -6.976084 -6.973548 -6.961779
## garch12t garch12st garch12g garch12sg garch21n garch21t
## Akaike -6.991787 -6.990602 -6.988299 -6.987122 -6.974435 -6.991059
## Bayes -6.951714 -6.946887 -6.948226 -6.943407 -6.934363 -6.947343
## Shibata -6.991901 -6.990738 -6.988413 -6.987258 -6.974549 -6.991194
## Hannan-Quinn -6.976832 -6.974289 -6.973345 -6.970808 -6.959481 -6.974745
## garch21st garch21g garch21sg garch22n garch22t garch22st
## Akaike -6.990676 -6.987340 -6.986132 -6.978739 -6.994935 -6.988478
## Bayes -6.943318 -6.943625 -6.938774 -6.935024 -6.947577 -6.937477
## Shibata -6.990835 -6.987476 -6.986291 -6.978875 -6.995094 -6.988662
## Hannan-Quinn -6.973003 -6.971026 -6.968459 -6.962425 -6.977262 -6.969445
## garch22g garch22sg
## Akaike -6.990025 -6.990181
## Bayes -6.942667 -6.939180
## Shibata -6.990184 -6.990366
## Hannan-Quinn -6.972352 -6.971149
tsx.inds <- which(tsx.info.mat == min(tsx.info.mat), arr.ind = TRUE)
model.tsx <- colnames(tsx.info.mat)[tsx.inds[, 2]]
model.tsx
## [1] "garch22t"
Dựa trên tiêu chuẩn giá trị AIC nhỏ nhất, BIC, SIC và HQIC. kết quả thu được dạng mô hình phân phối biên cho chuỗi lợi suất S&P/TSX là mô hình ARMA(2,2)-GJR-GARCH(2,2)-Student t.
Chuỗi lợi suất VNI
#Trình bày kết quả
extract_garch_results <- function(fit) {
coef <- coef(fit)
se <- fit@fit$se.coef
pvalues <- 2 * (1 - pnorm(abs(fit@fit$tval))) # tính giá trị p từ giá trị t
results <- cbind(coef, se, pvalues)
colnames(results) <- c("Estimate", "Std. Error", "Pr(>|z|)")
return(results)
}
fit1 <- extract_garch_results(vni.garch11sg.fit)
fit2 <- extract_garch_results(tsx.garch22t.fit)
kable(as.data.frame(fit1),
caption = "Kết quả mô hình ARMA(2,2)-GJR-Garch(1,1)-sGED của VNI",
format = 'pandoc') %>% kable_styling(
bootstrap_options = c("striped", "hover", "condensed"),
full_width = F)
## Warning in kable_styling(., bootstrap_options = c("striped", "hover",
## "condensed"), : Please specify format in kable. kableExtra can customize either
## HTML or LaTeX outputs. See https://haozhu233.github.io/kableExtra/ for details.
Estimate | Std. Error | Pr(>|z|) | |
---|---|---|---|
mu | -0.0010324 | 0.0002018 | 0.0000003 |
ar1 | -0.1303470 | 0.0234820 | 0.0000000 |
ar2 | -0.0991451 | 0.0860985 | 0.2495142 |
ma1 | 0.1790779 | 0.0248438 | 0.0000000 |
ma2 | 0.1449769 | 0.0850796 | 0.0883786 |
omega | 0.0000037 | 0.0000032 | 0.2475227 |
alpha1 | 0.0203887 | 0.0149638 | 0.1730282 |
beta1 | 0.8664353 | 0.0295788 | 0.0000000 |
gamma1 | 0.2160984 | 0.0405266 | 0.0000001 |
skew | 1.0552195 | 0.0242888 | 0.0000000 |
shape | 1.1513016 | 0.0578357 | 0.0000000 |
Bảng 6 kết quả mô hình ARMA(2,2)-GJR-Garch(1,1)-sGED cho chuỗi lợi suất chỉ số VNI cho thấy một số đặc điểm quan trọng về cấu trúc và động thái của dữ liệu.
Tham số mu: là giá trị trung bình của chuỗi lợi suất sau khi đã loại bỏ ảnh hưởng của các thành phần AR và MA.Giá trị rất nhỏ và âm cho thấy mức trung bình của biến đổi trong một khoảng thời gian là không lớn
Tham số ar1:Hệ số âm cho thấy có một sự tương quan ngược chiều giữa giá trị hiện tại và giá trị của kỳ trước.
Tham số ar2: Không có ý nghĩa thống kê vì p_value lớn hơn mức ý nghĩa 5%.
Tham số ma1:Hệ số dương chỉ ra rằng có một sự kiện tích cực của kỳ trước làm cho chuỗi lợi suất hiện tại tăng theo.
Tham số ma2:Không có ý nghĩa thống kê vì p_value lớn hơn mức ý nghĩa 5%.
Tham số omega: tuy không có mức ý nghĩa thống kê, nhưng giá trị được ước lượng (0.0000037) cho thấy mức độ biến động cơ bản của chuỗi lợi suất là t, phản ánh rằng trong trường hợp không có cú sốc lớn, lợi suất có xu hướng ổn định với ít biến động.
Tham số alpha1: tuy giá trị thống kê không cao, nhưng hệ số ước lượng là dương cho thấy rằng cú sốc ở kỳ trước không có tác động đáng kể đến sự biến động hiện tại.
Tham số beta1:Giá trị ước lượng là 0.8664353, có ý nghĩa thống kê cao, cho thấy phương sai điều kiện có sự phụ thuộc lớn vào giá trị của chính nó ở kỳ trước.
Tham số gamma1:Giá trị ước lượng là 0.2160984, có ý nghĩa thống kê cao, cho thấy sự hiện diện của hiệu ứng đòn bẩy trong chuỗi lợi suất.
Tham số skew: Giá trị ước lượng củalà 1.0552195, cho thấy Phân phối có đuôi bên phải dài hơn và trọng tâm lệch về bên trái, ngụ ý rằng sự biến động tiêu cực có khả năng xảy ra cao hơn.
Tham số shape:Giá trị ước lượng của là 1.1513016,có ý nghĩa thống kê rất cao tuy nhiên có khả năng xuất hiện nhiều biến động lớn và không bình thường.
kable(as.data.frame(fit2),
caption = "Kết quả mô hình ARMA(2,2)-GJR-Garch(2,2)-Student t của S&P/TSX",
format = 'pandoc') %>% kable_styling(
bootstrap_options = c("striped", "hover", "condensed"),
full_width = F)
## Warning in kable_styling(., bootstrap_options = c("striped", "hover",
## "condensed"), : Please specify format in kable. kableExtra can customize either
## HTML or LaTeX outputs. See https://haozhu233.github.io/kableExtra/ for details.
Estimate | Std. Error | Pr(>|z|) | |
---|---|---|---|
mu | -0.0009092 | 0.0001600 | 0.0000000 |
ar1 | 0.8056976 | 0.1011678 | 0.0000000 |
ar2 | -0.9298446 | 0.1225249 | 0.0000000 |
ma1 | -0.8018872 | 0.0914916 | 0.0000000 |
ma2 | 0.9505605 | 0.0886974 | 0.0000000 |
omega | 0.0000039 | 0.0000023 | 0.0900501 |
alpha1 | 0.0508988 | 0.0234557 | 0.0300069 |
alpha2 | 0.0450336 | 0.0231578 | 0.0518180 |
beta1 | 0.0000003 | 0.0713797 | 0.9999968 |
beta2 | 0.6258906 | 0.0702138 | 0.0000000 |
gamma1 | 0.2005350 | 0.0571991 | 0.0004551 |
gamma2 | 0.3538185 | 0.0650298 | 0.0000001 |
shape | 10.4085994 | 2.4022373 | 0.0000147 |
Bảng 7: Kết quả mô hình ARMA(2,2)-GJR-Garch(2,2)-Student t chỉ số S&P/TSX cho thấy một số đặc điểm quan trọng về cấu trúc và động thái của dữ liệu.
Tham số mu: là giá trị trung bình của chuỗi lợi suất sau khi đã loại bỏ ảnh hưởng của các thành phần AR và MA.Giá trị rất nhỏ và âm cho thấy mức trung bình của biến đổi trong một khoảng thời gian là không lớn.
Tham số ar1:Hệ số dương cho thấy ho thấy ảnh hưởng tích cực của giá trị trước đó lên chuỗi lợi suất hiện tại.
Tham số ar2: Hệ số âm cho thấy có một sự tương quan ngược chiều giữa giá trị hiện tại và giá trị của kỳ trước.
Tham số ma1:Hệ số âm chỉ ra rằng có một sự kiện tiêu cực của kỳ trước làm cho chuỗi lợi suất hiện tại giảm đi.
Tham số ma2:Hệ số dương chỉ ra rằng có một sự kiện tích cực của hai kỳ trước làm cho chuỗi lợi suất hiện tại tăng theo.
Tham số omega: tuy không có mức ý nghĩa thống kê, nhưng giá trị được ước lượng (0.0000039) cho thấy mức độ biến động cơ bản của chuỗi lợi suất là t, phản ánh rằng trong trường hợp không có cú sốc lớn, lợi suất có xu hướng ổn định với ít biến động.
Tham số alpha1: tuy giá trị thống kê không cao, nhưng hệ số ước lượng là dương cho thấy rằng cú sốc ở kỳ trước không có tác động đáng kể đến sự biến động hiện tại.
Tham số beta1:Giá trị ước lượng rất nhỏ, không có mức ý nghĩa thống kê, cho thấy biến động của kỳ trước không có tác động đáng kể đến biến động hiện tại trong chuỗi lợi suất S&P/TSX.
Tham số gamma1:Giá trị ước lượng là 0.2005350, có ý nghĩa thống kê cao, cho thấy sự hiện diện của hiệu ứng đòn bẩy trong chuỗi lợi suất.
Tham số gamma2: có giá trị ước lượng là 0.3538185, cho thấy rằng biến động hiện tại sẽ tăng lên đáng kể nếu có cú sốc tiêu cực trong kỳ trước đó.
Tham số shape:Giá trị ước lượng của là 10.4085994 cho thấy phân phối Student t có đuôi dày hơn so với phân phối chuẩn,có ý nghĩa thống kê rất cao và có khả năng mô hình hóa các cú sốc lớn, nhưng không quá cực đoan như khi độ tự do quá thấp.
# Trích xuất chuỗi phần dư của chuỗi VNI và SP_TSX
tsx.res <- residuals(tsx.garch22t.fit)/sigma(tsx.garch22t.fit)
fitdist(distribution = "std", tsx.res, control = list())$par
## mu sigma shape
## 0.02500873 1.01200112 10.02507671
t <- pdist(distribution = "std", q = tsx.res, mu = 0.02500873 , sigma = 1.01200112, shape = 10.02507671 )
vni.res <- residuals(vni.garch11sg.fit)/sigma(vni.garch11sg.fit)
fitdist(distribution = "sged", vni.res, control = list())$par
## Warning in .safefunx(tmpv, .solnp_fun, .env, ...):
## solnp-->warning: Inf detected in function call...check your function
## mu sigma skew shape
## 0.02677876 1.01130189 1.07427893 1.14587528
v = pdist("sged",vni.res, mu = 0.02677876, sigma = 1.01130189, skew = 1.07427893 , shape = 1.14587528 )
library(dplyr)
library(kableExtra)
# Kiem dinh Anderson-Darling
library(ADGofTest)
ad_tsx <- ad.test(t, punif)
ad_vni <- ad.test(v, punif)
# Kiểm định Cramer-von Mises
library(goftest)
##
## Attaching package: 'goftest'
## The following object is masked from 'package:ADGofTest':
##
## ad.test
cvm_tsx <- cvm.test(t, punif)
cvm_vni <-cvm.test(v, punif)
#Kiểm định ks-test
ks_tsx <- ks.test(t, punif)
ks_vni <- ks.test(v, punif)
#Trình bày kết quả
mytest <- data.frame(test = c('P_value VNI' ,'P_value S&P-TSX'),
AD = c(ad_vni$p.value, ad_tsx$p.value),
CVM = c(cvm_vni$p.value, cvm_tsx$p.value),
KS = c(ks_vni$p.value,ks_tsx$p.value))
kable(mytest,
caption = " Kết quả các kiểm định cho mô hình phân phối biên", col.names = c("Các kiểm định","Anderson-Darling", "Cramer-von Mises","Kolmogorov-Smirnov"),
format = 'pandoc') %>% kable_styling(
bootstrap_options = c("striped", "hover", "condensed"),
full_width = F)
## Warning in kable_styling(., bootstrap_options = c("striped", "hover",
## "condensed"), : Please specify format in kable. kableExtra can customize either
## HTML or LaTeX outputs. See https://haozhu233.github.io/kableExtra/ for details.
Các kiểm định | Anderson-Darling | Cramer-von Mises | Kolmogorov-Smirnov |
---|---|---|---|
P_value VNI | 0.8143500 | 0.8895588 | 0.9429512 |
P_value S&P-TSX | 0.9785317 | 0.9379209 | 0.9548494 |
Các giá trị P_value cao và lớn hơn mức ý nghĩa từ cả ba kiểm định cho thấy rằng không có bằng chứng thống kê để bác bỏ giả thuyết rằng dữ liệu của các chuỗi tỷ suất VNI và S&P/TSX tuân theo phân phối được giả định trong mô hình. Những kết quả này củng cố kết luận rằng mô hình Copula sẽ là phù hợp với dữ liệu của hai biến này.
library(VineCopula)
a <- BiCopSelect(t, v, familyset= 1:9, selectioncrit="AIC",indeptest = FALSE, level = 0.05)
a
## Bivariate copula: t (par = 0.08, par2 = 10.2, tau = 0.05)
Stu <- BiCopEst(t, v, family = 2, method = "mle", se = T, max.df = 10)
summary(Stu)
## Family
## ------
## No: 2
## Name: t
##
## Parameter(s)
## ------------
## par: 0.08 (SE = 0.03)
## par2: 10 (SE = NA)
## Dependence measures
## -------------------
## Kendall's tau: 0.05 (empirical = 0.04, p value = 0.01)
## Upper TD: 0.01
## Lower TD: 0.01
##
## Fit statistics
## --------------
## logLik: 12.62
## AIC: -21.24
## BIC: -10.68
Khi thực hiện ước lượng Copula ta nhận được kết quả ước lượng là họ Copula Student-t với các giá trị par = 0.08, par2 = 10.2 và tau= 0.05.
Tham số par (0.08): Tham số này biểu thị mức độ phụ thuộc tuyến tính giữa VNI và S&P/TSX. Với giá trị 0.08, chúng ta thấy một mức độ tương quan khá yếu giữa hai thị trường trong bối cảnh bình thường. Điều này cho thấy, trong phần lớn thời gian, thị trường chứng khoán Việt Nam và Canada hoạt động tương đối độc lập.
Tham số par2 (10.2): Degrees of freedom (df) trong Copula Student-t ảnh hưởng đến “độ dày” của đuôi phân phối. Với df = 10.2, phân phối có đuôi khá dày, cho thấy rằng mặc dù thị trường chứng khoán Việt Nam và Canada không thường xuyên phụ thuộc lẫn nhau, nhưng khi có những cú sốc lớn, sự phụ thuộc giữa hai thị trường này có thể trở nên mạnh mẽ hơn. Điều này phù hợp với thực tế khi các cú sốc kinh tế toàn cầu thường tác động đến nhiều thị trường cùng một lúc.
Kendall’s tau (0.05): Giá trị Kendall’s tau thấp cho thấy rằng sự phụ thuộc phi tuyến giữa VNI và S&P/TSX là rất yếu. Điều này có nghĩa là khả năng hai thị trường này cùng di chuyển theo một chiều (lên hoặc xuống) là khá thấp trong các điều kiện bình thường. Tuy nhiên, Copula Student-t vẫn cho phép chúng ta nhận diện những khoảnh khắc đồng biến động mạnh khi các điều kiện thị trường thay đổi đột ngột.
CB <- cbind(t, v)
library(copula)
##
## Attaching package: 'copula'
## The following object is masked from 'package:VineCopula':
##
## pobs
fit <- fitCopula(tCopula(), data = CB, method = "ml")
# Maximum Likelihood Estimation (MLE)
theta <- coef(fit)
library(MASS)
##
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
kde2d_plot <- kde2d(CB[,1], CB[,2], n = 50)
# Vẽ bản đồ nhiệt của hàm mật độ kernel
image(kde2d_plot, main = "Bản đồ nhiệt của hàm mật độ kernel")
# Vẽ các đường đồng mức của hàm mật độ kernel
contour(kde2d_plot, add = TRUE)
Trên bản đồ nhiệt, mỗi điểm đại diện cho một cặp lợi suất của hai thị trường (Canada và Việt Nam) tại một thời điểm nhất định. Màu sắc của các điểm này thể hiện mật độ xuất hiện của các cặp lợi suất trong không gian hai chiều, với:
Vùng mật độ cao (màu sắc đậm hơn) nằm ở góc phần tư phía trên bên phải: Nếu có một vùng mật độ cao trong khu vực này, điều đó cho thấy khi thị trường Canada có lợi suất dương, thị trường Việt Nam cũng có xu hướng đạt lợi suất dương tương ứng. Điều này gợi ý một mối quan hệ đồng biến giữa hai thị trường trong giai đoạn này, có thể là do sự lan tỏa của các yếu tố kinh tế toàn cầu hoặc sự tương quan trong các yếu tố thị trường.
Vùng mật độ cao (màu sắc đậm hơn) ở góc phần tư phía dưới bên trái: Nếu tồn tại vùng mật độ cao ở khu vực này, nó cho thấy khi thị trường Canada chịu lỗ (lợi suất âm), thị trường Việt Nam cũng có xu hướng giảm lợi suất. Điều này củng cố sự đồng biến giữa hai thị trường trong các giai đoạn thị trường toàn cầu suy yếu.
*Vùng mật độ thấp (màu sắc nhạt hơn) ở góc phần tư phía trên bên trái hoặc phía dưới bên phải: Nếu các vùng này có mật độ thấp, điều này có thể cho thấy rằng khi một thị trường có lợi suất dương, thị trường kia có thể không nhất thiết phải có lợi suất âm và ngược lại.
Đường đồng mức (Contour) này có thể cung cấp manh mối về những phạm vi lợi suất cụ thể mà hai thị trường có xu hướng tương tác mạnh mẽ với nhau:
*Kết quả cũng cho thấy có những khu vực mà các đường đồng mức phân tán rộng rãi, chỉ ra sự yếu kém hoặc không rõ ràng trong mối quan hệ giữa lợi suất của hai thị trường. Các khu vực này thể hiện các giá trị lợi suất mà tại đó sự phụ thuộc giữa hai thị trường là không mạnh mẽ, hoặc không có sự tương quan rõ ràng.
library(ggplot2)
ggplot(CB, aes(x = CB[,1], y = CB[,2])) +
geom_point(color = "blue", size = 1) +
labs(title = "Biểu đồ mật độ phân tán Copu",
x = "S&P/TSX",
y = "VNI")
Đồ thị phân tán này là một công cụ quan trọng để trực quan hóa sự phân bố của cặp lợi suất từ hai thị trường chứng khoán, và cũng giúp ta hiểu rõ hơn về cách thức mà hai TTCK Việt Nam và Canada này có thể phụ thuộc lẫn nhau.
Đồ thị cho thấy sự tập trung của các điểm lợi suất tại vùng trung tâm, đặc biệt trong khoảng từ 0.2 đến 0.8 trên cả hai trục. Điều này gợi ý rằng có một mức độ phụ thuộc nhất định giữa hai thị trường tại các mức lợi suất trung bình. Sự phân bố này thể hiện rằng khi lợi suất của thị trường Canada nằm trong khoảng trung bình, lợi suất của thị trường Việt Nam cũng có xu hướng tương tự.
Các vùng phân tán rời rạc ở hai đầu của đồ thị cho thấy rằng khi lợi suất của TTCK Canada nằm ở các mức cực đại hoặc cực tiểu, mối liên hệ giữa hai thị trường có thể trở nên yếu hoặc không rõ ràng. Cụ thể, điều này thể hiện rằng các cú sốc lớn trên thị trường Canada không phải lúc nào cũng kéo theo những biến động tương ứng trên thị trường Việt Nam. Đây là dấu hiệu của sự độc lập tương đối trong một số tình huống kinh tế cụ thể, có thể do các yếu tố nội tại của Việt Nam hoặc sự khác biệt trong phản ứng của hai thị trường đối với các yếu tố quốc tế.
Một điểm đáng chú ý là sự phân bố các điểm không hoàn toàn đối xứng quanh trục trung tâm. Điều này có thể chỉ ra rằng tác động của thị trường Canada lên thị trường Việt Nam không phải lúc nào cũng đồng nhất, và có thể thay đổi tùy thuộc vào các điều kiện kinh tế cụ thể. Chảng hạn, trong một số giai đoạn, khi thị trường Canada tăng trưởng mạnh, thị trường Việt Nam có thể không phản ứng tương ứng với cùng một mức độ tăng trưởng, và ngược lại.
kde2d_plot <- kde2d(CB[,1], CB[,2], n = 55)
persp(kde2d_plot, phi = 50, theta = coef(fit), main = " Đồ thị mật độ của copula Student-t")
Các khu vực của mặt đồ thị có độ cao lớn cho thấy sự phụ thuộc mạnh
giữa biến động của thị trường chứng khoán Canada và Việt Nam. Điều này
có thể báo hiệu rằng khi có biến động lớn ở một thị trường, thị trường
kia cũng có khả năng biến động mạnh theo.
Những khu vực có độ cao thấp trên mặt đồ thị cho thấy sự phụ thuộc yếu
giữa hai thị trường. Điều này có thể được xem như cơ hội để đa dạng hóa
danh mục đầu tư, giảm thiểu rủi ro khi một thị trường gặp biến động mạnh
nhưng không kéo theo thị trường kia.
library(copula)
persp(tCopula(param = Stu$par), dCopula,
col = "lightblue", border = "black", main = " Đồ thị mô phỏng của copula Student-t")
Đồ thị hiển thị mật độ phân bố xác suất liên kết giữa hai biến, tạo
nên một hình ảnh đa chiều về mối quan hệ phức tạp giữa hai TTCK Việt Nam
và Canada. Mỗi điểm trên mặt đồ thị đại diện cho một cặp giá trị của hai
biến t và v, cho thấy xác suất xuất hiện của cặp giá trị đó dưới sự phụ
thuộc của nhau.
Mặc dù mức độ phụ thuộc là 0.08 cho thấy sự tương quan giữa hai thị
trường không quá cao, nhưng vẫn có những khu vực trong đồ thị cho thấy
mức độ tương quan cao hơn bình thường.Đây có thể là thời điểm mà các yếu
tố kinh tế, chính trị hoặc xã hội đặc thù ảnh hưởng đến cả hai thị
trường, dẫn đến mức độ tương quan cao hơn bình thường.
Những khu vực mật độ cao cũng có thể chỉ ra những biến động đột ngột và
bất thường trong mối quan hệ giữa hai thị trường. Việc này là hết sức
quan trọng đối với các nhà đầu tư và nhà quản lý rủi ro khi cần phải
nhận biết và phản ứng kịp thời trước những biến động lớn.
Các khu vực có mật độ cao hơn không chỉ là dấu hiệu của rủi ro mà còn là
cơ hội. Khi hai thị trường có sự tương quan cao trong một khoảng thời
gian nhất định, điều đó có thể báo hiệu cơ hội đầu tư sinh lời cao nếu
nhà đầu tư có thể nhận diện và tận dụng được sự phụ thuộc đó. Những khu
vực này cần được chú ý đặc biệt vì chúng có thể báo hiệu rủi ro hoặc cơ
hội đầu tư mà các nhà đầu tư cần lưu ý.
Bài tiểu luận đã nghiên cứu được mức biến động của TTCK Việt Nam khi
bị tác động bởi TTCK Canada dựa trên hai chuỗi lợi suất là VNI cho Việt
Nam và S&P/TSX cho Canada. Trong giai đoạn năm 2018 đến tháng 7 năm
2024, kết quả nghiên cứu cho thấy mô hình Copula phù hợp là t với hệ số
Kendall là 0.05 cho thấy sự phụ thuộc không đáng kể có nghĩa là khi thị
trường chứng khoán Canada biến động, ảnh hưởng của nó đến thị trường
chứng khoán Việt Nam là không đáng kể. Với giá trị đuôi trên bằng đuôi
dưới là 0.01 cho thấy rằng không chỉ có sự tương quan yếu giữa hai thị
trường trong các điều kiện bình thường, mà ngay cả trong các trường hợp
cực đoan, khả năng hai thị trường cùng trải qua biến động mạnh (dù là
tăng hay giảm) cũng rất thấp.
Điều này có thể giải thích bởi:
Sự khác biệt về mặt kinh tế: Canada là một quốc gia phát triển với nền kinh tế ổn định và đa dạng, trong khi Việt Nam là một quốc gia đang phát triển với nền kinh tế chủ yếu dựa vào nông nghiệp, sản xuất công nghiệp nhẹ, và xuất khẩu. Sự khác biệt lớn về cơ cấu kinh tế này khiến cho các yếu tố tác động lên thị trường chứng khoán của hai quốc gia là khác nhau. Các sự kiện kinh tế tại Canada, chẳng hạn như biến động về giá dầu mỏ (Canada là nước xuất khẩu dầu mỏ lớn) hay thay đổi chính sách tiền tệ, có thể không ảnh hưởng mạnh đến thị trường chứng khoán Việt Nam, nơi mà các yếu tố nội tại như chính sách nội địa và nhu cầu tiêu dùng trong nước có thể đóng vai trò quan trọng hơn.
Sự khác biệt về mức độ phát triển thị trường: Thị trường chứng
khoán Canada đã phát triển và hội nhập vào hệ thống tài chính toàn cầu,
với sự tham gia của nhiều nhà đầu tư quốc tế. Ngược lại, thị trường
chứng khoán Việt Nam vẫn còn đang trong quá trình phát triển và có tính
nội địa hóa cao hơn.
May mắn thay, các nhà quản lý rủi ro có thể ít lo lắng về khả năng các
sự kiện tài chính bất thường tại Canada sẽ kéo theo các sự kiện tương tự
tại Việt Nam. Điều này có thể tạo ra cơ hội để nhà đầu tư tăng cường đa
dạng hóa danh mục đầu tư giữa hai thị trường này mà không phải lo ngại
nhiều về sự phụ thuộc đuôi.
Mặc dù sự phụ thuộc giữa hai thị trường là yếu, điều này không có nghĩa
là không có rủi ro. Bằng chứng cụ thể là trong các giai đoạn khủng hoảng
tài chính toàn cầu, như cuộc khủng hoảng tài chính năm 2008, các thị
trường tài chính có thể trở nên liên kết chặt chẽ hơn do tác động lan
tỏa. Sự gia tăng đồng thời của các yếu tố rủi ro trên toàn cầu có thể
làm tăng sự phụ thuộc giữa các thị trường mà trong điều kiện bình thường
không có sự liên quan chặt chẽ.
Việc tăng cường hợp tác kinh tế, thương mại, và đầu tư giữa Việt Nam
và Canada sẽ tạo ra nhiều cơ hội mới cho cả hai thị trường chứng khoán.
Các chính sách hỗ trợ đầu tư song phương và các hiệp định thương mại tự
do có thể giúp tăng cường luồng vốn đầu tư giữa hai quốc gia, làm tăng
sự tương tác giữa các nhà đầu tư của hai nước. Khi dòng vốn đầu tư tăng
lên, sự liên kết giữa hai thị trường chứng khoán cũng có thể tăng, từ đó
thay đổi cấu trúc phụ thuộc giữa chúng.
Để tăng cường sự hấp dẫn của thị trường chứng khoán Việt Nam đối với các
nhà đầu tư quốc tế, cần cải thiện tính minh bạch và hiệu quả của thị
trường. Điều này bao gồm việc hoàn thiện khung pháp lý, tăng cường giám
sát và kiểm soát, và đảm bảo tính chính xác và kịp thời của thông tin
tài chính. Việc tạo ra một môi trường đầu tư minh bạch và công bằng sẽ
giúp thu hút thêm nguồn vốn từ nước ngoài, đồng thời tăng cường mối liên
kết với các thị trường quốc tế khác.
Trong bối cảnh thị trường chứng khoán thường xuyên biến động, các nhà
đầu tư nên tập trung vào các chiến lược đầu tư dài hạn. Sự phân tích
bằng phương pháp Copula cho thấy rằng các yếu tố vĩ mô có thể ảnh hưởng
đến mối quan hệ giữa các thị trường trong dài hạn, do đó, việc nhận diện
sớm các xu hướng dài hạn sẽ giúp tối ưu hóa lợi nhuận và giảm thiểu rủi
ro. Các chiến lược đầu tư dài hạn không chỉ giúp bảo vệ danh mục đầu tư
trước các biến động ngắn hạn mà còn tạo cơ hội tận dụng các xu hướng
phát triển bền vững trong nền kinh tế và thị trường tài chính.
Phương pháp Copula, đặc biệt là Copula Student-t, là một công cụ mạnh mẽ
trong phân tích mối quan hệ giữa các thị trường tài chính. Việc tiếp tục
nghiên cứu và ứng dụng phương pháp này sẽ giúp cải thiện khả năng dự báo
và quản lý rủi ro. Các tổ chức tài chính và học viện nghiên cứu cần đầu
tư vào việc phát triển các mô hình Copula phức tạp hơn như Archimax
copula, có khả năng mô tả tốt hơn mối quan hệ phi tuyến tính và sự phụ
thuộc đuôi giữa các thị trường. Điều này không chỉ giúp nâng cao chất
lượng phân tích mà còn tạo ra các công cụ mới cho quản lý rủi ro và đầu
tư.