Đề tài: Mô phỏng giá trị rủi ro danh mục đầu tư cổ phiếu thuộc nhóm nghành ngân hàng
Link tiểu luận (pdf): https://drive.google.com/file/d/1CHvEnZyBSc57Gnz0s5vykIXqeb6VbTNo/view?usp=drive_link
Đầu tiên, tôi xin cảm ơn trường Đại học Tài chính – Marketing đã đưa bộ môn “Mô phỏng ngẫu nhiên” vào chương trình đào tạo. Đặc biệt, tôi bày tỏ lòng biết ơn và tri ân sâu sắc đến giảng viên hướng dẫn Th.S Trần Mạnh Tường. Để có thể hoàn thiện đề tài tiểu luận kết thúc học phần cả về nội dung lẫn hình thức trình bày, bên cạnh sự nổ lực của bản thân, tôi luôn nhận được sự quan tâm, hướng dẫn tận tình từ thầy Tường. Nhờ có sự đóng góp, chia sẻ từ thầy mà tôi có thể hoàn thiện bài tiếu luận một cách tốt nhất. Những kiến thức được thầy truyền đạt trong học kì này đã giúp tôi trưởng thành hơn về mặt kiến thức cũng như vững hành trang bước vào chuyên nghành của mình sau này.
Tuy nhiên, dù đã cố gắng hết sức để có thể hoàn thiện đề tài nghiên cứu nhưng chắc chắn bài tiểu luận này sẽ khó tránh khỏi những sai sót và luôn tồn đọng nhiều hạn chế. Chính vì vậy, nhóm luôn mong nhận được ý kiến đóng góp từ thầy để đề tài có thể hoàn thiện hơn.
Lời cuối cùng, chúng tôi kính chúc thầy sẽ có thật nhiều sức khỏe, hạnh phúc và thành công trên con đường giảng dạy.
Theo Nguyễn (2015), đã hơn 10 năm kể từ khi thị trường chứng khoán Việt Nam đi vào hoạt động. Với 2 mã chứng khoán niêm yết đầu tiên là REE và SAM, cho đến nay đã có khoảng 700 công ty niêm yết. Điều đó cho thấy rằng, thị trường chứng khoán Việt Nam ngày càng phát triển. Hoạt động đầu tư vào chứng khoán vốn tại Việt Nam hiện nay là khá phổ biến. Tuy nhiên, phần đông nhà đầu tư chỉ mua bán theo cảm tính, quyết định đầu tư đa phần chịu ảnh hưởng của các thông tin ngắn hạn. Chính vì vậy mà thị trường chứng khoán Việt Nam có tính đột biến cao về giá. Điều này ảnh hưởng đến sự ổn định và phát triển bền vững của thị trường chứng khoán Việt Nam. Khi quyết định đầu tư vào bất kỳ chứng khoán nào nhà đầu tư cũng đều cần có những phân tích kỹ lưỡng về rủi ro, đặc biệt là rủi ro danh mục đầu tư và tỷ suất sinh lợi.
Báo cáo rủi ro toàn cầu quý I năm 2020 của Diễn đàn Kinh tế thế giới đã xếp sự lây lan của dịch bệnh truyền nhiễm ở vị trí thứ 10 trong số các rủi ro khác nhau có thể làm suy yếu hệ thống kinh tế (Anh và Hương, 2021). Kết quả của đợt bùng phát COVID-19 đã làm tê liệt các nền kinh tế lớn với cú sốc cả về cung và cầu và nhiều thị trường tài chính đã suy giảm tới 20% (Rizvi & cộng sự, 2020). Hầu hết các thị trường tài chính đều đã trải qua những đợt ngừng hoạt động đột ngột và biến động mạnh (Anh và Hương, 2021).
Do vậy, trong một thị trường phát triển, với các giả thiết về đa dạng hóa đầu tư hiệu quả, rủi ro danh mục đầu tư là rủi ro còn lại mà các nhà quản lý cần tập trung xác định, đo lường và đưa ra được các biện pháp phòng ngừa. “Không nên để tất cả trứng vào cùng một rổ” là một nguyên tắc hết sức quan trọng trong đầu tư. Nói cách khác, mỗi nhà đầu tư cần đa dạng hóa những vị thế của mình để hạn chế rủi ro ở mức thấp nhất. Xây dựng một danh mục và quản lý tốt rủi ro của nó trở thành một vấn đề hết sức quan trọng và cần thiết để nâng cao hiệu quả đầu tư (Yết, 2008).
Ở những nước phát triển, rất nhiều lý thuyết danh mục hiện đại đã được nghiên cứu, ứng dụng và kiểm nghiệm; trong khi ở Việt Nam, cụm từ “quản lý danh mục” vẫn còn là một khái niệm xa lạ với hầu hết nhà đầu tư cá nhân và các doanh nghiệp vừa và nhỏ. Tuy nhiên, những mất mát và thất bại trong kinh doanh vì sự tác động của khủng hoảng và bất ổn bất kinh tế, sự thay đổi của chính sách vĩ mô, sự biến động giá của một số loại hàng hóa cơ bản … đã buộc những nhà quản lý phải quan tâm đến rủi ro của tài sản mà họ sở hữu (Yết, 2008). Có rất nhiều phương pháp để quản lý rủi ro cho danh mục và VaR (Giá trị rủi ro) là một trong những nền tảng lý thuyết để quản trị rủi ro danh mục. Cho đến nay vẫn chưa có những nghiên cứu chi tiết đề xuất việc ứng dụng VaR một cách có hệ thống vào chương trình quản trị rủi ro danh mục tại Việt Nam. Và đó cũng chính là lý do tôi chọn đề tài “Mô phỏng giá trị rủi ro danh mục đầu tư cổ phiếu thuộc nhóm nghành ngân hàng”. thông qua mô hình Value at Risk (VaR). Để có thể mô phỏng một cách cụ thể hóa, tôi sử dụng 6 mã cổ phiếu trong nhóm nghành ngân hàng để thực hiện mô phỏng là MBB, VIB, VCB, BID, ACB, VPB.
Đề tài “Mô phỏng giá trị rủi ro danh mục đầu tư cổ phiếu thuộc nhóm nghành ngân hàng” hướng tới xây dựng và thực hiện mô hình để đánh giá và quản lý rủi ro trong danh mục đầu tư cổ phiếu ngân hàng. Trong nghiên cứu này, tôi sẽ tiến hành xác định các yếu tố rủi ro tiềm ẩn và phát triển mô hình VaR để đo lường rủi ro tài chính. Thông qua việc đánh giá hiệu quả đa dạng hóa và kiểm tra tính ổn định của mô hình, nhằm đưa ra những chiến lược quản lý rủi ro nhằm tối ưu hóa danh mục đầu tư cổ phiếu ngân hàng và giúp các nhà đầu tư đạt được mục tiêu đầu tư một cách hiệu quả và bền vững. Kết quả của nghiên cứu sẽ cung cấp thông tin quan trọng và gợi ý hữu ích cho các nhà đầu tư và quản lý rủi ro trong việc ra quyết định đầu tư thông minh và bảo vệ tài sản trong bối cảnh biến động của thị trường tài chính.
Đối tượng nghiên cứu: Cổ phiếu thuộc nhóm nghành ngân hàng MBB, VIB, VCB, VPB, BID, ACB.
Phạm vi nghiên cứu: Giai đoạn 02/01/2018 đến 03/08/2023
Bài tiểu luận sử dụng phương pháp Monte Carlo để tính giá trị rủi ro của danh mục đầu tư nhóm ngành ngân hàng.
Nghiên cứu được chia thành năm phần chính để đảm bảo tính logic và hiệu quả trong việc truyền tải thông tin. Chương 1 giới thiệu. Chương 2 tổng quan lý thuyết. Chương 3 tổng quan nghiên cứu. Chương 4 kết quả nghiên cứu. Chương 5 kết luận và khuyến nghị.
Thị trường chứng khoán là nơi diễn ra các hoạt động như giao dịch mua bán, trao đổi cổ phiếu hoặc trái phiếu giữa các nhà đầu tư. Các hoạt động này đều được thông qua môi giới là các công ty chứng khoán trên thị trường đó (Nga, 2022). Thị trường chứng khoán có thể bao gồm các loại cổ phiếu được niêm yết trên sàn chứng khoán hoặc các loại cổ phiếu giao dịch không công khai như chia cổ phần thông qua việc gọi vốn cộng đồng. Đây cũng là thị trường chịu sự quản lý của các cơ quan, tổ chức nhà nước bao gồm Ủy ban Chứng khoán Nhà nước (SSC), Sở Giao dịch Chứng khoán Hồ Chí Minh (HoSE) cùng Sở Giao dịch Chứng khoán Hà Nội (HNX). Bên cạnh đó, việc lưu trữ các thông tin về chứng khoán sẽ do trung tâm Lưu ký Chứng khoán (VSD) chịu trách nhiệm.
Thị trường chứng khoán được chia thành 2 loại: thị trường sơ cấp và thị trường thứ cấp. Thị trường sơ cấp là nơi mà lần đầu phát hành cổ phiếu từ công ty để thu hút một nguồn vốn đầu tư nhằm huy động ít vốn trên thị trường chứng khoán. Và phần lớn những người tham gia mua trên thị trường này là các tổ chức lớn hay quỹ đầu tư. Thị trường chứng khoán thứ cấp lại là địa điểm mà diễn ra các trạng thái mua đi bán lại cổ phiếu sau khi được phát hành sơ cấp. Người mua tại thị trường sơ cấp sẽ tiến hành mua bán đối với các nhà đầu tư chứng khoán khác trên thị trường. Do vậy, tiền mới không được sinh ra mà sẽ chỉ thay đổi quyền sở hữu giữa bên mua và bên bán. Đây cũng là nơi các nhà đầu tư cá nhân có thể tham gia giao dịch chứng khoán.
Ví dụ, nếu đầu tư mua cổ phiếu VNM (Vinamilk) với giá 50.000đ/CP. Cổ phiếu đó tăng giá lên 70.000đ/CP, nhà đầu tư sẽ có lợi nhuận là 20.000đ/CP. Tương tự như vậy nếu danh mục đầu tư có nhiều cổ phiếu hơn. Trong trường hợp danh mục đầu tư có 100 cổ phiếu, nhà đầu tư sẽ có 2.000.000đ lợi nhuận.(Fiingroup, 2020)
Theo Mishkin (2018) ngân hàng thương mại là một tổ chức tài chính cung cấp một loạt dịch vụ ngân hàng cá nhân, doanh nghiệp và chính phủ. Các dịch vụ này bao gồm việc tiếp nhận tiền gửi, cấp các khoản vay và cung cấp các sản phẩm đầu tư cơ bản như chứng chỉ tiền gửi. Ngân hàng thương mại đóng một vai trò quan trọng trong nền kinh tế bằng cách huy động tiết kiệm và định hướng chúng vào các đầu tư sản xuất.
Ở một nghiên cứu khác, Fabozzi và cộng sự (2010) cho rằng ngân hàng thương mại được hiểu là một tổ chức tài chính có nhiệm vụ cung cấp các dịch vụ ngân hàng đa dạng cho cá nhân, doanh nghiệp và chính phủ. Các dịch vụ này bao gồm việc tiếp nhận tiền gửi, cấp các khoản vay và cung cấp các sản phẩm đầu tư cơ bản. Ngân hàng thương mại đóng vai trò quan trọng trong việc thu hút và sử dụng tiền gửi, từ đó định hướng nguồn tiền này vào các hoạt động đầu tư mang lại lợi nhuận.
Tương tự, Saunders và Cornett (2014) cũng cho rằng ngân hàng thương mại là một tổ chức tài chính quản lý rủi ro và cung cấp các dịch vụ ngân hàng cho khách hàng. Các chức năng chính của ngân hàng thương mại bao gồm tiếp nhận tiền gửi từ khách hàng, cung cấp các khoản vay và dịch vụ tín dụng, thực hiện các giao dịch thanh toán, quản lý rủi ro tài chính và cung cấp các dịch vụ tài chính khác như quản lý tài sản và đầu tư. Ngân hàng thương mại đóng vai trò quan trọng trong hệ thống tài chính và kinh tế, ảnh hưởng đến việc huy động và sử dụng vốn tài chính trong xã hội.
Từ các khái niệm trên, ngân hàng thương mại được hiểu là một tổ chức tài chính có chức năng cung cấp các dịch vụ ngân hàng cho khách hàng và doanh nghiệp. Ngân hàng thương mại chủ yếu hoạt động dựa trên việc thu thập tiền gửi từ khách hàng và cung cấp các khoản vay, dịch vụ thanh toán và các dịch vụ tài chính khác. Mục tiêu chính của ngân hàng thương mại là tạo ra lợi nhuận từ việc tạo và quản lý các khoản tiền gửi và cho vay
Rủi ro danh mục đầu tư là khái niệm trong lĩnh vực tài chính và đầu tư, liên quan đến việc đánh giá và quản lý rủi ro khi đầu tư vào nhiều loại tài sản khác nhau, thay vì chỉ đầu tư vào một loại duy nhất. Khi bạn xây dựng một danh mục đầu tư đa dạng, các tài sản này thường có tương quan thấp hoặc trái ngược nhau, giúp giảm thiểu tác động tiêu cực từ biến động giá của một tài sản đến toàn bộ danh mục.
Mục tiêu của rủi ro danh mục đầu tư là đạt được sự cân đối giữa lợi nhuận và rủi ro. Khi đầu tư vào nhiều lĩnh vực khác nhau, nhà đầu tư có thể tận dụng lợi ích của đa dạng hóa để bảo vệ danh mục trước những biến động không mong đợi trên thị trường. Điều này có thể giúp tăng cơ hội sinh lời và giảm thiểu tác động tiêu cực đến tài sản khi một phần trong danh mục không phát triển như kỳ vọng.
Tuy nhiên, rủi ro danh mục đầu tư không chỉ đơn giản là việc đa dạng hóa. Nhà đầu tư cần cân nhắc kỹ lưỡng hệ số tương quan giữa các tài sản trong danh mục để đảm bảo rằng chúng không di chuyển cùng nhau khi có biến động thị trường. Điều này đòi hỏi việc đánh giá tỉ mỉ và quản lý rủi ro để giữ cho danh mục ổn định trong các điều kiện thị trường khác nhau.
Một trong những thách thức của rủi ro danh mục đầu tư là rủi ro hệ thống, xuất phát từ những yếu tố tác động đến toàn bộ thị trường hoặc ngành kinh tế. Rủi ro này không thể đạt được bằng cách đa dạng hóa danh mục và thường cần các biện pháp khác như theo dõi sát sao tình hình thị trường và áp dụng các chính sách quản lý rủi ro toàn cầu.
Tóm lại, rủi ro danh mục đầu tư là khái niệm quan trọng để đánh giá và quản lý rủi ro khi đầu tư vào nhiều loại tài sản khác nhau. Đa dạng hóa danh mục và cân nhắc kỹ lưỡng về tương quan giữa các tài sản là các yếu tố quan trọng trong việc giảm thiểu rủi ro và tăng cơ hội sinh lời.
Ying & cộng sự (2004) đã ứng dụng phương pháp VaR đối với việc quản trị rủi ro trên thị trường chứng khoán Trung Quốc. Theo đó, tác giả đã xác định giá trị dự tính VaR và so sánh với mức thu nhập thực tế trên thị trường chứng khoán Trung Quốc, với mức độ tin cậy 95%, để chỉ ra những rủi ro trên thị trường chứng khoán, từ đó đề xuất những công cụ quản trị rủi ro thích hợp.
Nghiên cứu của Luo Dancheng & Zhou Juan (2010) về thị trường cổ phiếu Trung Quốc lại đưa ra một kết luận khác. Nhóm tác giả này đã lựa chọn chỉ số Shanghai negotiable securities Composite Index để tính toán giá trị VaR. Nhóm tác giả tính toán giá trị VaR bằng cả 3 phương pháp. Kết quả thu được từ việc ước lượng VaR của 3 phương pháp là xấp xỉ nhau. Tuy nhiên, khi tiến hành kiểm định tính phù hợp của mô hình xác định VaR thì ba giá trị ước tính được lại không thỏa mãn, chúng đánh giá quá thấp hoặc đánh giá quá cao rủi ro thực tế.
Ứng dụng VaR để đo lường rủi ro hệ thống đã được Mansur Masih (2010) thực hiện trên các thị trường chứng khoán mới nổi của các nước thuộc Vùng Vịnh (Gulf Stock Markets). Trong đó, tác giả đo lường rủi ro hệ thống bằng hệ số bêta với dữ liệu sử dụng có tần suất thời gian khác nhau trong bối cảnh của các nước thuộc Vùng Vịnh (dữ liệu ngày, dữ liệu tuần, dữ liệu tháng). Kết quả cho thấy, hệ số bêta khi được tính bằng một bộ dữ liệu nhưng có tần suất khác nhau lại tạo ra các mức giá trị bêta \((\beta)\) rất chênh lệch nhau, và không xác định được rõ rủi ro hệ thống của thị trường. Điều này là do thị trường chứng khoán của các quốc gia này kém phát triển, tính thanh khoản không cao, chi phí giao dịch lớn và còn bị can thiệp bởi nhiều nhà đầu tư cá nhân. Để làm tăng tính chính xác trong việc xác định và đo lường rủi ro hệ thống trong đầu tư chứng khoán, tác giả đã phân tích tác động của các biến động thị trường với các bộ dữ liệu có tần suất thời gian khác nhau và tính toán các giá trị tại mức rủi ro (VaR). Các giá trị VaR đo được với các dữ liệu có tần suất thời gian khác nhau cho thấy, rủi ro hệ thống có xu hướng bộc lộ rõ nét hơn với các số liệu được sử dụng với tần suất cao hơn. Dữ liệu càng chi tiết, tần suất của các quan sát càng nhiều càng cho thấy sự tập trung của các rủi ro hệ thống. Điều này rất có ý nghĩa trong việc nghiên cứu và định hướng chính sách.
Javed Iqbal & cộng sự (2010) đặc biệt quan tâm tới mức độ ứng dụng của phương pháp VaR trong ước lượng và dự báo rủi ro hệ thống trong đầu tư cổ phiếu tại thị trường cổ phiếu Pakistan. Các tác giả đã sử dụng chuỗi dữ liệu theo ngày của Sở giao dịch chứng khoán Karachi (chỉ số KSE Index) từ năm 1992 đến 2008. Sau khi tiến hành các phương pháp để ước lượng VaR và tiến hành kiểm định sự phù hợp của các ước lượng, nhóm tác giả đã kết luận ước lượng VaR sẽ chính xác hơn nếu sử dụng mô hình GARCH (1,1) để ước lượng biến động lợi nhuận của chỉ số KSE tại mức độ tin cậy là 95%. Ngoài ra, dựa trên xử lý chuỗi dữ liệu theo tháng của 232 mã cổ phiếu trên Sở giao dịch chứng khoán Karachi, nhóm tác giả cũng chỉ ra những danh mục đầu tư có giá trị VaR càng cao thì lại có tỷ suất lợi nhuận bình quân càng cao. Kết quả này đã một lần nữa khẳng định mối quan hệ giữa giá trị rủi ro VaR và lợi nhuận bình quân.
Huệ và cộng sự (2015) nghiên cứu về mô hình giá trị chịu rủi ro (VaR) và ứng dụng trong việc đo lường rủi ro hệ thống trong đầu tư cổ phiếu niêm yết trên thị trường chứng khoán Việt Nam. Trong bài viết, nhóm tác giả lựa chọn tính toán VaR cho chỉ số ngành Dược phẩm và chỉ số cổ phiếu Vinamilk. Nghiên cứu cho thấy VaR là một công cụ hữu ích cho các nhà đầu tư trong việc đánh giá rủi ro hệ thống trên thị trường chứng khoán Việt Nam. Việc thống nhất công cụ sử dụng trong đo lường rủi ro hệ thống sẽ giúp các nhà đầu tư nâng cao khả năng dự đoán những xu thế của thị trường.
Anh và Hương (2021) xem xét hiệu quả hoạt động của các quỹ đầu tư trên thị trường chứng khoán (TTCK) Việt Nam trong giai đoạn COVID-19 sử dụng thước đo hệ số Sharp điều chỉnh và tỷ lệ phần bù rủi ro trên giá trị rủi ro RVaR. Kết quả nghiên cứu cho thấy phần lớn các quỹ đầu tư có kết quả biến động khá mạnh trong làn sóng dịch bệnh đầu tiên ở Việt Nam với hai chỉ số đo lường đều nhận giá trị âm lớn và sự biến động này giảm ở các làn sóng dịch bệnh tiếp theo. Bên cạnh đó, hiệu quả hoạt động của các quỹ đầu tư khác nhau biến động không giống nhau trong bối cảnh dịch bệnh COVID-19. Cụ thể, quỹ hoán đổi danh mục trong các làn sóng dịch bệnh có kết quả hoạt động tốt hơn so với các quỹ mở trên thị trường chứng khoán Việt Nam.
VaR (Value at Risk) là một chỉ số quan trọng trong lĩnh vực tài chính và đầu tư, được sử dụng để đánh giá rủi ro trong các danh mục đầu tư hoặc tài sản tài chính. Nó đo lường mức tổng giá trị mà một danh mục đầu tư hoặc tài sản có thể mất trong một khoảng thời gian cụ thể với một mức xác suất nhất định.
VaR được xác định dựa trên mức xác suất được xác định trước, chẳng hạn như 1%, 5%, hoặc 10%. Với mức VaR 5% (phổ biến trong các ứng dụng tài chính), nghĩa là đánh giá khả năng mất mát tối đa với xác suất 5%.
Có nhiều phương pháp để tính toán VaR, bao gồm:
Phương pháp Historical (lịch sử): Dựa trên dữ liệu lịch sử của lợi nhuận hoặc biến động giá để xác định giá trị của VaR.
Phương pháp phân tích - hiệp phương sai (Variance-Covariance Method): Dựa trên thông tin về phương sai và hiệp phương sai của các tài sản trong danh mục để tính toán VaR.
Phương pháp mô phỏng Monte Carlo: Sử dụng mô phỏng các quá trình ngẫu nhiên để tính toán VaR.
VaR cung cấp cho các nhà đầu tư và các tổ chức tài chính một công cụ quan trọng để đánh giá rủi ro và quản lý rủi ro trong các hoạt động đầu tư và giao dịch tài chính. Nó giúp người quản lý tài chính hiểu rõ các mức rủi ro tiềm năng và đưa ra các quyết định đúng đắn về việc quản lý rủi ro và xác định các biện pháp bảo vệ tối ưu cho danh mục hoặc tài sản của họ.
Phương pháp phân tích phương sai - hiệp phương sai (Variance-Covariance Method) là một công cụ quan trọng trong việc tính toán giá trị rủi ro (Value at Risk - VaR) trong lĩnh vực tài chính. Phương pháp này dựa trên việc sử dụng thông tin về phương sai và hiệp phương sai của các tài sản trong danh mục đầu tư để đánh giá rủi ro tổng thể.
Đầu tiên, ta thu thập dữ liệu lịch sử về lợi nhuận hoặc biến động giá của các tài sản trong danh mục trong một khoảng thời gian quan tâm. Tiếp theo, tính toán phương sai của từng tài sản để đo lường mức độ biến động riêng lẻ của chúng. Sau đó, ta tính toán hiệp phương sai giữa các cặp tài sản để đo lường mức độ biến động chung giữa chúng.
Tiếp theo, xây dựng danh mục đầu tư bằng cách gán trọng số cho từng tài sản. Sau đó, tính toán phương sai và hiệp phương sai của danh mục dựa trên các trọng số và phương sai, hiệp phương sai của các tài sản thành phần.
Cuối cùng, sử dụng phương sai và hiệp phương sai của danh mục để tính toán VaR với mức xác suất cụ thể, chẳng hạn như 5% hoặc 1%. VaR sẽ cho ta biết mức tổng giá trị rủi ro của danh mục hoặc tài sản với khả năng mất mát tối đa trong khoảng thời gian quan tâm.
Phương pháp phân tích - hiệp phương sai đơn giản và tiện lợi, tuy nhiên, cần lưu ý rằng nó dựa trên giả định về phân phối chuẩn của dữ liệu, có thể không phù hợp với các tình huống phức tạp hơn có phân phối không chuẩn. Do đó, trong thực tế, việc kiểm tra và chọn lựa phương pháp VaR phù hợp với dữ liệu là rất quan trọng để đảm bảo tính chính xác và đáng tin cậy của kết quả đánh giá rủi ro.
Phương pháp lịch sử (Historical Method) là một trong các phương pháp sử dụng để tính toán giá trị rủi ro trong lĩnh vực tài chính và đầu tư. Cụ thể, phương pháp này được sử dụng để tính toán Value at Risk (VaR) - giá trị rủi ro - của một danh mục đầu tư hoặc tài sản dựa trên dữ liệu lịch sử về biến động giá hoặc lợi nhuận của tài sản đó trong quá khứ.
Cách thức tính toán VaR bằng phương pháp lịch sử khá đơn giản. Đầu tiên, thu thập dữ liệu giá hoặc lợi nhuận hàng ngày của tài sản trong một khoảng thời gian quan tâm. Tiếp theo, sắp xếp dữ liệu này từ nhỏ đến lớn tạo thành một phân phối tỷ suất lịch sử. Cuối cùng, VaR được tính bằng cách chọn giá trị percentile thứ \(100 \times (1-\alpha)\) trong phân phối, với \(\alpha\) là mức xác suất cụ thể (thường là 5% hoặc 1%).
Ví dụ, nếu chúng ta muốn tính VaR 5% cho một danh mục đầu tư, ta sẽ xác định giá trị percentile thứ \(100 \times (1-0.05) = 95\) trong phân phối tỷ suất lịch sử. Điều này có nghĩa là với xác suất 5%, danh mục có khả năng mất tối đa 95% giá trị của nó trong một khoảng thời gian xác định.
Phương pháp lịch sử có ưu điểm là dễ thực hiện và không cần phải giả định về phân phối của dữ liệu. Tuy nhiên, nó cũng có nhược điểm là không đảm bảo tương lai sẽ phản ánh cùng một biểu đồ lịch sử và không đưa ra thông tin về tail risk - khả năng mất mát vượt quá VaR. Do đó, thường được sử dụng kết hợp với các phương pháp khác để đánh giá và quản lý rủi ro một cách toàn diện hơn.
Phương pháp mô phỏng Monte Carlo là một công cụ quan trọng trong lĩnh vực tính toán và thống kê, được sử dụng để xấp xỉ giá trị của các biến ngẫu nhiên phức tạp hoặc tính toán giá trị của các hàm phức tạp. Cách thức hoạt động của phương pháp này dựa trên việc tạo ra các số ngẫu nhiên và mô phỏng các quá trình ngẫu nhiên có liên quan.
Bằng cách sử dụng phương pháp Monte Carlo, nhà đầu tư có thể tiến hành mô phỏng các quá trình phức tạp mà không cần giải phương trình hay tính toán phức tạp bằng tay. Thay vào đó là tạo ra các mẫu ngẫu nhiên, thực hiện mô phỏng và tính toán giá trị tương ứng. Sau đó lấy trung bình của các giá trị tính được để đưa ra kết quả xấp xỉ.
Phương pháp Monte Carlo có ứng dụng rộng rãi trong nhiều lĩnh vực như tài chính, khoa học dữ liệu, kỹ thuật và y học. Nó cho phép chúng ta tiến hành các mô phỏng số lượng lớn để đưa ra kết quả chính xác hơn và giải quyết các vấn đề phức tạp một cách hiệu quả. Sự linh hoạt và khả năng ứng dụng của phương pháp này làm cho nó trở thành một công cụ hữu ích trong việc nghiên cứu và giải quyết các vấn đề thực tế.
Phân phối Poisson thường được sử dụng để mô hình hóa số lượng sự kiện xảy ra trong một khoảng thời gian hoặc không gian cố định. Ví dụ, trong lĩnh vực kinh doanh, phân phối Poisson có thể được sử dụng để dự đoán số lượng khách hàng đến cửa hàng trong một giờ hoặc số lượng cuộc gọi điện thoại được nhận trong một ngày. Trong y học, nó có thể được áp dụng để nghiên cứu tần suất các sự kiện y tế như số lượng ca nhiễm bệnh trong một khu vực trong một khoảng thời gian nhất định.
Hàm mật độ xác suất:
\(f(x)=\frac{{\lambda}^x}{x!}e^{-\lambda}\)
Trong đó:
\(e\) là số Euler (2.71828…)
\(\lambda\) (lamda) là tham số dương duy nhất của phân phối Poisson, biểu thị số trung bình của các sự kiện xảy ra trong một khoảng thời gian hoặc không gian cố định.
Thực hiện mô phỏng ngẫu nhiên dữ liệu có phân phối Poisson gồm 10000 quan sát với lamda bằng 1. Gán tên cho dữ liệu là Poisson và sử dụng lệnh rpois để thực hiện mô phỏng.
## Installing package into 'C:/Users/HP/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'rcompanion' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\HP\AppData\Local\Temp\RtmpIjILvr\downloaded_packages
## Warning: package 'rcompanion' was built under R version 4.3.1
plotNormalHistogram(Poisson, col = "lavender", prob= TRUE,
main = "Histogram of Poisson distribution",xlab = "Poisson",
length = 1000, linecol="lightblue",lwd=2)Nhìn vào biểu đồ tần suất của phân phối trên ta thấy các giá trị nằm trong khoảng từ 0 đến 1 xuất hiện nhiều nhất và đồ thị bị lệch về phía phải
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 0.000 1.000 1.018 2.000 6.000
Từ kết quả thống kê mô tả cho thấy giá trị nhỏ nhất của dữ liệu là 0; giá trị lớn nhất là 73; giá trị trung bình là 1,014; 25% dữ liệu nhỏ hơn 0 (tứ phân vị thứ nhất) ;50% dữ liệu nhỏ hơn 1 (tứ phân vị thứ 2); 75% dữ liệu nhỏ hơn 2 (tứ phân vị thứ 3).
## [1] 1.040365
## [1] 1.019983
Giá trị phương sai của dữ liệu là 0.9951978. Độ lệch chuẩn là 0.997596 cho thấy mức độ đồng đều của dữ liệu so với giá trị trung bình
## Installing package into 'C:/Users/HP/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'e1071' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'e1071'
## Warning in file.copy(savedcopy, lib, recursive = TRUE): problem copying
## C:\Users\HP\AppData\Local\R\win-library\4.3\00LOCK\e1071\libs\x64\e1071.dll to
## C:\Users\HP\AppData\Local\R\win-library\4.3\e1071\libs\x64\e1071.dll:
## Permission denied
## Warning: restored 'e1071'
##
## The downloaded binary packages are in
## C:\Users\HP\AppData\Local\Temp\RtmpIjILvr\downloaded_packages
## Warning: package 'e1071' was built under R version 4.3.1
## [1] 0.9934186
Hệ số độ lệch (skewness) là 0.9752355, hệ số độ nhọn dương cho thấy dữ liệu có xu hướng lệch về bên phải (phân phối lệch phải)
## Warning: package 'e1071' is in use and will not be installed
## [1] 0.8812396
Hệ số độ nhọn (kurt) là 0.8469135 nhỏ hơn 3 và dương cho thấy phân phối có xu hướng có đỉnh nhọn và đuôi mỏng hơn so với phân phối chuẩn (đỉnh thấp hơn).
Phân phối Geometric thường được sử dụng để mô hình hóa số lần thử nghiệm đến khi xảy ra thành công đầu tiên. Ví dụ, trong lĩnh vực tiếp thị, phân phối Geometric có thể được dùng để tính xác suất một khách hàng thực hiện hành động cụ thể (ví dụ như mua hàng) trong số các lần thăm trang web của họ. Trong kỹ thuật và sản xuất, nó có thể được áp dụng để dự đoán số lượng sản phẩm được sản xuất trước khi gặp phải lỗi đầu tiên trong quá trình sản xuất.
Hàm mật độ xác suất:
\(f(x)=p(1-p)^{x-1}\)
Trong đó:
\(p\) là xác suất thành công trong mỗi lần thử nghiệm đơn lẻ.
\(x\) là số lần thử nghiệm cho đến khi thành công xảy ra lần đầu tiên.
Thực hiện mô phỏng ngẫu nhiên dữ liệu có phân phối Poisson gồm 10000 quan sát với prob bằng 0.1. Gán tên cho dữ liệu là Poisson và sử dụng lệnh rgeom để thực hiện mô phỏng.
library(rcompanion)
plotNormalHistogram(Geometric, col = "lavender", prob= TRUE,
main = "Histogram of Geometric distribution",xlab = "Geometric",
length = 1000, linecol="lightblue",lwd=2)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 2.000 6.000 9.079 13.000 87.000
Từ kết quả thống kê mô tả cho thấy giá trị nhỏ nhất của dữ liệu là 0; giá trị lớn nhất là 86,000 ; giá trị trung bình là 8,997; 25% dữ liệu nhỏ hơn 2 (tứ phân vị thứ nhất) ;50% dữ liệu nhỏ hơn 6 (tứ phân vị thứ 2); 75% dữ liệu nhỏ hơn 13 (tứ phân vị thứ 3).
## [1] 91.0078
## [1] 9.539801
Giá trị phương sai của dữ liệu là 90,33342 Độ lệch chuẩn là 9,50439. Phân phối có mức độ phân tán khá rộng (phương sai cao) và độ biến động xung quanh giá trị trung bình là khoảng 9.41 (độ lệch chuẩn).
## [1] 1.998041
Hệ số skewness bằng 2,072152 dương, dữ liệu có xu hướng lệch về bên phải (phân phối lệch phải), tức là có giá trị lớn hơn nhiều so với giá trị trung vị (median).
## [1] 5.781474
Phân phối có giá trị kurtosis bằng 6,647828 lớn hơn 3, do đó phân phối có xu hướng có đỉnh cao và đuôi dày hơn so với phân phối chuẩn (đỉnh cao hơn).
Phân phối Exponential là một trong những phân phối quan trọng trong lý thuyết xác suất và thống kê, liên quan đến khoảng thời gian giữa các sự kiện xảy ra trong quá trình đếm thời gian. Điều này có thể áp dụng trong nhiều lĩnh vực như kinh doanh, y tế, và viễn thông. Ví dụ, trong kinh doanh, phân phối Exponential có thể được sử dụng để ước tính thời gian trung bình giữa các giao dịch khách hàng. Trong y tế, nó có thể được dùng để nghiên cứu thời gian sống trung bình của các bệnh nhân sau một ca phẫu thuật hoặc điều trị.
Hàm mật độ xác suất:
\(f(x;\lambda)=\lambda e^{-\lambda x}\)
Trong đó:
Thực hiện mô phỏng ngẫu nhiên dữ liệu có phân phối Poisson gồm 10000 quan sát với rate bằng 1. Gán tên cho dữ liệu là Exponential và sử dụng lệnh rexp để thực hiện mô phỏng.
plotNormalHistogram(Exponential, col = "lavender", prob= TRUE,
main = "Histogram of Exponential distribution",xlab = "Exponential",
length = 1000, linecol="lightblue",lwd=2)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000106 0.291112 0.690613 0.991988 1.374225 9.951306
Từ kết quả thống kê mô tả cho thấy giá trị nhỏ nhất của dữ liệu là 0,000061; giá trị lớn nhất là 10,590323; giá trị trung bình là 1,007428; 25% dữ liệu nhỏ hơn 0,282550 (tứ phân vị thứ nhất) ;50% dữ liệu nhỏ hơn 0,695940 (tứ phân vị thứ 2); 75% dữ liệu nhỏ hơn 1,395895 (tứ phân vị thứ 3).
## [1] 0.976739
## [1] 0.9883011
Kết quả này cho thấy phân phối mũ có phương sai gần bằng 1 và độ lệch chuẩn gần bằng 1. Điều này cho thấy dữ liệu có mức độ phân tán không quá lớn và có xu hướng tập trung quanh giá trị trung bình.
## [1] 2.009329
Giá trị độ lệch (skewness) của phân phối mũ (Exponential distribution) là 1,940609. Cho thấy phân phối mũ có xu hướng lệch phải, tức là có xu hướng lệch về giá trị lớn hơn.
## [1] 6.10817
Giá trị độ nhọn (kurtosis) của phân phối mũ là NA (Not Available). Độ nhọn (kurtosis) thường không được tính cho phân phối mũ, vì phân phối mũ có đuôi dài và không giới hạn về cả hai phía. Điều này làm cho giá trị kurtosis không có ý nghĩa hoặc không xác định.
Phân phối Weibull là một phân phối đa dạng và linh hoạt, thường được sử dụng để mô hình hóa độ tuổi của các sản phẩm hoặc sự kiện hỏng. Nó có thể biểu diễn các phân phối có hình dạng uốn cong hoặc đường chéo hơn so với phân phối chuẩn. Điều này làm cho nó phù hợp với nhiều tình huống thực tế hơn. Ví dụ, trong kỹ thuật, phân phối Weibull có thể được sử dụng để ước tính tuổi thọ của các thành phần công nghiệp. Trong y tế, nó có thể được áp dụng để nghiên cứu tuổi thọ của một loại dược phẩm trong quá trình lưu trữ và sử dụng.
Hàm mật độ xác suất:
\(f(x)=\frac{\alpha}{\beta}(\frac{x}{\beta})^{\alpha-1}e^{-(\frac{x}{\beta})^\alpha}\)
Trong đó: * \(\alpha\) là tham số hình dạng (shape parameter) của phân phối Weibull. Nó quyết định độ cong của đồ thị phân phối. Khi \(\alpha\) > 1, đồ thị có độ cong hạt nhọn; khi \(\alpha\) < 1, đồ thị có độ cong phẳng; và khi \(\alpha\) = 1, phân phối Weibull trở thành phân phối mũ (Exponential distribution).
Thực hiện mô phỏng ngẫu nhiên dữ liệu có phân phối Weibull gồm 10000 quan sát với thông số hình dạng ( shape) là 15 và thông số tỷ lệ (scale) là 3. Gán tên cho dữ liệu là ppwei và sử dụng lệnh rweibull để thực hiện mô phỏng.
plotNormalHistogram(Weibull, col = "lavender", prob= TRUE,
main = "Histogram of Weibull distribution",xlab = "Weibull",
length = 1000, linecol="lightblue",lwd=2)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.558 2.761 2.926 2.896 3.063 3.493
Từ kết quả thống kê mô tả cho thấy giá trị nhỏ nhất của dữ liệu là 1,635; giá trị lớn nhất là 3,481; giá trị trung bình là 2,897; 25% dữ liệu nhỏ hơn 2,760 (tứ phân vị thứ nhất) ;50% dữ liệu nhỏ hơn 2,929 (tứ phân vị thứ 2); 75% dữ liệu nhỏ hơn 3,067 (tứ phân vị thứ 3).
## [1] 0.05621736
## [1] 0.237102
Phương sai của phân phối Weibull là 0,05630964, độ lệch chuẩn là 0,2372965. Các kết quả này cho thấy phân phối Weibull có độ biến động không quá lớn (độ lệch chuẩn nhỏ) và dữ liệu gần giá trị trung bình (phương sai nhỏ). Điều này cho thấy tính tập trung và ổn định của phân phối Weibull đối với dữ liệu tương ứng.
## [1] -0.8343114
Giá trị độ lệch (skewness) của phân phối Weibull là -0,7431165. Giá trị độ lệch âm cho thấy phân phối Weibull có xu hướng lệch về bên trái, tức là có xu hướng lệch về giá trị nhỏ hơn.
## [1] 1.180666
Giá trị độ nhọn lớn hơn 0 cho thấy phân phối Weibull có đỉnh hơi cao hơn so với phân phối chuẩn.
Một biến ngẫu nhiên được gọi là log-normal nếu phân phối của nó có dạng đồng dạng logarit tự nhiên (natural logarithm) của biến này có phân phối chuẩn. Nói cách khác, nếu X là một biến ngẫu nhiên log-normal, thì \(Y=ln(X)\) sẽ có phân phối chuẩn.
Để diễn giải một cách dễ hiểu hơn, nếu X có phân phối log-normal, thì X phải là một số không âm (vì giá trị logarit của một số không thể âm) và có xu hướng tập trung xung quanh một giá trị trung bình. Biến này có thể xuất hiện trong nhiều lĩnh vực khác nhau, chẳng hạn như tài chính, kinh tế, sinh học, và khoa học môi trường.
Phân phối loga chuẩn là một phân phối hai tham số với các tham số μ và σ lần lượt là trung bình (meanlog) và độ lệch chuẩn (sdlog) của logarit tự nhiên X. Trong đó độ lệch chuẩn biểu thị độ phân tán của dữ liệu so với giá trị trung bình của nó.
Phân phối log-normal có nhiều ứng dụng trong thống kê và mô hình hóa các biến số thực tế, như giá cổ phiếu, giá trị bất động sản, thu nhập cá nhân, số lượng vi khuẩn trong một mẫu, v.v.
Mô phỏng ngầu nhiên dãy số liệu X có phân phối Log_normal gồm 10000 quan sát với trung bình của logarit tự nhiên X(meanlog) bằng 0 và độ lệch chuẩn của logarit tự nhiên X(sdlog) bằng 1. Gán tên cho dãy số này là ppln và sử dụng hàm rlnorm để thực hiện mô phỏng.
library(rcompanion)
plotNormalHistogram(Lognormal, col = "lavender", prob= TRUE,
main = "Histogram of Lognormal distribution",xlab = "Lognormal",
length = 1000, linecol="lightblue",lwd=2)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.01634 0.50553 1.00718 1.63237 1.99207 43.38255
Từ kết quả thống kê mô tả cho thấy giá trị nhỏ nhất của dữ liệu là 0,02244; giá trị lớn nhất là 59,71489; giá trị trung bình là 1,64702; 25% dữ liệu nhỏ hơn 0,51188 (tứ phân vị thứ nhất) ;50% dữ liệu nhỏ hơn 1,00734 (tứ phân vị thứ 2); 75% dữ liệu nhỏ hơn 1,97072 (tứ phân vị thứ 3).
## [1] 4.167762
## [1] 2.04151
Kết quả cho thấy phân phối Lognormal có độ biến động không quá lớn (độ lệch chuẩn khá nhỏ) và dữ liệu có xu hướng phân tán rộng hơn quanh giá trị trung bình (phương sai lớn). Điều này cho thấy tính không đồng đều và phân phối rộng của phân phối Lognormal đối với dữ liệu tương ứng.
## [1] 5.184734
Giá trị độ lệch dương (6,003054) cho thấy phân phối Lognormal có xu hướng lệch về bên phải, tức là có xu hướng lệch về giá trị lớn hơn
## [1] 55.06774
Giá trị độ nhọn rất lớn (83.65821) cho thấy phân phối Lognormal có đỉnh rất cao hơn so với phân phối chuẩn
Đề tài: Mô phỏng giá trị rủi ro danh mục đầu tư cổ phiếu thuộc nhóm nghành ngân hàng
Ngành ngân hàng là một trong những ngành kinh tế quan trọng và có ảnh hưởng mạnh mẽ đến sự phát triển của nền kinh tế và hệ thống tài chính. Việc tìm hiểu và mô phỏng giá trị rủi ro danh mục trong ngành này có thể cung cấp thông tin quan trọng để cải thiện quản lý rủi ro danh mục và ổn định lợi nhuận đầu tư.
Quản lý rủi ro là một khía cạnh vô cùng quan trọng trong mọi hoạt động kinh doanh và tài chính. Đối với môi trường chứng khoán, rủi ro được cho là “khả năng mất mát vốn hoặc không đạt được lợi nhuận kỳ vọng”. Có nhiều chỉ số hữu ích để xem xét và đánh giá rủi ro trong lĩnh vực chứng khoán và đầu tư. Chẳng hạn như độ lệch chuẩn của giá từng cổ phiếu và của cả danh mục đầu tư, phương sai - hiệp phương sai của danh mục đầu tư, hệ số tương quan được chuẩn hóa của hiệp phương sai, giá trị rủi ro VaR, và giá trị rủi ro có điều kiện CvaR.
Theo Huệ và cộng sự (2015), mô hình xác định giá trị chịu mức rủi ro (VaR - Value at Risk) là một phương pháp đang được ứng dụng khá phổ biến trên thế giới trong việc đo lường rủi ro. VaR được xác định dựa trên sự biến động của giá cổ phiếu (hay của giá trị danh mục đầu tư). Đối với ngành hay toàn thị trường, VaR được xác định dựa trên sự biến động của các chỉ số ngành hoặc chỉ số thị trường. Giá trị VaR cho thấy mức thiệt hại lớn nhất hay mức giảm lớn nhất có thể xảy ra đối với giá cổ phiếu, đối với chỉ số ngành hoặc đối với chỉ số thị trường tại một mức tin cậy nhất định.
Bài tiểu luận mô phỏng các yếu tố tác động đến giá trị rủi ro VaR của danh mục đầu tư 100.000$ với độ tin cậy 95% với các cổ phiếu nhóm nghành ngân hàng: MBB, VIB, VCB, VPB, BID và ACB với tỷ trọng của mỗi tài sản trong danh mục đều lần lượt là 20%, 25%, 10%, 10%, 20%, 15%. Bằng việc hiểu rõ hơn về các rủi ro tiềm ẩn và cách ảnh hưởng lẫn nhau giữa các yếu tố, ngành ngân hàng có thể tăng cường hiệu quả quản lý rủi ro, tối ưu hóa quyết định kinh doanh và tạo ra cơ hội phát triển mới. Quản lý rủi ro không chỉ giúp giảm thiểu thua lỗ và tổn thất, mà còn giữ vững lòng tin từ khách hàng và đối tác thông qua sự minh bạch và tuân thủ quy định. Chính nhờ vào quản lý rủi ro đúng đắn, ngành ngân hàng đóng góp vào sự ổn định và phát triển bền vững của nền kinh tế và hệ thống tài chính tổng thể.
Giá đóng cửa của các mã cổ phiếu nhóm nghành ngân hàng (MBB, VPB, VCB, VIB, BID và ACB). Dữ liệu được thu thập từ trang web Investing giai đoạn 02/01/2018 đến 03/08/2023 với 1,394 quan sát. Trong đó:
MBB: Ngân hàng Thương mại Cổ phần Quân đội
VPB: Ngân hàng Thương mại Cổ phần Việt Nam Thịnh Vượng
VCB: Ngân hàng Thương mại Cổ phần Ngoại thương Việt Nam
VIB: Ngân hàng Thương mại Cổ phần Quốc tế Việt Nam
BID: Ngân hàng Thương mại Cổ phần Đầu tư và Phát triển Việt Nam
ACB: Ngân hàng Thương mại Cổ phần Á Châu
Công thức tính tỷ suất sinh lời:
\(R_t=log\frac{P_t}{P_{t-1}}\)
## Installing package into 'C:/Users/HP/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'readxl' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'readxl'
## Warning in file.copy(savedcopy, lib, recursive = TRUE): problem copying
## C:\Users\HP\AppData\Local\R\win-library\4.3\00LOCK\readxl\libs\x64\readxl.dll
## to C:\Users\HP\AppData\Local\R\win-library\4.3\readxl\libs\x64\readxl.dll:
## Permission denied
## Warning: restored 'readxl'
##
## The downloaded binary packages are in
## C:\Users\HP\AppData\Local\Temp\RtmpIjILvr\downloaded_packages
## Warning: package 'readxl' was built under R version 4.3.1
## tibble [1,394 × 6] (S3: tbl_df/tbl/data.frame)
## $ MBB: num [1:1394] 10696 10596 10616 10535 11059 ...
## $ BID: num [1:1394] 20664 20511 21085 20970 21315 ...
## $ VPB: num [1:1394] 9358 9369 9704 9596 10039 ...
## $ VCB: num [1:1394] 41700 41624 42003 40942 42003 ...
## $ VIB: num [1:1394] 10596 10596 10688 11103 11701 ...
## $ ACB: num [1:1394] 11615 11586 11615 11615 12005 ...
## MBB BID VPB VCB
## Min. : 7207 Min. :16531 Min. : 6278 Min. : 35483
## 1st Qu.:10785 1st Qu.:27187 1st Qu.: 8167 1st Qu.: 53160
## Median :13182 Median :32190 Median :11824 Median : 68653
## Mean :15623 Mean :32852 Mean :14274 Mean : 67567
## 3rd Qu.:20200 3rd Qu.:36578 3rd Qu.:19933 3rd Qu.: 78336
## Max. :28667 Max. :49100 Max. :26926 Max. :106500
## VIB ACB
## Min. : 0 Min. : 0
## 1st Qu.:11010 1st Qu.:11615
## Median :16707 Median :16002
## Mean :18114 Mean :17779
## 3rd Qu.:24100 3rd Qu.:24450
## Max. :39154 Max. :30360
## [1] 5709.104
## [1] 6856.729
## [1] 6458.328
## [1] 15805.54
## [1] 8419.974
## [1] 6425.986
Từ kết quả thống kê:
MBB: Giá trị nhỏ nhất: 7207, Giá trị phân vị 25%: 10785, Giá trị trung vị: 13182, Giá trị trung bình: 15623, Giá trị 3rd Quartile: 20200, Giá trị lớn nhất: 28667 và độ lệch chuẩn là 5709.104 điểm.
BID: Giá trị nhỏ nhất: 16531, Giá trị phân vị 25%: 27187, Giá trị trung vị: 32190, Giá trị trung bình: 32852, Giá trị phân vị 75%: 36578, Giá trị lớn nhất: 49100 và độ lệch chuẩn là 6856.729 điểm.
VPB: Giá trị nhỏ nhất: 6278, Giá trị phân vị 25%: 8167, Giá trị trung vị: 11824, Giá trị trung bình: 14274, Giá trị phân vị 75%: 19933, Giá trị lớn nhất: 26926 và độ lệch chuẩn là 6458.328 điểm.
VCB: Giá trị nhỏ nhất: 35483, Giá trị phân vị 25%: 53160, Giá trị trung vị: 68653, Giá trị trung bình: 67567, Giá trị phân vị 75%: 78336, Giá trị lớn nhất: 106500 và độ lệch chuẩn là 15805.54 điểm.
VIB: Giá trị nhỏ nhất: 0, Giá trị phân vị 25%: 11010, Giá trị trung vị: 16707, Giá trị trung bình: 18114, Giá trị phân vị 75%: 24100, Giá trị lớn nhất: 39154 và độ lệch chuẩn là 8419.974 điểm.
ACB: Giá trị nhỏ nhất: 0, Giá trị phân vị 25%: 11615, Giá trị trung vị: 16002, Giá trị trung bình: 17779, Giá trị phân vị 75%: 24450, Giá trị lớn nhất: 30360 và độ lệch chuẩn là 6425.986 điểm.
Đồ thị
Kiểm định phân phối chuẩn
Giả thuyết:
\(H_0:\) MBB tuân theo phân phối chuẩn
\(H_1:\) MBB không tuân theo phân phối chuẩn
##
## Shapiro-Wilk normality test
##
## data: data$MBB
## W = 0.89331, p-value < 2.2e-16
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là MBB không có phân phối chuẩn.
Kiểm định phân phối Lognomal
Giả thuyết:
\(H_0:\) MBB tuân theo phân phối Lognormal
\(H_1:\) MBB không tuân theo phân phối Lognormal
## Warning in ks.test.default(data$MBB, "plnorm", meanlog = mean(log(data$MBB)), :
## ties should not be present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$MBB
## D = 0.1552, p-value < 2.2e-16
## alternative hypothesis: two-sided
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là MBB không có phân phối Lognormal.
Kiểm định phân phối t
Giả thuyết:
\(H_0:\) MBB tuân theo phân phối t
\(H_1:\) MBB không tuân theo phân phối t
##
## One Sample t-test
##
## data: data$MBB
## t = 102.17, df = 1393, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 15322.78 15922.70
## sample estimates:
## mean of x
## 15622.74
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là MBB không có phân phối t.
Đồ thị
Kiểm định phân phối chuẩn
Giả thuyết:
\(H_0:\) VIB tuân theo phân phối chuẩn
\(H_1:\) VIB không tuân theo phân phối chuẩn
##
## Shapiro-Wilk normality test
##
## data: data$VIB
## W = 0.93463, p-value < 2.2e-16
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là VIB không có phân phối chuẩn.
Kiểm định phân phối Lognomal
Giả thuyết:
\(H_0:\) VIB tuân theo phân phối Lognormal
\(H_1:\) VIB không tuân theo phân phối Lognormal
## Warning in ks.test.default(data$VIB, "plnorm", meanlog = mean(log(data$VIB)), :
## ties should not be present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$VIB
## D = NaN, p-value = NA
## alternative hypothesis: two-sided
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là chỉ số VIB không có phân phối Lognormal.
Kiểm định phân phối t
Giả thuyết:
\(H_0:\) VIB tuân theo phân phối t
\(H_1:\) VIB không tuân theo phân phối t
##
## One Sample t-test
##
## data: data$VIB
## t = 80.324, df = 1393, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 17672.05 18556.83
## sample estimates:
## mean of x
## 18114.44
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là chỉ số VIB không có phân phối t.
Đồ thị
Kiểm định phân phối chuẩn
Giả thuyết:
\(H_0:\) MBB tuân theo phân phối chuẩn
\(H_1:\) MBB không tuân theo phân phối chuẩn
##
## Shapiro-Wilk normality test
##
## data: data$VCB
## W = 0.96914, p-value < 2.2e-16
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là VCB không có phân phối chuẩn.
Kiểm định phân phối Lognomal
Giả thuyết:
\(H_0:\) MBB tuân theo phân phối Lognormal
\(H_1:\) MBB không tuân theo phân phối Lognormal
## Warning in ks.test.default(data$VCB, "plnorm", meanlog = mean(log(data$VCB)), :
## ties should not be present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$VCB
## D = 0.11144, p-value = 1.887e-15
## alternative hypothesis: two-sided
Vì \(p-value = 1.887e-15 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là chỉ số VCB không có phân phối Lognormal.
Kiểm định phân phối t
Giả thuyết:
\(H_0:\) VCB tuân theo phân phối t
\(H_1:\) VCB không tuân theo phân phối t
##
## One Sample t-test
##
## data: data$VCB
## t = 159.61, df = 1393, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 66736.18 68397.04
## sample estimates:
## mean of x
## 67566.61
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là chỉ số VCB không có phân phối t.
Đồ thị
Kiểm định phân phối chuẩn
Giả thuyết:
\(H_0:\) VPB tuân theo phân phối chuẩn
\(H_1:\) VPB không tuân theo phân phối chuẩn
##
## Shapiro-Wilk normality test
##
## data: data$VPB
## W = 0.87202, p-value < 2.2e-16
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là VPB không có phân phối chuẩn.
Kiểm định phân phối Lognomal
Giả thuyết:
\(H_0:\) VPB tuân theo phân phối Lognormal
\(H_1:\) VPB không tuân theo phân phối Lognormal
## Warning in ks.test.default(data$VPB, "plnorm", meanlog = mean(log(data$VPB)), :
## ties should not be present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$VPB
## D = 0.13513, p-value < 2.2e-16
## alternative hypothesis: two-sided
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là chỉ số VPB không có phân phối Lognormal.
Kiểm định phân phối t
Giả thuyết:
\(H_0:\) VPB tuân theo phân phối t
\(H_1:\) VPB không tuân theo phân phối t
##
## One Sample t-test
##
## data: data$VPB
## t = 82.519, df = 1393, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 13934.59 14613.24
## sample estimates:
## mean of x
## 14273.91
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là chỉ số VPB không có phân phối t.
Đồ thị
Kiểm định phân phối chuẩn
Giả thuyết:
\(H_0:\) BID tuân theo phân phối chuẩn
\(H_1:\) BID không tuân theo phân phối chuẩn
##
## Shapiro-Wilk normality test
##
## data: data$BID
## W = 0.97758, p-value = 6.428e-14
Vì \(p-value = 6.428e-14 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là BID không có phân phối chuẩn.
Kiểm định phân phối Lognomal
Giả thuyết:
\(H_0:\) BID tuân theo phân phối Lognormal
\(H_1:\) BID không tuân theo phân phối Lognormal
## Warning in ks.test.default(data$BID, "plnorm", meanlog = mean(log(data$BID)), :
## ties should not be present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$BID
## D = 0.058107, p-value = 0.0001633
## alternative hypothesis: two-sided
Vì \(p-value =0.0001633 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là BID không có phân phối Lognormal.
Kiểm định phân phối t
Giả thuyết:
\(H_0:\) BID tuân theo phân phối t
\(H_1:\) BID không tuân theo phân phối t
##
## One Sample t-test
##
## data: data$BID
## t = 178.89, df = 1393, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 32492.17 33212.68
## sample estimates:
## mean of x
## 32852.43
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là BID không có phân phối t.
Đồ thị
Kiểm định phân phối chuẩn
Giả thuyết:
\(H_0:\) ACB tuân theo phân phối chuẩn
\(H_1:\) ACB không tuân theo phân phối chuẩn
##
## Shapiro-Wilk normality test
##
## data: data$ACB
## W = 0.86785, p-value < 2.2e-16
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là ACB không có phân phối chuẩn.
Kiểm định phân phối Lognomal
Giả thuyết:
\(H_0:\) ACB tuân theo phân phối Lognormal
\(H_1:\) ACB không tuân theo phân phối Lognormal
## Warning in ks.test.default(data$ACB, "plnorm", meanlog = mean(log(data$ACB)), :
## ties should not be present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: data$ACB
## D = NaN, p-value = NA
## alternative hypothesis: two-sided
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là ACB không có phân phối Lognormal.
Kiểm định phân phối t
Giả thuyết:
\(H_0:\) ACB tuân theo phân phối t
\(H_1:\) ACB không tuân theo phân phối t
##
## One Sample t-test
##
## data: data$ACB
## t = 103.3, df = 1393, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 17441.07 18116.32
## sample estimates:
## mean of x
## 17778.69
Vì \(p-value = 2.2e-16 < 0.05\) nên ta bác bỏ giả thuyết \(H_0.\) Nghĩa là ACB không có phân phối t.
Mô hình VaR(Value at risk) của danh mục cổ phiểu($):
\(VaR=V_P*percentile(R_p,\alpha)\)
Trong đó:
\(V_p:\) Đây là giá trị của tài sản hoặc danh mục đầu tư đang đo lường rủi ro (Value of Portfolio). Nó có thể là giá trị tổng của các tài sản cụ thể hoặc tổng giá trị của danh mục đầu tư.Giá trị danh mục đầu tư trong bài tiểu luận là 100.000$
\(\alpha:\) Là mức xác suất mà bạn muốn sử dụng để tính VaR, thường được chọn trong khoảng từ 1% đến 5%. Tiểu luận chọn mức xác suất 5%.
\(R_P:\) Là chuỗi tỷ suất lợi nhuận của danh mục được tính toán theo công thức sau, sau đó được sắp xếp theo thứ tứ tăng dần.
Ví dụ, nếu chúng ta sử dụng mô hình VaR với \(\alpha = 0.05\) (tương ứng với mức xác suất 5%), và \(V_P\) là giá trị của một danh mục đầu tư là 1 triệu đô la, và \(percentile(R_p, 0.05)\) là 100.000 đô la, thì \(VaR\) sẽ là 100.000 đô la. Điều này có nghĩa là với mức xác suất 5%, danh mục đầu tư này có khả năng mất tối đa 100.000 đô la trong một khoảng thời gian nhất định.
\(R_P=\Sigma^n_{i=1}w_iR_i\)
Trong đó:
\(\Sigma\) là ký hiệu cho tổng. \(\Sigma\) từ \(i=1\) đến \(n\), nghĩa là tính tổng các thành phần từ \(i=1\) đến \(i=n\).
\(w_i:\) Là tỷ trọng của tài sản i trong danh mục.
\(R_i:\) Tỷ suất lợi nhuận của tài sản i.
\(n\) Số lượng các tài sản hoặc khoản đầu tư khác nhau trong danh mục đầu tư.
Phương trình
\(S_{(N)_t}=S_0exp((\theta-\frac{\epsilon^2}{2}t+\ epsilonB_N)\)
\(B_N=\sqrt{\frac{t}{n}}\sum_{i=1}^{n} Z_i=\sqrt{\frac{t}{n}}F_Z(z)\)
Trong đó:
\(S_{(N)_t}\): Đây là giá trị của một tài sản hoặc danh mục đầu tư vào thời điểm t (\(t\)) sau khi đã trải qua quá trình ngẫu nhiên ứng với phân phối chuẩn, phân phối ghép.
\(S_0\): Đây là giá trị ban đầu (tại thời điểm \(t = 0\)) của tài sản hoặc danh mục đầu tư trước khi bắt đầu quá trình ngẫu nhiên.
\(\theta\): Đây là mức lợi suất (expected return) trung bình hàng năm của tài sản hoặc danh mục đầu tư.
\(\epsilon\): Đây là độ lệch chuẩn (standard deviation) của quá trình ngẫu nhiên. Nó thể hiện mức độ biến đổi (dispersion) của dữ liệu. Khi \(\epsilon\) càng lớn, dữ liệu có xu hướng biến đổi lớn hơn.
\(t\): Đây là khoảng thời gian trong tương lai mà chúng ta muốn tính giá trị \(S_{(N)_t}\).
\(B_N\): Đây là biến ngẫu nhiên dùng để mô phỏng quá trình ngẫu nhiên trong công thức. Nó có vai trò tạo ra biến đổi ngẫu nhiên cho giá trị của tài sản hoặc danh mục đầu tư sau mỗi khoảng thời gian.
\(\sqrt{\frac{t}{n}}\) là độ lệch chuẩn
\(Z_i\): Đây là các số ngẫu nhiên có phân phối chuẩn (\(Z_i \sim N(0, 1)\)) và được sử dụng để tạo ra biến đổi ngẫu nhiên trong quá trình mô phỏng.
\(n\): Đây là số lượng số ngẫu nhiên \(Z_i\) được sử dụng để mô phỏng quá trình ngẫu nhiên trong một khoảng thời gian \(t\).
set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Bt = sqrt(dt)*cumsum(rnorm((n),0,1))
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
MBB1<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$MBB[1])
plot(MBB1, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Bt = sqrt(dt)*cumsum(rnorm((n),0,1))
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
VIB1<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$VIB[1])
plot(VIB1, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Bt = sqrt(dt)*cumsum(rnorm((n),0,1))
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
VCB1<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$VCB[1])
plot(VCB1, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Bt = sqrt(dt)*cumsum(rnorm((n),0,1))
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
VPB1<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$VPB[1])
plot(VPB1, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Bt = sqrt(dt)*cumsum(rnorm((n),0,1))
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
BID1<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$BID[1])
plot(BID1, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Bt = sqrt(dt)*cumsum(rnorm((n),0,1))
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
ACB1<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$ACB[1])
plot(ACB1, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")data1<-data.frame(MBB1, VIB1, VCB1, VPB1, BID1, ACB1)
# Giá trị danh mục đầu tư
Vp<-100000
# Tỷ trọng của từng tài sản trong danh mục
w<-c(0.2, 0.25, 0.1, 0.1, 0.2, 0.15)
#Tỷ suất lợi nhuận của danh mục
RP1 <- apply(data1, 1, function(row) sum(row * w))
# Số quan sát của chuối tỷ suất lợi nhuận danh mục
N<- 10000
# Sắp xếp tỷ suất lợị nhuận danh mục theo thứ tự tăng dần
sorted_values <- sort(RP1)
# Chọn chỉ số tương ứng với mức tin cậy
alpha<- 0.95
k <- ceiling((1 - alpha) * N)
# Tính VaR
var1 <- Vp*sorted_values[k]
var1## [1] -245.8681
Kết quả thể hiện VaR của danh mục có độ tin cậy 95% \((\alpha=0.95)\) là -245.8681. Điều này có nghĩa là với độ tin cậy 95%, khoản lỗ tối đa của ngày tiếp theo mà danh mục này có thể gặp phải trong một ngày là 245.8681 VNĐ.
plotNormalHistogram(RP1, col = "lightblue", prob= TRUE,
main = "Histogram of RP1",xlab = "Mô hình 1",
length = 1000, linecol="navy",lwd=2)\(S_{(NN)_t}=S_0exp((\theta-\frac{\epsilon^2}{2}t+\ epsilonB_{NN})\)
\(B_{NN}=\sqrt{\frac{t}{n}}\sum_{i=1}^{n} Z_i=\sqrt{\frac{t}{n}}F_Z(z)\)
set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rnorm(n,0,1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
MBB2<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$MBB[1])
plot(MBB2, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rnorm(n,0,1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
VIB2<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$VIB[1])
plot(VIB2, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rnorm(n,0,1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
VCB2<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$VCB[1])
plot(VCB2, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rnorm(n,0,1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
VPB2<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$VPB[1])
plot(VPB2, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rnorm(n,0,1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
BID2<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$BID[1])
plot(BID2, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rnorm(n,0,1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
ACB2<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$ACB[1])
plot(ACB2, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")data2<-data.frame(MBB2, VIB2, VCB2, VPB2, BID2, ACB2)
# Giá trị danh mục đầu tư
Vp<-100000
# Tỷ trọng của từng tài sản trong danh mục
w<-c(0.2, 0.25, 0.1, 0.1, 0.2, 0.15)
#Tỷ suất lợi nhuận của danh mục
RP2 <- apply(data2, 1, function(row) sum(row * w))
# Số quan sát của chuối tỷ suất lợi nhuận danh mục
N<- 10000
# Sắp xếp tỷ suất lợị nhuận danh mục theo thứ tự tăng dần
sorted_values <- sort(RP2)
# Chọn chỉ số tương ứng với mức tin cậy
alpha<- 0.95
k <- ceiling((1 - alpha) * N)
# Tính VaR
var2 <- Vp*sorted_values[k]
var2## [1] -351.8331
Kết quả thể hiện VaR của danh mục có độ tin cậy 95% \((\alpha=0.95)\) là -351.8331. Điều này có nghĩa là với độ tin cậy 95%, khoản lỗ tối đa của ngày tiếp theo mà danh mục này có thể gặp phải trong một ngày là 351.8331 VNĐ.
plotNormalHistogram(RP2, col = "lightgreen", prob= TRUE,
main = "Histogram of RP2",xlab = "Mô hình 2",
length = 1000, linecol="navy",lwd=2)\(S_{(NL)_t}=S_0exp((\theta-\frac{\epsilon^2}{2}t+\ epsilonB_{NL})\)
\(B_{NL}=\sqrt{\frac{t}{n}}\sum_{i=1}^{n} Z_i=\sqrt{\frac{t}{n}}F_Z(z)\)
## Installing package into 'C:/Users/HP/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'LaplacesDemon' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\HP\AppData\Local\Temp\RtmpIjILvr\downloaded_packages
## Warning: package 'LaplacesDemon' was built under R version 4.3.1
set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rlaplace(n, location = 0, scale = 1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
MBB3<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$MBB[1])
plot(MBB3, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rlaplace(n, location = 0, scale = 1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
VIB3<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$VIB[1])
plot(VIB3, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rlaplace(n, location = 0, scale = 1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
VCB3<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$VCB[1])
plot(VCB3, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rlaplace(n, location = 0, scale = 1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
VPB3<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$VPB[1])
plot(VPB3, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rlaplace(n, location = 0, scale = 1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
BID3<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$BID[1])
plot(BID3, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")set.seed(123)
gbm.f= function(n,S0,theta, epsilon){
t = 1
t.s =seq(0,t,length=n)
dt=t/n
Z1<- rnorm(n,0,1)
Z2<- rlaplace(n, location = 0, scale = 1)
Bt = sqrt(dt)*cumsum(Z1+Z2)
St=S0*exp((theta-epsilon^2/2)*t.s+epsilon*Bt)
}
ACB3<-gbm.f(n=10000, theta = 0.05, epsilon = 0.15, S0 =data$ACB[1])
plot(ACB3, type = 'l', col = 'lightblue',
ylab = "Price",
xlab = "Time (Days)")data3<-data.frame(MBB3, VIB3, VCB3, VPB3, BID3, ACB3)
# Giá trị danh mục đầu tư
Vp<-100000
# Tỷ trọng của từng tài sản trong danh mục
w<-c(0.2, 0.25, 0.1, 0.1, 0.2, 0.15)
#Tỷ suất lợi nhuận của danh mục
RP3 <- apply(data3, 1, function(row) sum(row * w))
# Số quan sát của chuối tỷ suất lợi nhuận danh mục
N<- 10000
# Sắp xếp tỷ suất lợị nhuận danh mục theo thứ tự tăng dần
sorted_values <- sort(RP3)
# Chọn chỉ số tương ứng với mức tin cậy
alpha<- 0.95
k <- ceiling((1 - alpha) * N)
# Tính VaR
var3 <- Vp*sorted_values[k]
var3## [1] -427.9724
Kết quả thể hiện VaR của danh mục có độ tin cậy 95% \((\alpha=0.95)\) là -427.9724. Điều này có nghĩa là với độ tin cậy 95%, khoản lỗ tối đa của ngày tiếp theo mà danh mục này có thể gặp phải trong một ngày là 427.9724 VNĐ.
plotNormalHistogram(RP3, col = "pink", prob= TRUE,
main = "Histogram of RP3",xlab = "Mô hình 3",
length = 1000, linecol="navy",lwd=2)simulation_results1 <- data.frame(matrix(ncol = 2, nrow = N))
colnames(simulation_results1) <- c("DoTinCay", "VaR1")
for (i in 1:N) {
sample_values <- sample(RP1, size = length(RP1), replace = TRUE)
sorted_sample <- sort(sample_values)
var_sample <- Vp * sorted_sample[k]
simulation_results1[i, ] <- c(alpha * 100, var_sample)}
table(simulation_results1)## VaR1
## DoTinCay -257.355775844736 -256.879531894958 -256.846719321935
## 95 1 3 2
## VaR1
## DoTinCay -256.687987209654 -256.189909578808 -256.16941120532 -255.971486548345
## 95 2 2 2 9
## VaR1
## DoTinCay -255.954521171509 -255.907461650606 -255.639325788017
## 95 2 6 7
## VaR1
## DoTinCay -255.615047501125 -255.591904558772 -255.540586177512
## 95 1 12 9
## VaR1
## DoTinCay -255.182222073236 -255.057186517895 -255.004705295825
## 95 11 8 6
## VaR1
## DoTinCay -254.849431645177 -254.757290238903 -254.730673696102
## 95 13 12 12
## VaR1
## DoTinCay -254.602293603137 -254.136828425722 -254.108887532034
## 95 14 30 21
## VaR1
## DoTinCay -253.468376837418 -253.427689376515 -253.391823478726
## 95 26 28 27
## VaR1
## DoTinCay -253.357619429018 -252.893832434866 -252.822583872865
## 95 43 31 34
## VaR1
## DoTinCay -252.813062793678 -252.616457857462 -252.499929426948
## 95 34 45 49
## VaR1
## DoTinCay -252.401820501156 -252.376853102234 -252.223093553168
## 95 60 69 58
## VaR1
## DoTinCay -251.852567712163 -251.714569077581 -251.649168598611
## 95 75 77 76
## VaR1
## DoTinCay -251.382634403816 -250.281520042464 -249.968293451452
## 95 85 95 84
## VaR1
## DoTinCay -249.893718350203 -249.803751734383 -249.801668113037
## 95 87 120 94
## VaR1
## DoTinCay -249.733725883994 -249.509143473263 -249.116548976716
## 95 116 115 108
## VaR1
## DoTinCay -248.429277244497 -248.398668555794 -248.055549744919
## 95 136 123 129
## VaR1
## DoTinCay -247.879317140942 -247.83497017804 -247.636356735654 -247.600795731389
## 95 143 154 152 138
## VaR1
## DoTinCay -247.584814918271 -247.467927767477 -247.307864168 -247.269795599392
## 95 141 144 174 182
## VaR1
## DoTinCay -247.194442759913 -247.162161607974 -246.970977114538 -246.8866840033
## 95 162 168 186 185
## VaR1
## DoTinCay -246.823886068661 -246.818382517633 -246.705783400181
## 95 191 189 181
## VaR1
## DoTinCay -246.178187306514 -245.868077736908 -245.78187744603 -245.6719477793
## 95 196 175 182 177
## VaR1
## DoTinCay -245.62746195862 -245.539451189396 -245.206208902893 -245.069351454994
## 95 182 180 182 172
## VaR1
## DoTinCay -244.95747149853 -244.857145172821 -244.837318973268 -244.468250264163
## 95 166 163 153 161
## VaR1
## DoTinCay -244.19588114303 -243.995207330272 -243.882811198999 -243.750685582
## 95 163 161 150 141
## VaR1
## DoTinCay -243.541602437043 -243.039704231309 -242.904086749585
## 95 150 144 131
## VaR1
## DoTinCay -242.891200114768 -242.849490193819 -242.661546292444 -242.64700388188
## 95 120 132 103 120
## VaR1
## DoTinCay -242.553036120405 -242.317966692696 -242.294867489496
## 95 102 117 111
## VaR1
## DoTinCay -242.278526053319 -242.260411092587 -241.954082557312
## 95 105 87 74
## VaR1
## DoTinCay -241.718379738982 -241.461764438613 -241.402914781679
## 95 79 76 77
## VaR1
## DoTinCay -241.278887853769 -241.130913641623 -241.076251204717
## 95 59 67 53
## VaR1
## DoTinCay -240.923226449086 -240.673198313823 -240.661032256639
## 95 54 49 54
## VaR1
## DoTinCay -240.597280642376 -240.470169889209 -240.427218416572
## 95 47 47 49
## VaR1
## DoTinCay -239.842887282293 -239.826368747131 -239.738460702403
## 95 26 29 27
## VaR1
## DoTinCay -239.716222592889 -239.296789053611 -239.232259058264
## 95 30 18 30
## VaR1
## DoTinCay -239.200264450252 -239.054923171489 -238.906187681032
## 95 25 11 15
## VaR1
## DoTinCay -238.879085627302 -238.72659334323 -238.332125012652 -238.03072828489
## 95 22 18 17 17
## VaR1
## DoTinCay -237.975915367947 -237.633812264724 -237.36115147762 -237.347102457974
## 95 9 14 14 7
## VaR1
## DoTinCay -237.308593828303 -237.304957934761 -237.298112783115
## 95 14 1 3
## VaR1
## DoTinCay -237.226424075017 -237.218013184481 -237.026981400463
## 95 5 5 5
## VaR1
## DoTinCay -236.813106192377 -236.799501544001 -236.614127568009
## 95 4 2 1
## VaR1
## DoTinCay -236.516585336055 -236.514014774691 -236.511207563339
## 95 3 3 1
## VaR1
## DoTinCay -236.491123180116 -235.781861164064 -235.434085117907
## 95 2 2 1
## VaR1
## DoTinCay -235.333349075617 -235.218520571161 -234.876154359398
## 95 1 1 2
## VaR1
## DoTinCay -234.822833088266 -234.70940370256 -233.99594886655 -233.865819071593
## 95 1 2 1 1
VaR của danh mục đầu tư trong 10000 ngày tiếp theo ứng với xác suất 95%, mức lỗ tối đa mà nhà đầu tư có thể gặp phải nhiều nhất dao động từ 243 đến 248 trong một ngày.
simulation_results2<- data.frame(matrix(ncol = 2, nrow = N))
colnames(simulation_results2) <- c("DoTinCay", "VaR2")
for (i in 1:N) {
sample_values <- sample(RP2, size = length(RP2), replace = TRUE)
sorted_sample <- sort(sample_values)
var_sample <- Vp * sorted_sample[k]
simulation_results2[i, ] <- c(alpha * 100, var_sample)}
table(simulation_results2)## VaR2
## DoTinCay -367.843969694839 -367.152012261229 -366.776080570865
## 95 2 1 1
## VaR2
## DoTinCay -366.748135732982 -366.473013578483 -365.399362682455 -365.13712149886
## 95 1 2 1 6
## VaR2
## DoTinCay -365.009511092573 -364.888576817473 -364.494246788949
## 95 1 2 2
## VaR2
## DoTinCay -364.296709584586 -364.010865422557 -363.524639538388
## 95 4 8 6
## VaR2
## DoTinCay -362.029236903423 -361.90875448896 -361.719135142202 -361.332018627971
## 95 6 10 8 14
## VaR2
## DoTinCay -361.264542737239 -361.193664426276 -361.163353898242 -361.00858103385
## 95 9 13 15 9
## VaR2
## DoTinCay -360.740877793297 -360.678700552697 -360.49858272289 -360.184452171159
## 95 13 13 25 24
## VaR2
## DoTinCay -359.667807398774 -359.650835071674 -359.266714554485
## 95 18 31 26
## VaR2
## DoTinCay -359.241558186856 -358.840462821517 -358.659992763677
## 95 32 38 42
## VaR2
## DoTinCay -358.638877433011 -358.600306797543 -358.503472422518
## 95 32 40 51
## VaR2
## DoTinCay -358.402331406085 -357.978012955016 -357.544278971886
## 95 56 59 46
## VaR2
## DoTinCay -357.484116380009 -357.370084234141 -357.345757783243
## 95 59 67 82
## VaR2
## DoTinCay -357.296241085843 -357.051743572905 -356.487153188612
## 95 64 82 80
## VaR2
## DoTinCay -356.189487872909 -355.949327546377 -355.908008320327
## 95 108 97 113
## VaR2
## DoTinCay -355.744253100791 -355.659720249291 -355.112758714249 -354.99661912489
## 95 120 112 123 121
## VaR2
## DoTinCay -354.954619987664 -354.652166852807 -354.596400700835
## 95 133 150 109
## VaR2
## DoTinCay -354.493082289276 -354.152380854567 -354.008284058338
## 95 152 154 155
## VaR2
## DoTinCay -353.835055602483 -353.720703885898 -353.699754427339
## 95 171 171 161
## VaR2
## DoTinCay -353.489008831351 -353.382174475172 -353.100147056811
## 95 173 179 189
## VaR2
## DoTinCay -352.947942284807 -352.830902154997 -352.084452903787
## 95 169 180 185
## VaR2
## DoTinCay -352.047582911021 -351.997802891253 -351.908416514357
## 95 176 172 171
## VaR2
## DoTinCay -351.833141234836 -351.748911041696 -351.634934170493
## 95 199 179 201
## VaR2
## DoTinCay -351.253463673196 -351.251705770395 -351.029488542629
## 95 178 189 196
## VaR2
## DoTinCay -350.298884768607 -350.247947724869 -350.238331327253
## 95 181 184 160
## VaR2
## DoTinCay -350.113214874996 -350.07662493876 -349.693865611229 -349.681005798494
## 95 151 162 166 169
## VaR2
## DoTinCay -349.518995787923 -349.517195866547 -348.996458051127
## 95 147 163 140
## VaR2
## DoTinCay -348.990513357919 -348.832514801583 -348.803711683505
## 95 141 138 137
## VaR2
## DoTinCay -348.676640144543 -348.536396314776 -348.124378737182
## 95 106 129 103
## VaR2
## DoTinCay -348.058155477462 -348.030487450401 -347.517633573027
## 95 110 91 118
## VaR2
## DoTinCay -347.404771650144 -346.948155409796 -346.730146532082 -346.70317561698
## 95 92 68 70 64
## VaR2
## DoTinCay -346.398040607951 -346.210987179516 -346.131095125735
## 95 83 83 60
## VaR2
## DoTinCay -345.744160330126 -345.539097063963 -345.518324363816
## 95 61 60 59
## VaR2
## DoTinCay -345.133830577184 -344.843287181087 -344.808967160404
## 95 62 43 45
## VaR2
## DoTinCay -344.463817761111 -344.463547911582 -344.138097159279
## 95 50 32 31
## VaR2
## DoTinCay -344.119703128465 -344.08820530146 -343.931049490465 -343.724914319905
## 95 37 29 25 25
## VaR2
## DoTinCay -343.000851831672 -342.93622246917 -342.915992626516 -342.736888118411
## 95 22 27 16 19
## VaR2
## DoTinCay -342.40267862951 -342.264298901505 -342.031946227372 -341.840401160693
## 95 19 14 13 17
## VaR2
## DoTinCay -341.434611911557 -341.398438268987 -341.155057767297
## 95 13 9 10
## VaR2
## DoTinCay -341.118492249315 -340.904056605984 -340.823099960064 -340.6642588347
## 95 7 2 2 8
## VaR2
## DoTinCay -340.551683057377 -340.491002542054 -339.942086400136
## 95 7 3 3
## VaR2
## DoTinCay -339.084937032057 -338.814279741229 -338.784242392523
## 95 6 2 1
## VaR2
## DoTinCay -338.742084751331 -338.652088998304 -338.561048478363
## 95 3 1 1
## VaR2
## DoTinCay -338.008004120738 -337.78371255746 -337.769775247443 -337.373068897904
## 95 6 2 1 2
## VaR2
## DoTinCay -337.245631905461 -336.300482667085
## 95 1 1
VaR của danh mục đầu tư trong 10000 ngày tiếp theo ứng với xác suất 95%, mức lỗ tối đa mà nhà đầu tư có thể gặp phải nhiều nhất dao động từ 348 đến 353 trong một ngày.
simulation_results3 <- data.frame(matrix(ncol = 2, nrow = N))
colnames(simulation_results3) <- c("DoTinCay", "VaR3")
for (i in 1:N) {
sample_values <- sample(RP3, size = length(RP3), replace = TRUE)
sorted_sample <- sort(sample_values)
var_sample <- Vp * sorted_sample[k]
simulation_results3[i, ] <- c(alpha * 100, var_sample)}
table(simulation_results3)## VaR3
## DoTinCay -457.230739544956 -455.32558945875 -455.195466522031 -451.509665350116
## 95 1 1 1 3
## VaR3
## DoTinCay -450.933644357221 -450.876485782992 -450.245314519391 -450.21847956666
## 95 2 1 2 2
## VaR3
## DoTinCay -448.836743638692 -448.770146550812 -448.147682833522
## 95 1 4 7
## VaR3
## DoTinCay -448.069406613216 -448.05923653918 -447.319756076956 -447.015072069377
## 95 1 3 1 3
## VaR3
## DoTinCay -446.844529210724 -446.673146827381 -445.583135965322
## 95 5 11 9
## VaR3
## DoTinCay -445.139567807615 -444.91817763106 -444.334240627278 -444.088001481076
## 95 8 10 15 13
## VaR3
## DoTinCay -443.975769191516 -442.791914403324 -442.117553798678
## 95 7 14 13
## VaR3
## DoTinCay -441.958186244715 -441.829688571573 -441.398476021648
## 95 26 24 25
## VaR3
## DoTinCay -441.244128471263 -441.215652467148 -441.135135554154
## 95 31 34 30
## VaR3
## DoTinCay -441.129358172097 -441.117763909915 -441.116413668121
## 95 26 44 33
## VaR3
## DoTinCay -440.298198989515 -440.028612199406 -439.669526131583
## 95 55 64 71
## VaR3
## DoTinCay -439.480359073707 -439.279879640218 -438.309311047433
## 95 48 73 65
## VaR3
## DoTinCay -437.915230892649 -437.422174175737 -437.14906064479 -436.795697669252
## 95 63 68 71 91
## VaR3
## DoTinCay -436.464699270047 -435.389022505204 -434.60692483956 -433.519686351191
## 95 94 100 105 114
## VaR3
## DoTinCay -432.839324029954 -432.611205695466 -432.601284447287
## 95 104 121 136
## VaR3
## DoTinCay -432.475437012885 -432.388226398572 -432.048648581462
## 95 137 120 127
## VaR3
## DoTinCay -431.483224705964 -431.338839900137 -430.631859962087
## 95 150 159 137
## VaR3
## DoTinCay -429.922067076696 -429.837454096189 -429.819695491913
## 95 158 172 155
## VaR3
## DoTinCay -429.799297637814 -429.761273236906 -429.719886748137 -429.36866810245
## 95 165 165 157 167
## VaR3
## DoTinCay -428.880557449345 -428.763280019142 -428.517944698648
## 95 176 166 175
## VaR3
## DoTinCay -428.455692788141 -428.443710869511 -427.992649538824
## 95 213 156 189
## VaR3
## DoTinCay -427.972386559681 -427.537434028835 -426.763808016597
## 95 174 180 174
## VaR3
## DoTinCay -426.463182776473 -425.143506362069 -425.070396351126
## 95 187 177 200
## VaR3
## DoTinCay -424.912117745278 -424.772497187957 -424.474192074857
## 95 166 174 157
## VaR3
## DoTinCay -423.657528864219 -423.63487100034 -422.719390141424 -422.55071031863
## 95 158 150 186 156
## VaR3
## DoTinCay -422.427416169491 -422.242553248466 -422.198725574576
## 95 148 153 150
## VaR3
## DoTinCay -422.161973589255 -420.739167450357 -420.615388943126
## 95 145 110 125
## VaR3
## DoTinCay -420.576123842666 -420.301629209909 -419.525020426725
## 95 129 115 104
## VaR3
## DoTinCay -419.320783096948 -418.432874054533 -418.312559285301
## 95 116 114 91
## VaR3
## DoTinCay -417.996527356594 -417.312314801919 -416.961320881404
## 95 105 85 88
## VaR3
## DoTinCay -416.810801332232 -416.786111508847 -415.85971306862 -414.855855681724
## 95 83 66 52 77
## VaR3
## DoTinCay -414.854586786895 -414.58813635856 -414.281588233578 -413.788771626171
## 95 63 63 53 47
## VaR3
## DoTinCay -413.785474908641 -413.603646303526 -413.207457576563
## 95 47 44 45
## VaR3
## DoTinCay -412.536360584204 -411.836138335673 -411.63658446389 -411.467994552295
## 95 33 40 34 29
## VaR3
## DoTinCay -411.315743147833 -411.152996766298 -410.535798367251 -410.34317353823
## 95 36 28 26 20
## VaR3
## DoTinCay -410.289030618181 -409.920597001818 -409.860675122076
## 95 18 17 14
## VaR3
## DoTinCay -409.743032786913 -409.542170209996 -409.424065470967
## 95 27 12 13
## VaR3
## DoTinCay -409.422053895385 -409.330518307627 -409.148019011099
## 95 5 7 7
## VaR3
## DoTinCay -409.064933362693 -408.182683837071 -408.080586013151
## 95 10 4 10
## VaR3
## DoTinCay -408.039585500593 -407.599569831518 -406.905366643295
## 95 4 7 8
## VaR3
## DoTinCay -406.626783932929 -406.621113817236 -406.618702333672
## 95 8 4 3
## VaR3
## DoTinCay -406.539379192239 -406.525816575822 -404.785657379767
## 95 4 4 1
## VaR3
## DoTinCay -404.680316455419 -404.545387544077 -403.874837090967
## 95 3 3 2
## VaR3
## DoTinCay -403.294965454037 -403.211262235557 -401.824428543094
## 95 1 1 1
## VaR3
## DoTinCay -397.946278910233
## 95 1
VaR của danh mục đầu tư trong 10000 ngày tiếp theo ứng với xác suất 95%, mức lỗ tối đa mà nhà đầu tư có thể gặp phải nhiều nhất dao động từ 420 đến 430 trong một ngày.
Quy ước mức độ rủi ro:
Rủi ro cao: mức lỗ của danh mục vượt quá 0,2%
Rủi ro trung bình: mức lỗ của danh mục nằm trong khoảng (0,1%, - 0,2%]
Rủi ro thấp: mức lỗ của danh mục nhỏ hơn 0,1%
Mô hình 1
V1<-100000*RP1
XS1 <- cut(V1, breaks = c(-Inf, 0, Inf), labels = c("loss", "profit"))
profit <- V1[XS1 == "profit"]
loss <- V1[XS1 == "loss"]
table(XS1)## XS1
## loss profit
## 5035 4964
Trong 10000 phiên giao dịch tiếp theo có 5035 phiên có lợi nhuận âm và 4964 phiên có lợi nhuận dương.
Cao <- RP1[RP1 < -0.002]
Trungbinh <- RP1[RP1 >= -0.002 & RP1 < -0.001]
Thap <- RP1[RP1 >= -0.001 & RP1 <0]
table(cut(RP1, breaks = c(-Inf, -0.002, -0.001, 0), labels = c("Cao", "Trungbinh", "Thap")))##
## Cao Trungbinh Thap
## 908 1591 2536
## Installing package into 'C:/Users/HP/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
##
## There is a binary version available but the source version is later:
## binary source needs_compilation
## ggplot2 3.4.2 3.4.3 FALSE
## installing the source package 'ggplot2'
library(ggplot2)
data <- data.frame(
ruiro = factor(c("Cao", "Trungbinh", "Thap"), levels = c("Cao", "Trungbinh", "Thap")),
Probability = c(length(Cao)/length(RP1), length(Trungbinh)/length(RP1), length(Thap)/length(RP1)))
ggplot(data, aes(x = ruiro, y = Probability, fill = ruiro)) +
geom_bar(stat = "identity", color = "white") +
geom_text(aes(label = scales::percent(Probability)), vjust = -0.5, color = "navy") Mô hình 2
V2<-100000*RP2
XS2 <- cut(V2, breaks = c(-Inf, 0, Inf), labels = c("loss", "profit"))
profit <- V2[XS2 == "profit"]
loss <- V2[XS2 == "loss"]
table(XS2)## XS2
## loss profit
## 5040 4959
Trong 10000 phiên giao dịch tiếp theo có 5040 phiên có lợi nhuận âm và 4959 phiên có lợi nhuận dương.
Cao <- RP2[RP2 < -0.002]
Trungbinh <- RP2[RP2 >= -0.002 & RP2 < -0.001]
Thap <- RP2[RP2 >= -0.001 & RP2 <0]
table(cut(RP2, breaks = c(-Inf,-0.002, -0.001, 0), labels = c("Cao", "Trungbinh", "Thap")))##
## Cao Trungbinh Thap
## 1790 1440 1810
data <- data.frame(
ruiro = factor(c("Cao", "Trungbinh", "Thap"), levels = c("Cao", "Trungbinh", "Thap")),
Probability = c(length(Cao)/length(RP2), length(Trungbinh)/length(RP2), length(Thap)/length(RP2)))
ggplot(data, aes(x = ruiro, y = Probability, fill = ruiro)) +
geom_bar(stat = "identity", color = "white") +
geom_text(aes(label = scales::percent(Probability)), vjust = -0.5, color = "navy") Mô hình 3
V3<-100000*RP3
XS3 <- cut(V3, breaks = c(-Inf, 0, Inf), labels = c("loss", "profit"))
profit <- V3[XS3 == "profit"]
loss <- V3[XS3 == "loss"]
table(XS3)## XS3
## loss profit
## 4997 5002
Trong 10000 phiên giao dịch tiếp theo có 4997 phiên có lợi nhuận âm và 5002 phiên có lợi nhuận dương.
Cao <- RP3[RP3 < -0.002]
Trungbinh <- RP3[RP3 >= -0.002 & RP3 < -0.001]
Thap <- RP3[RP3 >= -0.001 & RP3 <0]
table(cut(RP3, breaks = c(-Inf,-0.002, -0.001, 0), labels = c("Cao", "Trungbinh", "Thap")))##
## Cao Trungbinh Thap
## 1971 1320 1706
data <- data.frame(
ruiro = factor(c("Cao", "Trungbinh", "Thap"), levels = c("Cao", "Trungbinh", "Thap")),
Probability = c(length(Cao)/length(RP3), length(Trungbinh)/length(RP3), length(Thap)/length(RP3)))
ggplot(data, aes(x = ruiro, y = Probability, fill = ruiro)) +
geom_bar(stat = "identity", color = "white") +
geom_text(aes(label = scales::percent(Probability)), vjust = -0.5, color = "navy") Ba mô hình đầu tư (mô hình 1, mô hình 2 và mô hình 3) được so sánh dựa trên kết quả của việc mô phỏng 10000 ngày tới với độ tin cậy 95%. Mục tiêu của việc này là đánh giá tính khả thi và mức độ rủi ro của từng mô hình. Kết quả của mô phỏng cho thấy rằng:
Mô hình 1 cho thấy xác suất danh mục có mức độ rủi ro thấp nhất trong 3 mô hình (25,4%). Điều đó có nghĩa là mô hình khả thi đối với mục tiêu của nhà đầu tư là bảo toàn vốn và giảm thiểu rủi ro, mô hình 1 có thể là lựa chọn hợp lý.
Xác suất rủi ro thấp và cao của danh mục trong mô hình 2 có tỷ lệ chênh lệch không quá lớn lần lượt là 18,1% và 17,9%. Có thể nói mô hình này có thể đáp ứng cả mục tiêu bảo toàn vốn và khả năng sinh lời, tạo ra sự cân nhắc hợp lý giữa rủi ro và lợi nhuận.
Đối với mô hình 3, danh mục đầu tư có khả năng lỗ cao (19,7%), nhưng mô hình này cũng mang lại cơ hội lợi nhuận tiềm năng cao hơn. Nếu nhà đầu tư sẵn sàng chấp nhận rủi ro để đạt được lợi nhuận hấp dẫn, mô hình 2 có thể là sự lựa chọn phù hợp.
Tiểu luận sử dụng phương pháp mô phỏng Monte Carlo để tính giá trị rủi ro của danh mục đầu tư thuộc nhóm các cổ phiếu nghành ngân hàng được niêm yết trên sàn HOSE trong phạm vi thời gian 02/01/2018 - 04/08/2023. Sau quá trình kiểm định phân phối cho các biến đầu vào, kết quả cho thấy chưa thể xác định được chính xác phân phối của các biến. Do đó, tôi đã sử dụng mô hình GBM để thực hiện mô phỏng dưới giả định phân phối chuẩn và phân phối ghép. Thông qua kết quả thực nghiệm, VaR của danh mục khi mô phỏng giá cổ phiếu theo GBM dưới giả định phân phối chuẩn (mô hình 1) đạt được khoản lỗ tối đa thấp nhất trong ba mô hình. VaR của danh mục khi mô phỏng giá cổ phiếu theo GBM dưới giả định phân phối ghép giữa giữa phân phối chuẩn và phân phối laplace (mô hình 3) có khoản lỗ tối đa cao nhất trong 3 mô hình.
Lựa chọn mô hình đầu tư phù hợp phụ thuộc vào tình hình tài chính cá nhân, mục tiêu đầu tư và sẵn sàng chấp nhận rủi ro. Việc cân nhắc kỹ lưỡng giữa khả năng sinh lời và mức độ rủi ro sẽ giúp nhà đầu tư đưa ra quyết định đúng đắn về cách phân bổ danh mục đầu tư của mình.
Việc đánh giá giá trị rủi ro danh mục đầu tư cổ phiếu thuộc nhóm ngành ngân hàng là vô cùng quan trọng để nhà đầu tư có cái nhìn chính xác về tiềm năng rủi ro và lợi nhuận của danh mục trong tương lai. Dựa vào kết quả mô phỏng, nhà đầu tư có thể điều chỉnh chiến lược đầu tư của mình, ưu tiên các mô hình có rủi ro thấp hơn hoặc tăng cường các biện pháp quản lý rủi ro phù hợp để giảm thiểu tiềm năng tổn thất. Tóm lại, giá trị rủi ro danh mục đầu tư đóng vai trò quan trọng trong việc hỗ trợ quyết định đầu tư an toàn và bền vững cho nhà đầu tư.
Dựa vào kết quả mô phỏng giá trị rủi ro của danh mục đầu tư cổ phiếu thuộc nhóm ngành ngân hàng, dưới đây là một số khuyến nghị chung giúp nhà đầu tư hiểu và quản lý rủi ro đầu tư một cách hiệu quả:
Đánh giá mục tiêu đầu tư: Xác định rõ mục tiêu đầu tư trước khi đưa ra quyết định. Cần xác định liệu mục tiêu của nhà đầu tư là tăng thu nhập ổn định trong thời gian dài hay là chấp nhận rủi ro cao hơn để có cơ hội thu lợi nhuận lớn hơn.
Đa dạng hóa danh mục: Hãy đảm bảo rằng danh mục đầu tư đa dạng về các công ty và ngành nghề không chỉ trong lĩnh vực ngân hàng. Đa dạng hóa giúp giảm thiểu tác động của các yếu tố không lường trước đối với danh mục của bạn.
Theo dõi và đánh giá thường xuyên: Cập nhật và theo dõi dữ liệu tỷ suất lợi nhuận thường xuyên để hiểu sự biến động của danh mục theo thời gian. Điều này giúp nhà đầu tư nhận biết và đối phó với các biến động và tình huống không mong đợi.
Sử dụng kỹ thuật quản lý rủi ro: Hãy sử dụng các kỹ thuật quản lý rủi ro như đặt mục tiêu lợi nhuận cụ thể, đặt ngưỡng mức rủi ro tối đa cho danh mục, hoặc sử dụng các công cụ tài chính như hợp đồng tùy chọn (options) để bảo vệ danh mục khỏi sự biến động không mong đợi.
Tư vấn chuyên gia: Nếu không có kinh nghiệm và kiến thức đầy đủ về quản lý rủi ro và đầu tư, việc tư vấn với chuyên gia tài chính hoặc nhà quản lý tài sản có thể hỗ trợ nhà đầu tư đưa ra quyết định thông minh và hiệu quả.
Quản lý rủi ro là một phần quan trọng của đầu tư và không thể tránh khỏi hoàn toàn. Tuy nhiên, thông qua việc hiểu và đánh giá cẩn thận, nhà đầu tư có thể xác định được mức rủi ro phù hợp và đưa ra quyết định đầu tư hợp lý để đạt được mục tiêu tài chính của mình.
Tiếng Việt
[1]. Anh, T. T. X., & Hương, T. T. T. (2021). ĐÁNH GIÁ HIỆU QUẢ ĐẦU TƯ CỦA CÁC QUỸ ĐẦU TƯ TRÊN THỊ TRƯỜNG CHỨNG KHOÁN VIỆT NAM TRONG GIAI ĐOẠN COVID-19. Tạp chí Quản lý Kinh tế Quốc tế (Journal of International Economics and Management), (141), 41-61.
[2]. Huệ, N. T. M., Khâm, T. Đ., & Hương, T. T. L. (2015). Ứng dụng phương pháp giá trị chịu rủi ro (VaR) trong đo lường rủi ro hệ thống trên thị trường chứng khoán Việt Nam.
[3]. Nga, N. T. H. (2022). Thị trường chứng khoán và thị trường bất động sản ở Việt Nam.
[4]. Nguyễn, T. T. H. (2015). ỨNG DỤNG LÝ THUYẾT TÀI CHÍNH HIỆN ĐẠI VÀO ĐO LƯỜNG RỦI RO TRONG ĐẦU TƯ CỔ PHIẾU TẠI THỊ TRƯỜNG CHỨNG KHOÁN VIỆT NAM.
[5]. Trương, T. M. H., Hoàng, N. Q., & Huỳnh, T. O. T. (2019). Ứng dụng phần mềm R phân tích số liệu trực tuyến thị trường chứng khoán trong nước và quốc tế.
[6]. YẾT, C. (2008). ỨNG DỤNG VAR TRONG QUẢN TRỊ RỦI RO DANH MỤC.
Tiếng Anh
[7]. Fabozzi, F. J., Modigliani, F., Jones, F. J., & Ferri, M. G. (2010). Foundations of Financial Markets and Institutions. Prentice Hall.
[8]. Fan, Ying, Yi-Ming Wei, & Wei-Xuan Xu (2004), ‘Application of VaR methodology to risk management in the stock market in China’, Computers & Industrial Engineering, 46(2), 383 -388.
[9]. Fiingroup, B. biên tập. (2020). Thị trường chứng khoán là gì? Nên đầu tư vào chứng khoán hay không?
[10]. Javed Iqbal, Sara Azher & Ayesha Ijaz (2010), ‘Predictive ability of Value-at-risk Methods: Evidence from the Karachi Stock Exchange – 100 Index’, Economics and Econometrics Research Institute, 18/2010.
[11]. Linsmeier, T. J., & Pearson, N. D. (2000). Value at risk. Financial analysts journal, 56(2), 47-67.
[12]. Luo Dancheng & Zhou Juan (2010), The empirical study of VaR method in China’s Financial risk Management, Shenyang University of Technology, China
[13]. Mansur Masih, Mohammed Alzahrani, Omar Al-Titi (2010), ‘Systematic risk and time scales: New evidence from an application of wavelet approach to the emerging Gulf stock markets’, International Review of Financial Analysis, 19(1), 10 – 18.
[14]. Mishkin, F. S. (2018). Principles of Money, Banking, and Financial Markets. Pearson Education.
[15]. Rizvi, S.K.A., Mirza, N., Naqvi, B. & Rahat, B. (2020), “COVID-19 and asset management in EU: a preliminary assessment of performance and investment style”, Journal of Asset Management, Vol. 21 No. 4, pp 281 - 291.
[16]. Saunders, A., & Cornett, M. M. (2014). Financial Institutions Management: A Risk Management Approach. McGraw-Hill Education.