Với sự pháttriển mạnh mẽ của công nghệ và khoa học dữ liệu, việc áp dụng các phương pháp tiêntiến để phân tích và dự đoán giá cổ phiếu đã trở nên khả thi và ngày càng chính xáchơn.. Giới
Trang 1TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT
KHOA CÔNG NGHỆ THÔNG TIN
-
~~~ -BÀI BÁO CÁO MÔN: CÁC HỆ THỐNG THÔNG TIN THÔNG MINH
MÃ MÔN HỌC: 7080205
ĐỀ TÀI: DỰ ĐOÁN CỔ PHIẾU TƯƠNG LAI
Giảng viên hướng dẫn
Sinh viên thực hiện
Nhóm báo cáo
: T.S Vương Thị Như Quỳnh : Lê Xuân Việt Anh – 2121050339 : 06
Trang 2
MỤC LỤC
LỜI NÓI ĐẦU 3
I MÔ TẢ VỀ BÀI TOÁN 4
1 Giới thiệu 4
2 Dữ liệu đầu vào và đầu ra 4
3 Ứng dụng 4
II GIẢI THUẬT HỌC MÁY/KHAI PHÁ DỮ LIỆU (LSTM NEURAL NETWORK) 5
1 Lý do lựa chọn LSTM(Long Short-Term Memory) 5
2 Mạng LSTM 5
3 Một số thành phần chính 6
4 Kết Luận 7
III KẾT QUẢ THÍ NGHIỆM/CHỨC NĂNG CỦA HỆ THỐNG 8
1 Độ chính xác dự đoán 8
2.Các chức năng chính của hệ thống 9
IV.CÁCH SỬ DỤNG 9
1 Giới thiệu về google colab 9
2 Đặc điểm chính 10
3 Hướng dẫn cài đặt Google Colab 10
4 Hướng dẫn sử dụng 12
5 Các bước thực hiện vào bài toán 13
V.TẬP LUẬT 17
VI QUÁ TRÌNH THỰC HIỆN 19
1 Một số khó khăn khi thực hiện và giải pháp 19
2.Các khám phá/kết luận, và các đề cử cho việc tiếp tục phát triển và cải tiến trong tương lai 20
KẾT LUẬN 21
Trang 3LỜI NÓI ĐẦU
Trong thế giới tài chính hiện đại, việc dự đoán xu hướng thị trường cổ phiếu luôn làmột thách thức và đồng thời cũng là một cơ hội to lớn cho các nhà đầu tư Với sự pháttriển mạnh mẽ của công nghệ và khoa học dữ liệu, việc áp dụng các phương pháp tiêntiến để phân tích và dự đoán giá cổ phiếu đã trở nên khả thi và ngày càng chính xáchơn
Bài báo cáo này tập trung vào việc nghiên cứu và áp dụng các mô hình dự đoán cổphiếu tương lai, với mục tiêu cung cấp một cái nhìn toàn diện về các phương pháp hiệnđại và hiệu quả trong việc dự đoán giá cổ phiếu Chúng em sẽ đi sâu vào phân tích các
mô hình dự đoán từ truyền thống đến hiện đại, bao gồm các mô hình thống kê, môhình học máy (machine learning) và mô hình học sâu (deep learning)
Trong quá trình thực hiện báo cáo, chúng em sẽ trình bày rõ ràng các bước tiến hành từviệc thu thập dữ liệu, xử lý dữ liệu, xây dựng mô hình đến việc đánh giá và kiểm tra độchính xác của mô hình Các phương pháp và kỹ thuật được áp dụng sẽ được mô tả chitiết, kèm theo các ví dụ minh họa cụ thể để làm rõ quá trình dự đoán và những tháchthức gặp phải
Chúng em xin chân thành cảm ơn sự hỗ trợ và hướng dẫn từ cô Sự giúp đỡ và độngviên của cô đã là nguồn động lực lớn để chúng em hoàn thành tốt bài báo cáo này
Trang 4I MÔ TẢ VỀ BÀI TOÁN
1 Giới thiệu
- Mục đích: Bài toán này nhằm xây dựng một hệ thống dự đoán giá cổ phiếu trong
tương lai dựa trên dữ liệu lịch sử của cổ phiếu Mục đích là cung cấp các dự đoánchính xác về giá cổ phiếu để hỗ trợ quyết định đầu tư của nhà đầu tư và tổ chức tàichính Hệ thống dự đoán sẽ giúp nhận diện các xu hướng thị trường, từ đó cải thiệnkhả năng đưa ra quyết định đầu tư, tối ưu hóa danh mục đầu tư và tăng cường lợinhuận
- Yêu cầu: Xây dựng một mô hình dự đoán giá cổ phiếu trong tương lai dựa trên dữ
liệu lịch sử Mô hình cần có khả năng dự đoán giá cổ phiếu với độ chính xác cao vàkhả năng nhận biết các xu hướng và biến động của thị trường
2 Dữ liệu đầu vào và đầu ra
- Đầu Vào (Input): Bao gồm các biến số tài chính như giá mở cửa, giá cao nhất,
giá thấp nhất, khối lượng giao dịch và các chỉ số kỹ thuật khác Các dữ liệu nàyđược thu thập từ các nguồn tài chính như Yahoo Finance, Google Finance hoặccác dịch vụ tài chính khác
- Đầu Ra (Output): Là dự đoán về giá cổ phiếu trong tương lai, ví dụ như giá
đóng cửa của cổ phiếu vào ngày tiếp theo hoặc vào một khoảng thời gian cụ thểsau đó
3 Ứng dụng
- Quản lý Rủi ro và Tối ưu hóa Lợi nhuận: Có thể sử dụng dự đoán cổ phiếu để
quản lý rủi ro trong các quyết định đầu tư và tối ưu hóa lợi nhuận Việc dự đoán giá cổphiếu trong tương lai có thể giúp họ đưa ra các quyết định mua, bán hoặc giữ cổ phiếumột cách thông minh và hiệu quả
Trang 5- Phân tích Thị trường và Dự báo Tình hình Tài chính: Các nhà phân tích và
chuyên gia trong lĩnh vực HTTTTM có thể sử dụng dự đoán cổ phiếu để phân tích thịtrường và dự báo tình hình tài chính của các công ty trong ngành Việc này có thể giúp
họ hiểu rõ hơn về xu hướng thị trường và đưa ra các dự đoán về kết quả tài chính trongtương lai
- Hỗ trợ Quyết định Chiến lược Doanh nghiệp: Có thể sử dụng dự đoán cổ
phiếu để hỗ trợ quyết định chiến lược kinh doanh Việc có thông tin đáng tin cậy vềgiá cổ phiếu trong tương lai có thể giúp họ đưa ra các quyết định về phát triển sảnphẩm, mở rộng thị trường, hoặc thực hiện các dự án đầu tư lớn
II GIẢI THUẬT HỌC MÁY/KHAI PHÁ DỮ LIỆU (LSTM NEURAL
NETWORK)
Chúng em đề xuất sử dụng mạng nơ-ron hồi quy dài hạn (Long Short-TermMemory - LSTM) để dự đoán giá cổ phiếu LSTM là một loại mạng nơ-ron phổ biếntrong việc xử lý dữ liệu chuỗi, như dữ liệu về giá cổ phiếu, vì khả năng của nó trongviệc hiểu các mẫu phức tạp và mối quan hệ dài hạn trong dữ liệu chuỗi
1 Lý do lựa chọn LSTM(Long Short-Term Memory)
- Khả năng ghi nhớ dài hạn : LSTM có khả năng lưu giữ thông tin trong khoảng
thời gian dài, giúp nó nhận diện và học hỏi từ các xu hướng dài hạn trong dữ liệu lịch
sử giá cổ phiếu Điều này rất quan trọng vì giá cổ phiếu thường bị ảnh hưởng bởi cácyếu tố có tính chu kỳ và các xu hướng thị trường kéo dài
- Giảm thiểu biến mất gradient: Một trong những ưu điểm lớn của LSTM so vớicác mạng nơ-ron truyền thống là khả năng giảm thiểu vấn đề biến mất gradient(vanishing gradient), giúp cải thiện hiệu suất trong việc học từ các chuỗi dữ liệu dài
- Khả năng xử lý dữ liệu phi tuyến tính: LSTM có thể xử lý và học hỏi từ các
mẫu phi tuyến tính trong dữ liệu Điều này quan trọng vì biến động giá cổ phiếuthường không tuân theo các mẫu tuyến tính đơn giản mà thường phức tạp và chịu ảnhhưởng của nhiều yếu tố khác nhau
- Hiệu suất cao trong dự đoán chuỗi thời gian: LSTM đã được chứng minh là có
hiệu suất cao trong các bài toán dự đoán chuỗi thời gian, chẳng hạn như dự đoán giá cổphiếu, dự đoán nhu cầu sản phẩm, và dự báo thời tiết Sử dụng LSTM, chúng ta có thểđạt được độ chính xác cao hơn so với các mô hình truyền thống khác
2 Mạng LSTM
LSTM (Long Short-Term Memory) Neural Network là một loại mạng nơ-ron
cơ bản trong lĩnh vực học sâu (deep learning), được thiết kế đặc biệt để xử lý và dựđoán dữ liệu chuỗi, như dữ liệu thời gian hoặc dữ liệu có tính tuần tự LSTM được giớithiệu bởi Hochreiter và Schmidhuber vào năm 1997 và đã trở thành một công cụ quantrọng trong nhiều ứng dụng như dịch máy, nhận dạng giọng nói, dự đoán chuỗi thờigian, và nhiều ứng dụng khác liên quan đến xử lý dữ liệu chuỗi
Trang 6LSTM được thiết kế để giải quyết vấn đề của các mạng nơ-ron truyền thống khi
áp dụng cho các dữ liệu chuỗi, đặc biệt là khả năng "nhớ" thông tin trong mộtkhoảng thời gian dài Trong các chuỗi dài, các mô hình truyền thống có thể gặpvấn đề về việc mất thông tin hoặc khó khăn trong việc duy trì thông tin quan trọngqua nhiều bước thời gian LSTM giải quyết vấn đề này bằng cách sử dụng các cơchế cập nhật thông tin (update gate), xóa thông tin (forget gate), và đưa ra thôngtin mới (output gate) Nhờ vào cơ chế này, LSTM có khả năng nhớ thông tin từquá khứ trong một khoảng thời gian dài, giúp nó xử lý tốt các dữ liệu chuỗi có độdài lớn
3 Một số thành phần chính
LSTM giải quyết vấn đề của việc nhớ thông tin trong các chuỗi dài, giúp môhình có khả năng dự đoán chính xác giá cổ phiếu trong tương lai Bằng cách sửdụng các cơ chế như cổng quên (forget gate), cổng đầu vào (input gate), và cổngđầu ra (output gate), LSTM có khả năng nhớ thông tin quan trọng từ quá khứ và
sử dụng thông tin đó để đưa ra dự đoán
Trang 7- Cổng quên (Forget Gate): Xác định thông tin nào trong trạng thái trước đó của
mạng nơ-ron nên bị loại bỏ hoặc "quên"
- Cổng đầu vào (Input Gate): Xác định thông tin mới nào sẽ được thêm vào
trạng thái trước đó của mạng nơ-ron
- Cổng đầu ra (Output Gate): Xác định phần nào của trạng thái hiện tại sẽ được
sử dụng làm đầu ra của mạng nơ-ron
Các cổng này cùng với các tham số được học trong quá trình huấn luyện giúpLSTM tự động học và xử lý các mẫu phức tạp trong dữ liệu chuỗi Điều này làm choLSTM trở thành một công cụ mạnh mẽ cho các ứng dụng dự đoán và xử lý dữ liệuchuỗi
+ Các doanh nghiệp trong HTTTTM có thể sử dụng dự đoán giá cổ phiếu trongtương lai để đưa ra các quyết định chiến lược kinh doanh, từ việc phát triển sản phẩmmới đến mở rộng thị trường hoặc thực hiện các dự án đầu tư lớn
Trang 8 Trong lĩnh vực Hệ thống Thông tin và Quản lý Tài sản, LSTM Neural Networkđóng vai trò quan trọng trong việc dự đoán giá cổ phiếu trong tương lai Bằngcách sử dụng LSTM, các nhà đầu tư và quản lý tài sản có thể có cái nhìn sâusắc hơn về thị trường và đưa ra các quyết định đầu tư thông minh và hiệu quả.Điều này đóng góp vào việc tối ưu hóa lợi nhuận và giảm thiểu rủi ro trong cáchoạt động đầu tư và quản lý tài sản.
III KẾT QUẢ THÍ NGHIỆM/CHỨC NĂNG CỦA HỆ THỐNG
1 Độ chính xác dự đoán
- Thu thập dữ liệu : Chúng em sẽ sử dụng các tập dữ liệu lịch sử về giá cổ phiếu
từ các công ty lớn hoặc các chỉ số thị trường VNM 2013-2023 Các dữ liệu này
sẽ bao gồm các biến số tài chính cần thiết và sẽ được chia thành các chuỗi thờigian để huấn luyện mô hình LSTM
- Chia tập dữ liệu: Chia tập dữ liệu thành hai phần: tập huấn luyện và tập kiểm
tra hia tập dữ liệu thành hai phần: tập huấn luyện và tập kiểm tra 70-80% dữliệu được sử dụng cho việc huấn luyện mô hình, và phần còn lại được sử dụng
để kiểm tra hiệu năng của mô hình
- Xây dựng và huấn luyện mô hình: Sử dụng một mô hình dự đoán cổ phiếu,
như LSTM Neural Network, để huấn luyện trên tập dữ liệu huấn luyện Trongquá trình huấn luyện, mô hình sẽ học cách dự đoán giá cổ phiếu từ dữ liệu lịchsử
- Dự đoán trên tập kiểm tra: Sau khi huấn luyện xong, mô hình được sử dụng
để dự đoán giá cổ phiếu trên tập dữ liệu kiểm tra
- Đánh giá độ chính xác: Đánh giá độ chính xác dự đoán bằng cách so sánh giữa
giá cổ phiếu thực tế và giá cổ phiếu được dự đoán bởi mô hình trên tập kiểmtra Độ chính xác dự đoán có thể được tính bằng nhiều phương pháp, bao gồm:
+ Tính toán tỷ lệ dự đoán đúng: tỷ lệ phần trăm giữa số lượng dự đoán
đúng và tổng số lượng dự đoán trên tập kiểm tra khoảng 1,5%
+ Vẽ biểu đồ so sánh: Vẽ biểu đồ so sánh giữa giá cổ phiếu thực tế vàgiá cổ phiếu được dự đoán để hiểu rõ hơn về hiệu suất của mô hình
Trang 92.Các chức năng chính của hệ thống
- Thu thập dữ liệu: Quá trình này thu thập dữ liệu từ nhiều nguồn khác nhau
như các trang web tài chính, dữ liệu thị trường, tin tức tài chính, và các thông tin liênquan khác
- Tiền xử lý dữ liệu: Trước khi dữ liệu có thể được sử dụng để dự đoán, chúng
cần phải được tiền xử lý để loại bỏ nhiễu, xử lý dữ liệu thiếu, và chuẩn hóa dữ liệu đểđảm bảo tính nhất quán và độ chính xác
- Lựa chọn đặc trưng: Chọn ra các đặc trưng quan trọng từ dữ liệu để sử dụng
trong mô hình dự đoán, sử dụng các chỉ số tài chính như P/E, ROE, lịch sử giá cổphiếu, và các chỉ số kỹ thuật khác
- Xây dựng mô hình dự đoán: Sử dụng LSTM xây dựng mô hình dự đoán dựa
trên dữ liệu đã được tiền xử lý và các đặc trưng được lựa chọn
- Đánh giá mô hình: Sau khi mô hình được xây dựng, chúng em đánh giá được
hiệu suất của nó bằng cách sử dụng các phép đo như độ chính xác, độ nhạy, độ cụ thể
và các phương pháp khác như ma trận nhầm lẫn
IV.CÁCH SỬ DỤNG
Chúng em sử đụng Google Colab để làm việc thuận tiên và dễ dàng hơn
1 Giới thiệu về google colab
Google Colab là một dịch vụ cung cấp môi trường làm việc trực tuyến choPython, được cung cấp bởi Google Nó cho phép người dùng tạo và chia sẻ các tệpJupyter Notebook một cách dễ dàng mà không cần cài đặt môi trường Python trênmáy tính cá nhân Google Colab được tích hợp sâu vào Google Drive, giúp ngườidùng lưu trữ và quản lý các notebook một cách thuận tiện
Trang 10Một số tính năng của Google Colab:
Có thể viết và thực thi dòng lệnh ngôn ngữ Python
Từ notebook có thể import/save một file dữ liệu đến Google Drive
Có nhiều thư viện được cài đặt sẵn
Được sử dụng một cách miễn phí
2 Đặc điểm chính
- Môi trường làm việc: Google Colab cung cấp một môi trường làm việc tương
tác sử dụng các notebook Jupyter, cho phép người dùng viết và thực thi mã Pythonmột cách trực quan Mỗi notebook được chia thành các ô (cells) mà người dùng cóthể viết mã, thực thi và hiển thị kết quả ngay trong cùng một trang
- Miễn phí và đám mây: Dịch vụ Google Colab là miễn phí cho người dùng.
Nó sử dụng tài nguyên đám mây của Google, bao gồm CPU, GPU và RAM, chophép người dùng thực thi mã Python với hiệu suất cao mà không cần phải lo lắng vềcấu hình phần cứng
-Tích hợp Google Drive: Google Colab tích hợp sâu vào Google Drive, cho
phép người dùng lưu trữ và quản lý các notebook trực tiếp từ trong tài khoảnGoogle Drive của họ Điều này giúp dễ dàng chia sẻ và làm việc cộng tác trên các
dự án
3 Hướng dẫn cài đặt Google Colab
• Mở Google Drive và mở một thư mục mới
Trang 124 Hướng dẫn sử dụng.
Trang 135 Các bước thực hiện vào bài toán
- Bước 1 Import thư viện: Import các thư viện như pandas để xử lý dữ liệu,
matplotlib hoặc seaborn để vẽ đồ thị, scikit-learn hoặc TensorFlow để xây dựng vàhuấn luyện mô hình Machine Learning
- Bước 2 đọc dữ liệu : Sử dụng API hoặc các thư viện như pandas-datareader để lấy
dữ liệu giá cổ phiếu từ các nguồn như Yahoo Finance
-
Trang 14- Bước 3 mô tả dữ liệu:
- Bước 4 tiền xử lý dữ liệu : Chuẩn bị dữ liệu bằng cách loại bỏ dữ liệu thiếu, chuyển
đổi dữ liệu sang định dạng phù hợp và chuẩn hóa dữ liệu nếu cần
Trang 15-Bước 5 Xây dựng và huấn luyện mô hình : Neural Networks để xây dựng mô hình
dự đoán, Sử dụng dữ liệu huấn luyện để đào tạo mô hình, điều chỉnh các siêu tham số
để tối ưu hóa hiệu suất mô hình
Trang 16- Bước 6: Tái sử dụng mô hình
Trang 17• AND giá cao nhất hôm nay > giá cao nhất hôm qua
• THEN mua vào ngày hôm sau ở giá mở cửa ngày hôm sau
Luật 2(L2):
• IF giá đóng cửa hôm nay < giá mở cửa hôm nay
• AND giá thấp nhất hôm nay < giá thấp nhất hôm qua
• THEN bán ra vào ngày hôm sau ở giá mở cửa ngày hôm sau
Luật 3(L3):
• IF giá mở cửa hôm nay > giá đóng cửa hôm qua
• AND giá đóng cửa hôm nay > giá đóng cửa hôm qua
• THEN giữ (không mua, không bán) vào ngày hôm sau
Luật 4(L4):
• IF giá mở cửa hôm nay < giá đóng cửa hôm qua
• AND giá đóng cửa hôm nay < giá đóng cửa hôm qua
• THEN xem xét lại (không hành động ngay, theo dõi thêm)
Kết quả sau khi áp dụng luật:
Trang 19VI QUÁ TRÌNH THỰC HIỆN
1 Một số khó khăn khi thực hiện và giải pháp
- Thu thập dữ liệu không chính xác hoặc không đầy đủ: Dữ liệu giá cổ phiếu
có thể không luôn chính xác hoặc không đầy đủ, đặc biệt là khi sử dụng dữ liệumiễn phí từ các nguồn
Giải pháp: chúng em sử dụng nhiều nguồn dữ liệu và kiểm tra tính nhất quáncủa chúng
- Tiền xử lý dữ liệu phức tạp: Tiền xử lý dữ liệu mất nhiều thời gian và công
sức, đặc biệt khi làm việc với dữ liệu lịch sử cổ phiếu
Giải pháp: chúng em sử dụng các thư viện và công cụ tiện ích như pandas để tự
Trang 20- Dữ liệu thiếu hoặc không đồng nhất: Dữ liệu có thể thiếu hoặc không đồng
nhất qua các ngày giao dịch Điều này có thể gây ảnh hưởng đến hiệu suất của
Tuy nhiên, các nghiên cứu khác cho thấy hiệu quả của các hệ thống này có thểthay đổi tùy thuộc vào các yếu tố như thị trường, khung thời gian và mô hình cụthể được sử dụng
Kết luận:
Hệ thống dự đoán cổ phiếu tương lai là một công cụ tiềm năng mạnh mẽ có thểgiúp nhà đầu tư đưa ra quyết định sáng suốt hơn Tuy nhiên, điều quan trọngcần lưu ý đến những hạn chế và rủi ro liên quan đến các hệ thống này
Nhà đầu tư nên sử dụng hệ thống dự đoán cổ phiếu tương lai một cách thậntrọng và kết hợp thông tin từ các hệ thống này với các phương pháp phân tíchkhác trước khi đưa ra quyết định đầu tư
Đề xuất cho sự phát triển và cải tiến tương lai:
Nghiên cứu thêm về hiệu quả của hệ thống dự đoán cổ phiếu tương lai trong cácđiều kiện thị trường khác nhau
Phát triển các kỹ thuật mới để giải thích kết quả dự đoán của mô hình học máy
Thiết lập các nguyên tắc đạo đức cho việc sử dụng hệ thống dự đoán cổ phiếutương lai
Phát triển các biện pháp bảo mật để ngăn chặn việc sử dụng trái phép hệ thống
Nâng cao nhận thức về những rủi ro liên quan đến hệ thống dự đoán cổ phiếutương lai cho các nhà đầu tư