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ả