1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng Dụng Phương Pháp Học Máy Trong Giao Dịch Cổ Phiếu Theo Chỉ Báo Bằng Ngôn Ngữ Lập Trình Python.pdf

101 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng dụng phương pháp học máy trong giao dịch cổ phiếu theo chỉ báo bằng ngôn ngữ lập trình Python
Tác giả Nguyễn Lê Thanh Thy
Người hướng dẫn TS. Lê Hoàng Anh
Trường học Trường Đại Học Ngân Hàng TP. Hồ Chí Minh
Chuyên ngành Tài Chính – Ngân Hàng
Thể loại Khóa luận Tốt nghiệp Đại Học
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 101
Dung lượng 5,12 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ NGHIÊN CỨU (14)
    • 1.1. Lý do chọn đề tài (14)
    • 1.2. Mục tiêu nghiên cứu (16)
    • 1.3. Câu hỏi nghiên cứu (16)
    • 1.4. Đối tượng và phạm vi nghiên cứu (17)
    • 1.5. Phương pháp nghiên cứu (17)
    • 1.6. Bố cục khóa luận (18)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU THỰC NGHIỆM (18)
    • 2.1. Các khái niệm liên quan (20)
      • 2.1.1. Cổ phiếu (20)
      • 2.1.2. Ngôn ngữ lập trình Python (21)
      • 2.1.3. Chỉ báo kỹ thuật (23)
    • 2.2. Cơ sở lý thuyết (32)
      • 2.2.1. Lý thuyết Markowitz (32)
      • 2.2.2. Phương pháp đo lường hiệu quả của danh mục đầu tư (34)
    • 2.3. Khảo lược nghiên cứu có liên quan (35)
  • CHƯƠNG 3: PHƯƠNG PHÁP NGHIÊN CỨU (18)
    • 3.1. Quy trình nghiên cứu (38)
    • 3.2. Chiến lược giao dịch (40)
      • 3.2.1. Chiến lược giao dịch theo chỉ báo SMA (40)
      • 3.2.2. Chiến lược giao dịch theo dải Bollinger (41)
      • 3.2.3. Chiến lược giao dịch theo chỉ báo RSI (42)
      • 3.2.4. Chiến lược giao dịch thep chỉ báo MACD (42)
    • 3.3. Danh mục tối ưu rủi ro (43)
    • 3.4. Thuật toán thực thi chiến lược giao dịch (45)
      • 3.4.1. Giai đoạn huấn luyện (45)
      • 3.4.2. Giai đoạn kiểm tra (46)
    • 3.5. Dữ liệu (48)
  • CHƯƠNG 4: KẾT QUẢ NGHIÊN CỨU (18)
    • 4.1. Giao dịch theo các chiến lược giai đoạn 2018 – 2022 (52)
      • 4.1.1. Chiến lược giao dịch theo chỉ báo SMA (52)
      • 4.1.2. Chiến lược giao dịch theo dải Bollinger (54)
      • 4.1.3. Chiến lược giao dịch theo chỉ báo RSI (55)
      • 4.1.4. Chiến lược giao dịch theo chỉ báo MACD (57)
    • 4.2. Tối ưu rủi ro các danh mục đầu tư (59)
      • 4.2.1. Danh mục theo chỉ báo SMA (59)
      • 4.2.2. Danh mục theo dải Bollinger (60)
      • 4.2.3. Danh mục theo chỉ báo RSI (60)
      • 4.2.4. Danh mục theo chỉ báo MACD (61)
    • 4.3. Kết quả giao dịch của các danh mục trong năm 2023 (62)
      • 4.3.1. Danh mục theo chỉ báo SMA (62)
      • 4.3.2. Danh mục theo dải Bollinger (62)
      • 4.3.3. Danh mục theo chỉ báo RSI (63)
      • 4.3.4. Danh mục theo chỉ báo MACD (65)
      • 4.3.5. Danh mục tối ưu nhất (66)
  • CHƯƠNG 5: KẾT LUẬN VÀ ĐỀ XUẤT (18)
    • 5.1. Kết luận (68)
    • 5.2. Đề xuất áp dụng thực tiễn (69)
  • PHỤ LỤC (75)

Nội dung

TỔNG QUAN VỀ NGHIÊN CỨU

Lý do chọn đề tài

Thị trường chứng khoán có mặt từ rất lâu ở các nước phát triển và hầu hết các nước đang phát triển Đến nay, thị trường chứng khoán đã trở thành một thị trường không thể thiếu ở mọi nền kinh tế muốn phát triển vững mạnh Sau hơn 23 năm hình thành và phát triển đến ngày này, thị trường chứng khoán đã đạt những thành tựu nhất định cũng với những chuyển mình lớn mạnh của nền kinh tế Đặc biệt là khi dịch bệnh COVID –

19 diễn ra dẫn đến nhiều lĩnh vực hoạt động kinh doanh bị đóng băng, thị trường chứng khoán trở thành điểm nổi bật và đáng chú ý

Cổ phiếu là công cụ đầu tư sinh lợi cao trên thị trường vốn và sự phát triển mạnh mẽ của thị trường chứng khoán đã thu hút sự quan tâm của rất nhiều nhà đầu tư muốn đa dạng thu nhập, tài sản của mình Theo thông tin từ Bộ Tài chính, chỉ trong năm 2023 số tài khoản của các nhà đầu tư mới tăng trên 350.000 tài khoản, đưa tổng số tài khoản lên hơn 7,4 triệu tài khoản, tương đương với 7,5% dân số (Bình Khánh, 2024) Cùng với mức tăng của các nhà đầu tư mới, các doanh nghiệp cũng đang gia tăng hoạt động niêm yết để có thể tiếp cận nguồn vốn trên thị trường

Tuy nhiên, lợi nhuận hấp dẫn của cổ phiếu và thị trường chứng khoán đi kèm với những biến động, khó lường, rủi ro thị trường Trong năm 2023, nhà đầu tư chứng kiến không ít biến động và áp lực đến từ diễn biến phức tạp của thị trường chứng khoán quốc tế Thị trường chứng khoán phản ứng nhanh nhất trước lạm phát, sụt giảm kinh tế và đặc biệt là xung đột chính trị quốc tế phức tạp

Thị trường chứng khoán trở thành kênh đầu tư hấp dẫn cho người dân Tuy nhiên, với những biến động nhanh chóng và khó lường, thị trường chứng khoán đòi hỏi các nhà đầu tư tham gia thị trường phải nắm vững các kiến thức về kinh tế, xã hội, lĩnh vực đầu tư, tài chính, phân tích tài chính và cả khả năng cập nhật thông tin liên tục để đánh giá lựa chọn các mã cổ phiếu, chiến lược giao dịch phù hợp cũng như là ra quyết đính đầu tư chính xác

Việc ứng dụng công nghệ vào giao dịch chứng khoán được cho rằng tạo ra sự thay đổi lớn trong hoạt động đầu tư chứng khoán nhờ khả năng xử lý lượng dữ liệu khổng lồ trong thời gian nhanh chóng Đặc biệt khi các ngôn ngữ lập trình đã dần trở nên phổ biến và dễ học hơn, một trong số đó chính là ngôn ngữ lập trình Python Python đang được rất nhiều nhà đầu tư hay nhà quản lý quỹ sử dụng để thu thập, xử lý dữ liệu và tính toán các phân tích kỹ thuật như chỉ báo, các chỉ số hiệu quả đầu tư

Chính vì lẽ đó, ứng dụng phương pháp học máy trong giao dịch cổ phiếu là một nhu cầu cấp thiết Chủ đề này đã được nhiều nhà nghiên cứu trong và ngoài nước quan tâm đưa ra nhiều giải pháp Mỗi giải pháp đều có ưu nhược điểm khác nhau

Vì các lý do trên tôi lựa chọn đề tài “ Ứng dụng phương pháp học máy trong giao dịch cổ phiếu theo chỉ báo bằng ngôn ngữ lập trình Python” làm đề tài khóa luận tốt nghiệp của mình.

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

Khóa luận tập trung nghiên cứu ứng dụng phương pháp học máy trong giao dịch cổ phiếu theo chỉ báo bằng ngôn ngữ lập trình Python với mục tiêu cho phép người dùng (nhà đầu tư, nhà quản lý quỹ, ) đề xuất danh mục đầu tư cùng với chiến lược giao dịch tương ứng nhằm tối đa hóa lợi nhuận và tối ưu rủi ro

Khóa luận tập trung vào 3 mục tiêu chính:

- Tổng hợp, nghiên cứu các tài liệu về phương pháp học máy trong giao dịch cổ phiếu dựa trên các phân tích kỹ thuật cụ thể là các chỉ báo và tối ưu hóa rủi ro cho danh mục đầu tư

- Xây dựng thuật toán tính toán chỉ báo, giao dịch cổ phiếu dựa trên chỉ báo tương ứng và đề xuất DMĐT hiệu quả

- So sánh, đánh giá hiệu quả - tính khả thi, đề xuất giải pháp tối ưu cho hoạt động ứng dụng học máy trong giao dịch cổ phiếu tự động theo chỉ báo.

Câu hỏi nghiên cứu

Khóa luận tập trung trả lời các câu hỏi nghiên cứu sau:

- Cơ sở lý thuyết nào liên quan đến cổ phiếu, ngôn ngữ lập trình, phương pháp học máy, các chỉ báo kỹ thuật, các chiến thuật giao dịch theo chỉ báo?

- Các thuật toán giao dịch tự động theo từng chỉ báo xây dựng như thế nào? Giao dịch có hiệu quả, chính xác?

- Các đề xuất nào nhằm ứng dụng học máy trong giao dịch cổ phiếu theo chỉ báo?

Đối tượng và phạm vi nghiên cứu

Các phương pháp học máy trong giao dịch cổ phiếu theo chỉ báo bằng ngôn ngữ lập trình Python

Khóa luận sử dụng các thuật toán bằng ngôn ngữ lập trình Python và dữ liệu giao dịch của các cổ phiếu thuộc VN30 (theo cập nhật từ Sở Giao dịch Chứng khoán Thành phố Hồ Chí Minh ngày 18/02/2024) từ ngày 01/01/2018 đến ngày 31/12/2023 Chỉ sử dụng dữ liệu giá giao dịch của 30 cổ phiếu trên để đảm bảo dữ liệu giá không bị thiếu và nằm trong khả năng xử lý của công cụ chính để thực hiện khoá luận là Google Colab.

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

Để đạt được các mục tiêu nghiên cứu, khóa luận sử dụng các phương pháp nghiên cứu sau:

Phương pháp nghiên cứ u t ạ i bàn : Phương pháp này được sử dụng để tổng hợp cơ sở lý thuyết và các nghiên cứu liên quan về ứng dụng phương pháp học máy trong giao dịch cổ phiếu từ đó làm nền tảng cho khóa luận

Phương pháp định lượ ng : Phương pháp này được thực hiện nhằm xây dựng thuật toán giao dịch cổ phiếu theo chỉ báo dựa trên cơ sở dữ liệu giá thu thập Tác giả sử dụng ngôn ngữ lập trình Python để xây dựng các thuật toán giao dịch

Phương pháp phân tích và tổ ng h ợ p : Phương pháp này được sử dụng để thực hiện phân tích các kết quả, luận cứ đã thu được trong quá trình nghiên cứu và sau đó tổng hợp lại và đưa ra luận điểm chính.

Bố cục khóa luận

Ngoài lời mở đầu, kết luận, phụ lục và danh mục các tài liệu tham khảo, khóa luận gồm 5 chương như sau:

Chương 1: Tổng quan về nghiên cứu

Trong chương này, tác giả trình bày lý do chọn đề tài, mục tiêu nghiên cứu, đặt ra câu hỏi nghiên cứu, đối tượng, phạm vi nghiên cứu, ý nghĩa lý luận – thực tiễn và cuối cùng là bố cục của khóa luận.

CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU THỰC NGHIỆM

Các khái niệm liên quan

Theo Stoll (2006), thị trường chứng khoán là loại hình trung gian tài chính đơn giản Khác với ngân hàng chuyển tiền gửi thành các khoản vay, thị trường chứng khoán chỉ chuyển quyền sở hữu từ nhà đầu tư này sang nhà đầu tư khác và giao dịch chủ yếu là cổ phiếu Đã có rất nhiều khái niệm về cổ phiếu từ khi được hình thành cho đến nay Một số khái niệm điển hình được đề cập sau đây:

Tại Khoản 2, Điều 4 Luật Chứng khoán năm 2019 và có hiệu lực thi hành từ ngày 01/01/2021 đưa ra định nghĩa như sau: “ Cổ phiếu là loại chứng khoán xác nhận quyền và lợi ích hợp pháp của người sở hữu đối với một phần vốn cổ phần của tổ chức phát hành.”

“Cổ phiếu, còn được gọi là vốn chủ sở hữu, là một chứng khoán đại diện cho quyền sở hữu một phần của công ty phát hành Cổ phiếu cho phép chủ sở hữu có được một phần tài sản và lợi nhuận của công ty bằng với số lượng cổ phiếu họ sở hữu” Đây là khái niệm bao hàm tổng quát về cổ phiếu được trang giáo dục tài chính lớn nhất Investopia đưa ra và được tạm dịch

Theo Waldman (2005) cho rằng: “Cổ phiếu đại diện cho một phần quyền sở hữu của công ty bao gồm cả yêu cầu về thu nhập và tài sản của công ty” Vì vậy, các cổ đông là chủ sở hữu một phần của công ty và giá trị cổ phiếu tăng giảm theo giá trị của công ty

Với các khái niệm như trên, cổ phiếu là bằng chứng và là chứng chỉ xác nhận quyền sở hữu của các cổ đông đối với công ty phát hành

2.1.2 Ngôn ngữ lập trình Python

Python là một ngôn ngữ lập trình cấp cao, hướng đối tượng, được diễn giải với ngữ nghĩa động Cấu trúc dữ liệu được xây dựng ở cấp độ cao, kết hợp với tính năng gõ động và liên kết động Cùng với đó, Python có cú pháp đơn giản dễ học nhấn mạnh vào khả năng đọc Python còn hỗ trợ các mô – đun và gói, khuyến khích tính mô – đun chương trình và tái sử dụng thuật toán Đặc biệt, trình thông dịch Python và các thư viện tiêu chuẩn mở rộng có sẵn ở dạng nguồn hoặc dạng nhị phân miễn phí cho tất cả các nền tảng chính và có thể phân phối miễn phí

Phiên bản 0.9.0 – phiên bản đầu tiên của ngôn ngữ lập trình Python – được Guido van Rossum giới thiệu với thế giới vào năm 1991 Tuy nhiên, phải mất gần 20 năm sau, Python mới trở thành nền tảng công nghệ và ngôn ngữ lập trình chính trong ngành tài chính Trước đó, Python được chủ yếu là các quỹ phòng hộ sử dụng, việc áp dụng rộng rãi bắt đầu vào khoảng năm 2011

Sơ đồ 2-1 Các phiên bản Python được ra mắt đến nay

Nguồn: Tổng hợp của tác giả

Các phiên bản sau khắc phục hạn chế của các phiên bản trước, phát triển thêm nhiều tính năng, cụ thể như sau:

• Python 1.0: Được ra mắt vào tháng 1, 1994, có các tính năng mới là các công cụ lập trình chức năng lambda, map, filter và reduce

• Python 2.0: Được ra mắt ngày vào tháng 10, 2000, phiên bản này bao gồm toàn bộ danh sách, một bộ thu gom dọn rác đầy đủ và hỗ trợ Unicode

• Python 3.0: Được ra mắt vào thàng 12, 2008, là phiên bản lớn không tương thích ngược hoàn toàn Sau khi được xúc tiến phát triển do các vấn đề về bảo mật, khả năng một cuộc tấn công từ chối dịch vụ, Python 3.12 là bản phát hành ổn định mới nhất tính đến tháng 10, 2023

Phân tích kỹ thuật là hoạt động nghiên cứu hành vi của thị trường chủ yếu bằng việc sử dụng đồ thị về giá thị trường và khối lượng giao dịch của các chứng khoán nhằm mục đích dự báo xu hướng giá trong tương lai (Nguyễn Duy Linh và cộng sự, 2023) Phân tích kỹ thuật đã tạo ra những chỉ số được sử dụng để nắm bắt và đánh giá thị trường

Chỉ báo là sản phẩm của việc phân tích kỹ thuật, trở thành công cụ hữu hiệu cho những nhà đầu tư để nắm bắt thời điểm mua bán thích hợp, ra quyết định giao dịch chứng khoán phù hợp Về bản chất, các chỉ báo kỹ thuật là các hàm số toán học tích hợp vào phần mềm phân tích kỹ thuật để vẽ nên các biểu đồ kỹ thuật và được kiểm định hiệu quả đầu tư tốt

2.1.3.1 Đường trung bình di động giản đơn – SMA Đường trung bình di động giản đơn (Simple Moving Average – SMA) là một trong những công cụ phân tích tài chính phổ biến và dễ hiểu nhất trong phân tích kỹ thuật Đường SMA được sử dụng để đo lường xu hướng giá của một cổ phiếu bằng cách tính trung bình giá đóng cửa của nến giá gần nhất trong một khoảng thời gian nhất định (Hilpisch, 2020) Về cơ bản, đường SMA là đường nối các điểm trung bình cộng của giá đóng của trong một khoảng thời gian nhất định

• Công th ứ c tính c ủa đườ ng SMA:

P: Đây là mức giá đóng cửa của nến giá

1, 2, 3, n: đây là số thứ tự của phiên gần nhất tính từ 1 N là số phiên được tính cho SMA

Hình 2-1 Đường SMA50 của cổ phiếu FPT năm 2023

Nguồn: Kết quả nghiên cứu của tác giả

• Ý nghĩa của đườ ng SMA:

- Xác định xu hướ ng th ị trườ ng Đường SMA có ý nghĩa quan trọng trong những dự đoán về xu hướng của nến giá Dựa vào điểm giao cắt của đường giá và đường SMA hoặc của đường SMA ngắn hạn và dài hạn, nhà đầu tư có thể đoán biết được xu hướng tương lai Nếu đường giá cắt lên trên đường SMA hay đường SMA ngắn hạn cắt lên đường SMA dài hạn, dự đoán giá đang có xu hướng tăng Và ngược lại, nếu đường giá cắt xuống đường SMA hay đường SMA ngắn hạn cắt xuống đường SMA dài hạn, dự đoán giá có xu hướng giảm

- Xác đị nh h ỗ tr ợ kháng c ự Đường SMA còn đóng vai trò như một đường hỗ trợ và kháng cự trong phân tích kỹ thuật Nếu nến giá nằm trên đường SMA, nó đóng vai trò là vùng hỗ trợ Và ngược lại, khi đường SMA nằm trên nến giá, nó đóng vai trò là vùng kháng cự

- Tìm th ời điể m vào l ệ nh, ch ố t l ờ i và c ắ t l ỗ

Dựa vào đường SMA là vùng kháng cự hay hỗ trợ, các nhà đầu tư sẽ xác định được thời điểm vào lệnh, cắt lỗ/ chốt lời khá chính xác Ngoài ra dựa vào tín hiệu giao cắt giữa hai đường SMA, nhà đầu tư hoàn toàn đưa ra được chiến lược cho mình

Dải Bollinger (Bollinger Bands) là một công cụ phân tích kỹ thuật được sử dụng trong thị trường tài chính để đo lường biến động của giá cổ phiếu và xác định mức hỗ trợ và kháng cự tiềm năng (Hilpisch, 2020) Công cụ này được tạo ra bởi John Bollinger vào những năm 1980

Dải Bollinger bao gồm 3 thành phần chính:

- Đườ ng SMA: Thường là SMA 20 ngày nhưng hoàn toàn có thể điều chỉnh theo sở thích hoặc chiến lược giao dịch cụ thể

Cơ sở lý thuyết

Các nhà đầu tư muốn xây dựng một mô hình DMĐT nhưng trước hết phải xác định được rủi ro có thể có Harry Markowitz đã phát hiện ra phương sai của TSSL là một ước lượng có ý nghĩa rủi ro danh mục Thông qua đó, cho thấy tầm quan trọng của việc đa dạng hóa đầu tư để giảm thiểu tổng thể và cách thức để đa dạng hóa đầu tư hiệu quả

Các giả định của lý thuyết Markowitz:

- Các nhà đầu tư xem mỗi khoản đầu tư khác nhau được đại diện cho một phân phối xác suất của TSSL mong đợi lên một vài thời kỳ nắm giữ

- Các nhà đầu tư luôn muốn tối đa hóa lợi ích mong đợi trong một thời kỳ nhất định

- Các nhà đầu tư đánh giá rủi ro của DMĐT trên cơ sở phương sai của TSSL mong đợi

- Các nhà đầu tư căn cứ trên những quyết định độc lập của TSSL và rủi ro mong đợi Cho nên đường cong hữu dụng là một phương trình của TSSL và phương sai của TSSL

- Các nhà đầu tư ưa thích một TSSL cao hơn với một mức độ rủi ro cho trước, tương tự với một mức độ TSSL cho trước các nhà đầu tư thích rủi ro ít hơn

T ỷ su ấ t sinh l ợ i k ỳ v ọ ng c ủ a m ộ t danh m ục đầu tư đượ c tính d ự a trên công th ứ c sau:

- 𝑤 𝑖 : Tỷ trọng của tài sản i trong DMĐT

- 𝑅 𝑖 :TSSL kỳ vọng của tài sản

Theo lý thuyết Markowitz, rủi ro của một DMĐT được đo lường bằng độ lẹch chuẩn của TSSL trên DMĐT Rủi ro nói chung được thể hiện bằng độ lệch chuẩn của TSSL trên DMĐT như sau:

- 𝜎 𝑝𝑜𝑟𝑡 2 : Phương sai của TSSL của DMĐT

- 𝑤 𝑖(𝑗) : Tỷ trọng của tài sản i (hoặc j) trong DMĐT

- 𝜎 𝑖 2 : Phương sai của TSSL đối với tài sản i

- 𝐶𝑜𝑣 𝑖𝑗 : Hiệp phương sai giữa TSSL đối với tài sản i và j

2.2.2 Phương pháp đo lường hiệu quả của danh mục đầu tư

William F Sharpe đã đưa ra một phương pháp định lượng để đánh giá hiệu quả của DMĐT Phương pháp này được triển khai từ mô hình định giá tài sản vốn – CAPM

Về mặt lý luận phương pháp này tập trung xoay quanh đường tuyến tính biểu diễn thị trường vốn – CML Phương pháp Sharpe đánh giá danh mục thông qua hệ số được gọi là tỷ lệ Sharpe

Tỷ lệ Sharpe (Sharpe Ratio) là một thước đo xem lợi nhuận thu được là bao nhiêu trên một đơn vị rủi ro khi đầu tư vào một tài sản hay đầu tư theo chiến lược kinh doanh (Jansen, 2020) Tỷ lệ Sharpe được sử dụng để các nhà đầu hiểu được lợi tức của khoản đầu tư so với rủi ro của nó Về cơ bản, tỷ lệ Sharpe là lợi nhuận trung bình kiếm được vượt quá lợi nhuận phi rủi ro trên mỗi đơn vị rủi ro

- 𝑅 𝑝 : tỷ suất lợi nhuận của DMĐT

- 𝑅 𝑓 : tỷ suất lợi nhuận phi rủi ro

- 𝜎 𝑝 : độ lệch chuẩn của tỷ suất lợi nhuận vượt quá danh mục

Về cơ bản, hệ số Sharpe của DMĐT càng lớn, hiệu suất được điều chỉnh theo rủi ro càng tốt Như vậy, để tối ưu rủi ro của DMĐT cần phân bổ tỷ trọng vốn của từng tài sản trong danh mục để giá trị của tỷ lệ Sharpe đạt cực đại.

PHƯƠNG PHÁP NGHIÊN CỨU

Quy trình nghiên cứu

Nghiên cứu này được tác giả tiến hành theo quy trình sau:

Sơ đồ 3-1 Quy trình nghiên cứu

Nguồn: Đề xuất của tác giả

Xây dựng, thực hiện giao dịch theo chỉ báo

Xây dựng danh mục đầu tư tối ưu

Kiểm tra, đánh giá và đề xuất

Bước 1: Thu thập dữ liệu

Thực hiện thu thập dữ liệu giao dịch lịch sử của các mã chứng khoán thuộc VN30 từ năm 2018 đến năm 2022 bằng các thuật toán tự động Đồng thời, thực hiện xử lý dữ liệu về các định dạng phù hợp để thực hiện các bước tiếp theo

Bước 2: Xây dựng thuật toán và giao dịch theo các chỉ báo

Xây dựng thuật toán giao dịch theo các tín hiệu mua/bán của các chỉ báo (SMA, dải Bollinger, RSI, MACD) và thực thi thuật toán giao dịch tự động bằng ngôn ngữ lập trình Python với dữ liệu giá đóng của từ năm 2018 đến năm 2022 của 30 cổ phiếu thuộc VN30

Bước 3: Xây dựng DMĐT tối ưu

Dựa vào kết quả giao dịch theo các chỉ báo trên, tạo DMĐT với 5 mã cổ phiếu có lợi nhuận cao nhất tương ứng với từng chỉ báo giao dịch trong giai đoạn Tiếp tục sử dụng thuật toán tính toán tỷ trọng đầu tư nhằm tối ưu rủi ro của danh mục dựa trên phương pháp Sharpe

Bước 4: Kiểm tra, đánh giá và đề xuất

Với 4 DMĐT được tối ưu rủi ro tương ứng với từng chỉ báo, thực hiện giao dịch theo chỉ báo bằng dữ liệu giá giao dịch năm 2023, tiếp tục thực hiện đánh giá kết quả đầu tư, đưa ra DMĐT tối ưu và chỉ báo tương ứng đem lại lợi nhuận cao nhất cho nhà đầu tư và đề xuất quy trình áp dụng trong thực tiễn.

Chiến lược giao dịch

3.2.1 Chiến lược giao dịch theo chỉ báo SMA

Chiến lược giao dịch theo đường SMA phổ biến hiện nay dựa trên tín hiệu giao nhau tăng giá và giao nhau giảm giá giữa hai đường đường SMA Nếu đường SMA ngắn hạn cắt từ dưới lên đường SMA dài hạn cho thấy thị trường tăng giá nên thực hiện giao dịch mua vào Và ngược lại, nếu đường SMA ngắn hạn cắt từ trên xuống đường SMA dài hạn cho thấy thị trường giảm giá nên thực hiện giao dịch bán ra Tùy thuộc vào chiến lược giao dịch, các nhà đầu tư lựa chọn kỳ hạn của đường SMA phù hợp

Trong khóa luận này, tác giả lựa chọn kỳ hạn đối với đường SMA ngắn hạn là 20 ngày, đối với đường SMA dài hạn là 50 ngày Chiến lược được cụ thể như sau:

- Giao dịch mua khi đường SMA(20) cắt từ dưới lên đường SMA(50)

- Giao dịch bán khi đường SMA(20) cắt từ trên xuống đường SMA(50)

Thu ậ t toán th ự c thi chi ế n thu ậ t

3.2.2 Chiến lược giao dịch theo dải Bollinger

Chỉ báo Bollinger chỉ ra rằng giá giao dịch thường có xu hướng quay trở lại vùng trung tâm của dải băng Chiến lược giao dịch Bollinger Bounce là chiến lược giao dịch phổ biến dựa trên ý tưởng này của dải Bollinger Ở chiến lược này, giao dịch dựa theo tín hiệu từ việc bật lại dải băng lên hoặc dưới Nguyên nhân của việc bật lại này là dải trên và dải dưới của dải Bollinger đóng vai trò như những vùng hỗ trợ và kháng cự động Vì thế nên chiến thuật giao dịch theo dải Bollinger được cụ thể như sau:

- Giao dịch mua khi giá vượt quá dải dưới

- Giao dịch bán khi giá vượt quá dải trên

Với kỳ hạn 21 ngày (số ngày trong một tháng giao dịch) và độ lệch chuẩn bằng 1.25

Thu ậ t toán th ự c thi chi ế n thu ậ t

3.2.3 Chiến lược giao dịch theo chỉ báo RSI

Chỉ báo RSI được sử dụng để đo độ biến động và tốc độ di chuyển của giá theo một hướng trên biểu đồ Chỉ số RSI cho biết thời điểm cổ phiếu bị bán quá mức hay được mua quá mức trên thị trường

Cụ thể chiến lược giao dịch theo chỉ báo RSI như sau:

- Giao dịch mua khi chỉ số RSI dưới 30 cho thấy cổ phiếu đang bị quá bán

- Giao dịch bán khi chỉ số RSI trên 70 cho thấy cổ phiếu đang bị quá mua

Thu ậ t toán th ự c thi chi ế n thu ậ t

3.2.4 Chiến lược giao dịch thep chỉ báo MACD

Một trong những chiến thuật phổ biến sử dụng chỉ báo MACD là chiến thuật giao dịch khi MACD cắt đường Zero Cụ thể chiến lược như sau

- Giao dịch mua khi đường MACD cắt đường Zero từ dưới lên hay đường MACD chuyển dịch từ âm sang dương

- Giao dịch bán khi đường MACD cắt đường Zero từ trên xuống hay đường MACD chuyển dịch từ dương sang âm

Thu ậ t toán th ự c thi chi ế n thu ậ t

Danh mục tối ưu rủi ro

Để sử dụng hàm tối thiểu hóa (minimize) từ thư viện SciPy, cần thực hiện chuyển bài toán từ tối đa hóa (maximize) sang tối thiểu hóa (minimize) Nói cách khác, giá trị âm của tỷ lệ Sharpe được giảm thiểu tối đa để tìm giá trị lớn nhất DMĐT tối ưu được tính toán dựa trên hàm mục tiêu là tối thiểu hóa tỷ lệ Sharpe âm với:

- Dữ liệu đầu vào: Giá đóng cửa của các mã cổ phiếu từ ngày 01/01/2018 đến ngày 31/12/2022

- Tỷ trọng đầu tư vào mỗi tài sản trong danh mục lớn hơn hoặc bằng 10% và không quá 50% để đảm bảo đa dạng hóa DMĐT

- Tổng của các tỷ trọng đầu tư vào mỗi tài sản bằng 100%

- Lãi suất phi rủi ro bằng lãi suất trái phiếu chính phủ với kỳ hạn 10 năm được tổ chức phát hành ngày 29/11/2023 là 2.28 %/năm

Thu ậ t toán tính t ỷ tr ọ ng phân b ổ v ố n t ối ưu rủ i ro cho DMĐT :

- Hàm tính độ lệch chuẩn, TSSL kỳ vọng, tỷ lệ Sharpe:

- Hàm tính tỷ trọng phân bổ vốn để tối đa tỷ lệ Sharpe

- Hàm tính TSSL kỳ vọng, rủi ro ước tính và tỷ lệ Sharpe của danh mục tối ưu rủi ro

Thuật toán thực thi chiến lược giao dịch

Việc thực hiện giao dịch theo các chiến lược giao dịch chỉ báo trong giai đoạn huấn luyện từ năm 2018 đến năm 2022 giúp tìm ra các mã cổ phiếu có mức sinh lời cao nhất nhằm tối đa lợi nhuận cho DMĐT ở mỗi chiến lược giao dịch tương ứng Thực hiện giao dịch các mã cổ phiếu với cùng các yếu tố như:

- Phí giao dịch: 0.01%/giao dịch

- Số lượng cổ phiếu mỗi giao dịch mua =95% × 𝑆ố 𝑡𝑖ề𝑛 ℎ𝑖ệ𝑛 𝑐ó

- Số lượng cổ phiếu mỗi giao dịch bán: Bán toàn bộ cổ phiếu đang nắm giữa

- Giá trị cuối cùng sau giao dịch là tổng số tiền nếu đã bán hết cổ phiểu nắm giữ hoặc giá trị của các cổ phiếu đang nắm giữ theo giá đóng của ngày cuối cùng

Thu ậ t toán th ự c hi ệ n giao d ị ch:

Việc thực hiện giao dịch theo chiến lược giao dịch chỉ báo trong giai đoạn kiểm tra năm 2023 giúp kiểm tra hiệu quả của các DMĐT được xây dựng trong giai đoạn huấn DMĐT tối ưu nhất và chiến lược giao dịch tương ứng Thực hiện giao dịch các DMĐT với cùng các yếu tố như:

- Tổng vốn đầu tư ban đầu: 1,000,000,000 đồng, được phân bổ theo tỷ trọng tối ưu của danh mục cho mỗi mã cổ phiếu tương ứng

- Phí giao dịch: 0.01%/giao dịch

- Số lượng cổ phiếu mỗi giao dịch mua =95% × 𝑆ố 𝑡𝑖ề𝑛 ℎ𝑖ệ𝑛 𝑐ó

- Số lượng cổ phiếu mỗi giao dịch bán: Bán toàn bộ cổ phiếu đang nắm giữa

- Giá trị cuối cùng sau giao dịch là tổng số tiền nếu đã bán hết cổ phiểu nắm giữ hoặc giá trị của các cổ phiếu đang nắm giữ theo giá đóng của ngày cuối cùng

Thu ậ t toán th ự c hi ệ n giao d ị ch

KẾT QUẢ NGHIÊN CỨU

Giao dịch theo các chiến lược giai đoạn 2018 – 2022

Việc thực hiện giao dịch toàn bộ danh mục cổ phiếu theo từng chiến lược giao dịch chỉ báo trong giai đoạn 2018 – 2022 làm cơ sở để lựa chọn các mã cổ phiểu có TSSL cao nhất sau giao dịch để xây dựng DMĐT cho từng chiến lược cũng như là chỉ báo tương ứng Kết quả giao dịch của 30 mã cổ phiếu với 4 chiến lược giao dịch theo chỉ báo tương ứng như sau:

4.1.1 Chiến lược giao dịch theo chỉ báo SMA

Sau thực hiện giao dịch toàn bộ 30 cổ phiếu với chiến lược giao dịch theo chỉ báo SMA ghi nhận có 20 mã cổ phiếu có lợi nhuận và 10 mã cổ phiếu thua lỗ

Biểu đồ 4.1 thể hiện TSSL của 20 mã cổ phiếu ghi nhận có lợi nhuận sau giao dịch với chiến lược giao dịch theo chỉ báo SMA trong giai đoạn 2018 – 2022 Sau 4 năm giao dịch, có đến 6 mã cổ phiếu có TSSL lớn hơn 100% và 5 mã cổ phiếu có TSSL từ trên 50% đến dưới 100% và 9 mã cổ phiếu sinh lợi dưới 50% Mức sinh lợi cao nhất là 234% - VIB và thấp nhất là 2% - SSB so với vốn đầu tư ban đầu Dựa vào biểu đồ 4.1, DMĐT theo chỉ báo SMA bao gồm 5 mã cổ phiếu có lợi nhuận cao nhất là VIB, SSI, FPT, HPG và BCM

Biểu đồ 4.1 Tỷ suất sinh lợi của từng mã cổ phiếu sau giao dịch với chiến lược giao dịch theo chỉ báo SMA trong giai đoạn 2018 – 2022

Nguồn: Kết quả nghiên cứu của tác giả

Biểu đồ 4.2 thể hiện mức độ thua lỗ của các mã cổ phiếu sau giao dịch với chiến lược giao dịch theo chỉ báo SMA giai đoạn 2018 – 2022 gồm 10 cổ phiếu Sau 4 năm giao dịch, có 4 mã cổ phiếu lỗ dưới 10%, 3 mã lỗ dưới 30% và 3 mã lỗ trên 30% so với vốn đầu tư ban đầu Mức lỗ cao nhất là 43% - VRE

Biểu đồ 4.2 Mức độ thua lỗ của từng mã cổ phiếu sau giao dịch với chiến lược giao dịch theo chỉ báo SMA trong giai đoạn 2018 – 2022

Nguồn: Kết quả nghiên cứu của tác giả

4.1.2 Chiến lược giao dịch theo dải Bollinger

Sau thực hiện giao dịch toàn bộ 30 cổ phiếu với chiến lược giao dịch theo chỉ báo SMA ghi nhận có 11 mã cổ phiếu có lợi nhuận và 19 mã cổ phiếu thua lỗ

Biểu đồ 4.3 thể hiện TSSL của 11 mã cổ phiếu ghi nhận có lợi nhuận sau giao dịch với chiến lược giao dịch theo chỉ báo SMA trong giai đoạn 2018 – 2022 Sau 4 năm giao dịch, có 3 mã cổ phiếu có TSSL lớn hơn 50% và 5 mã cổ phiếu có TSSL từ trên 10% đến dưới 50% và 3 mã cổ phiếu sinh lợi dưới 10% Mức sinh lợi cao nhất là 72.3%

- ACB và thấp nhất là 0.2% - MSN so với vốn đầu tư ban đầu Dựa vào biểu đồ 4.3, DMĐT theo chỉ báo SMA bao gồm 5 mã cổ phiếu có lợi nhuận cao nhất là ACB, TPB, GVR, FPT và TCB

Biểu đồ 4.3 Tỷ suất sinh lợi của từng mã cổ phiếu sau giao dịch với chiến lược giao dịch theo dải Bollinger trong giai đoạn 2018 – 2022

Nguồn: Kết quả nghiên cứu của tác giả

Biểu đồ 4.4 thể hiện mức độ thua lỗ của từng mã cổ phiếu sau giao dịch với chiến lược giao dịch theo chỉ báo SMA giai đoạn 2018 – 2022 gồm 19 cổ phiếu Sau 4 năm giao dịch, có 5 mã cổ phiếu lỗ dưới 10%, 9 mã lỗ dưới 30% và 5 mã lỗ trên 30% so với vốn đầu tư ban đầu Mức lỗ cao nhất là 63.3% - HPG

Biểu đồ 4.4 Mức độ thua lỗ của từng mã cổ phiếu sau giao dịch với chiến lược giao dịch theo dải Bollinger trong giai đoạn 2018 – 2022

Nguồn: Kết quả nghiên cứu của tác giả

4.1.3 Chiến lược giao dịch theo chỉ báo RSI

Sau thực hiện giao dịch toàn bộ 30 cổ phiếu với chiến lược giao dịch theo chỉ báo RSI ghi nhận có 14 mã cổ phiếu có lợi nhuận và 16 mã cổ phiếu thua lỗ

Biểu đồ 4.5 thể hiện TSSL của 14 mã cổ phiếu ghi nhận có lợi nhuận sau giao dịch với chiến lược giao dịch theo chỉ báo RSI trong giai đoạn 2018 – 2022 Sau 4 năm giao dịch, có 2 mã cổ phiếu có TSSL lớn hơn 100%, 5 mã cổ phiếu có TSSL lớn hơn 50%, 7 mã sinh lợi dưới 50% trong đó có 2 mã cổ phiếu sinh lợi dưới 10% Mức sinh lợi cao nhất là 242% - BID và thấp nhất là 3% - VNM so với vốn đầu tư ban đầu Dựa vào biểu đồ 4.5, DMĐT theo chỉ báo RSI bao gồm 5 mã cổ phiếu có lợi nhuận cao nhất là BID, CTG, ACB, VRE và GAS

Biểu đồ 4.5 Tỷ suất sinh lợi của từng mã cổ phiếu sau giao dịch với chiến lược giao dịch theo chỉ báo RSI trong giai đoạn 2018 – 2022

Nguồn: Kết quả nghiên cứu của tác giả

Biểu đồ 4.6 thể hiện mức độ thua lỗ của từng mã cổ phiếu sau giao dịch với chiến lược giao dịch theo chỉ báo RSI giai đoạn 2018 – 2022 gồm 16 cổ phiếu Sau 4 năm giao dịch, có 1 mã cổ phiếu lỗ dưới 10%, 11 mã lỗ dưới 30% và 4 mã lỗ trên 30% so với vốn đầu tư ban đầu Mức lỗ cao nhất là 51% - SSI

Biểu đồ 4.6 Mức độ thua lỗ của từng mã cổ phiếu sau giao dịch với chiến lược giao dịch theo chỉ báo RSI trong giai đoạn 2018 – 2022

Nguồn: Kết quả nghiên cứu của tác giả

4.1.4 Chiến lược giao dịch theo chỉ báo MACD

Sau thực hiện giao dịch toàn bộ 30 cổ phiếu với chiến lược giao dịch theo chỉ báo MACD ghi nhận có 20 mã cổ phiếu có lợi nhuận và 10 mã cổ phiếu thua lỗ

Biểu đồ 4.7 thể hiện TSSL của 20 mã cổ phiếu ghi nhận có lợi nhuận sau giao dịch với chiến lược giao dịch theo chỉ báo MACD trong giai đoạn 2018 – 2022 Sau 4 năm giao dịch, có 7 mã cổ phiếu có TSSL lớn hơn 100%, 4 mã cổ phiếu có TSSL lớn hơn 50%, 9 mã sinh lợi dưới 50% trong đó có 5 mã cổ phiếu sinh lợi dưới 10% Mức sinh lợi cao nhất là 243% - BCM và thấp nhất là 1% - TCB so với vốn đầu tư ban đầu Dựa vào biểu đồ 4.7, DMĐT theo chỉ báo RSI bao gồm 5 mã cổ phiếu có lợi nhuận cao nhất là BCM, VIB, HPG, SHB và SSI

Biểu đồ 4.7 Tỷ suất sinh lợi của từng mã cổ phiếu sau giao dịch với chiến lược giao dịch theo chỉ báo MACD trong giai đoạn 2018 – 2022

Nguồn: Kết quả nghiên cứu của tác giả

Biểu đồ 4.8 thể hiện mức độ thua lỗ của từng mã cổ phiếu sau giao dịch với chiến lược giao dịch theo chỉ báo MACD giai đoạn 2018 – 2022 gồm 10 cổ phiếu Sau 4 năm giao dịch, có 4 mã lỗ dưới 30% và 6 mã lỗ trên 30% so với vốn đầu tư ban đầu Mức lỗ cao nhất là 60% - VRE

Biểu đồ 4.8 Mức độ thua lỗ của từng mã cổ phiếu sau giao dịch với chiến lược giao dịch theo chỉ báo MACD trong giai đoạn 2018 – 2022

Nguồn: Kết quả nghiên cứu của tác giả

Thông qua kết quả giao dịch trong giai đoạn 2018 – 2022 của các mã cổ phiếu với từng chiến lược, có thể thấy từng chiến lược giao dịch theo chỉ báo có các mã cổ phiếu phù hợp khác nhau Ví dụ như mã cổ phiếu HPG khi giao dịch theo chỉ báo SMA trong giai đoạn đạt TSSL là 152%, thuộc 5 mã cổ phiếu có mức sinh lợi cao nhất khi giao dịch với chiến lược SMA Tuy nhiên, mã cổ phiếu này lại ghi nhận mức thua lỗ cao nhất khi giao dịch với chiến lược giao dịch theo dải Bollinger là 63.3% Vì thế, việc thực hiện trong giai đoạn này giúp xây dựng DMĐT gồm các mã cổ phiếu phù hợp nhất với chiến lược giao dịch hay chỉ báo.

Tối ưu rủi ro các danh mục đầu tư

Với các DMĐT được xây dựng từ kết quả giao dịch trong giai đoạn 2018 – 2022 theo từng chiến lược giao dịch theo chỉ báo tương, thực hiện tính tỷ trọng phân bổ vốn để tối ưu hóa rủi ro của các danh mục theo phương pháp tỷ lệ Sharpe

4.2.1 Danh mục theo chỉ báo SMA

DMĐT theo chỉ báo SMA gồm các mã cổ phiếu: FPT, VIB, BCM, SSI, HPG Danh mục có tỷ lệ Sharpe đạt cực đại là 0.79 với tỷ trọng phân bổ vốn tối ưu rủi ro cho danh mục lần lượt là 30% - FPT, 29% - VIB, 21% - BCM, 10% - SSI, 10% - HPG như được trình bày trong Biểu đồ 4.9 Với tỷ trọng này, TSSL kỳ vọng của danh mục là 19%/năm và rủi ro ước tính là 21%

Biểu đồ 4.9 Tỷ trọng phân bổ vốn tối ưu cho danh mục đầu tư theo chỉ báo SMA

Nguồn: Kết quả nghiên cứu của tác giả

4.2.2 Danh mục theo dải Bollinger

DMĐT theo dải Bollinger gồm các mã cổ phiếu: FPT, ACB, TPB, GVR, TCB Danh mục có tỷ lệ Sharpe đạt cực đại là 0.86 với tỷ trọng phân bổ vốn tối ưu rủi ro cho danh mục lần lượt là 50% - FPT, 20% - ACB, 21% - TPB, 10% đối với các mã TPB, GVR, TCB như được trình bày trong Biểu đồ 4.10 Với tỷ trọng này, TSSL kỳ vọng của danh mục là 18%/năm và rủi ro ước tính là 17%

Biểu đồ 4.10 Tỷ trọng phân bổ vốn tối ưu cho danh mục đầu tư theo dải Bollinger

Nguồn: Kết quả nghiên cứu của tác giả

4.2.3 Danh mục theo chỉ báo RSI

DMĐT theo chỉ báo RSI gồm các mã cổ phiếu: ACB, BID, CTG, VRE và GAS Danh mục có tỷ lệ Sharpe đạt cực đại là 0.28 với tỷ trọng phân bổ vốn tối ưu rủi ro cho danh mục lần lượt là 48% - ACB, 22% - BID, 10% đối với các mã CTG, VRE và GAS như được trình bày trong Biểu đồ 4.11 Với tỷ trọng này, TSSL kỳ vọng của danh mục là 10%/năm và rủi ro ước tính là 24%

Biểu đồ 4.11 Tỷ trọng phân bổ vốn tối ưu cho danh mục đầu tư theo chỉ báo RSI

Nguồn: Kết quả nghiên cứu của tác giả

4.2.4 Danh mục theo chỉ báo MACD

DMĐT theo chỉ báo MACD gồm các mã cổ phiếu: VIB, BCM, HPG, SHB và SSI Danh mục có tỷ lệ Sharpe đạt cực đại là 0.68 với tỷ trọng phân bổ vốn tối ưu rủi ro cho danh mục lần lượt là 41% - VIB, 29% - BCM, 10% đối với các mã HPG, SHB và SSI như được trình bày trong Biểu đồ 4.12 Với tỷ trọng này, TSSL kỳ vọng của danh mục là 10%/năm và rủi ro ước tính là 24%

Biểu đồ 4.12 Tỷ trọng phân bổ vốn tối ưu cho danh mục đầu tư theo chỉ báo MACD

Nguồn: Kết quả nghiên cứu của tác giả

Ngày đăng: 10/07/2024, 16:15

HÌNH ẢNH LIÊN QUAN

Sơ đồ 2-1 Các phiên bản Python được ra mắt đến nay - Ứng Dụng Phương Pháp Học Máy Trong Giao Dịch Cổ Phiếu Theo Chỉ Báo Bằng Ngôn Ngữ Lập Trình Python.pdf
Sơ đồ 2 1 Các phiên bản Python được ra mắt đến nay (Trang 22)
Hình  2-1 Đường SMA50 của cổ phiếu FPT năm 2023 - Ứng Dụng Phương Pháp Học Máy Trong Giao Dịch Cổ Phiếu Theo Chỉ Báo Bằng Ngôn Ngữ Lập Trình Python.pdf
nh 2-1 Đường SMA50 của cổ phiếu FPT năm 2023 (Trang 24)
Hình  2-2 Dải Bollinger của cổ phiếu FPT năm 2023 - Ứng Dụng Phương Pháp Học Máy Trong Giao Dịch Cổ Phiếu Theo Chỉ Báo Bằng Ngôn Ngữ Lập Trình Python.pdf
nh 2-2 Dải Bollinger của cổ phiếu FPT năm 2023 (Trang 26)
Hình  2-3 Đường RSI của cổ phiếu FPT năm 2023 - Ứng Dụng Phương Pháp Học Máy Trong Giao Dịch Cổ Phiếu Theo Chỉ Báo Bằng Ngôn Ngữ Lập Trình Python.pdf
nh 2-3 Đường RSI của cổ phiếu FPT năm 2023 (Trang 28)
Bảng 3-1 Danh sách các mã cổ phiếu thuộc VN30 - Ứng Dụng Phương Pháp Học Máy Trong Giao Dịch Cổ Phiếu Theo Chỉ Báo Bằng Ngôn Ngữ Lập Trình Python.pdf
Bảng 3 1 Danh sách các mã cổ phiếu thuộc VN30 (Trang 48)
Sơ đồ 5-1 Quy trình ứng dụng thực tiễn phương pháp học máy trong giao - Ứng Dụng Phương Pháp Học Máy Trong Giao Dịch Cổ Phiếu Theo Chỉ Báo Bằng Ngôn Ngữ Lập Trình Python.pdf
Sơ đồ 5 1 Quy trình ứng dụng thực tiễn phương pháp học máy trong giao (Trang 69)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w