Đề tài Phân tích thị trường chứng khoán sử dụng mô hình hồi quy tuyến tính nhằm mục tiêu áp dụng trí tuệ nhân tạo và kỹ thuật học máy để nghiên cứu và phân tích thị trường chứng khoán. Trong đó, mô hình hồi quy tuyến tính được lựa chọn làm công cụ chính để dự đoán và phân tích xu hướng giá cổ phiếu. Để thực hiện đề tài, công việc nghiên cứu sẽ bao gồm các bước sau: Khảo sát và phân tích thị trường chứng khoán: Trước khi xây dựng mô hình hồi quy tuyến tính, cần tiến hành khảo sát và phân tích các yếu tố ảnh hưởng đến giá cổ phiếu, như chỉ số kinh tế, thông tin công ty, tin tức thị trường, và các yếu tố khác có thể có tác động đến giá cổ phiếu. Thu thập dữ liệu: Dữ liệu thị trường chứng khoán, bao gồm giá cổ phiếu và các yếu tố ảnh hưởng, sẽ được thu thập từ các nguồn đáng tin cậy. Cần đảm bảo tính chính xác và đầy đủ của dữ liệu để đảm bảo kết quả phân tích đáng tin cậy. Tiền xử lý dữ liệu: Dữ liệu thu thập được sẽ được tiền xử lý để loại bỏ nhiễu, xử lý dữ liệu thiếu, chuẩn hóa dữ liệu và chuẩn bị cho quá trình huấn luyện mô hình hồi quy tuyến tính. Xây dựng mô hình hồi quy tuyến tính: Mô hình hồi quy tuyến tính sẽ được xây dựng dựa trên dữ liệu đã được tiền xử lý. Quá trình huấn luyện mô hình sẽ sử dụng các phương pháp tối ưu hóa để tìm ra các thông số phù hợp nhằm dự đoán giá cổ phiếu.
KHẢO SÁT VÀ PHÁT BIỂU BÀI TOÁN
Khảo Sát Và Tìm Hiểu Thị Trường Chứng Khoán Việt Nam
Sự phát triển nhanh chóng của hàng hóa đã dẫn đến sự ra đời của tiền tệ, với lượng tiền nắm giữ phản ánh giá trị vật chất tích lũy của cá nhân Sự khác biệt trong sở hữu giá trị trong nền kinh tế gây ra tình trạng thiếu hụt và dư thừa tiền Để tạo ra giá trị gia tăng, tiền dự trữ cần được đưa vào lưu thông, khi một số người cần vốn cho tiêu dùng hoặc đầu tư, trong khi những người khác có vốn nhàn rỗi muốn cho vay Ban đầu, việc vay mượn thường dựa trên quan hệ cá nhân, nhưng khi nhu cầu về vốn gia tăng, hình thức này trở nên không hiệu quả Do đó, một thị trường tài chính có quy mô và tổ chức ra đời để đáp ứng nhu cầu cung cầu về vốn trong nền kinh tế.
Thị trường tài chính là nơi diễn ra các hoạt động mua bán quyền sử dụng nguồn tài chính, phản ánh mối quan hệ cung cầu về vốn Nó kết nối các nguồn tiết kiệm từ hộ gia đình, cá nhân và tổ chức với những đối tượng cần vốn bổ sung ngoài thu nhập hiện tại Qua đó, thị trường tài chính huy động tiền nhàn rỗi vào đầu tư, góp phần thúc đẩy sự phát triển kinh tế.
Với sự phát triển nhanh chóng của công nghệ thông tin, các phương thức giao dịch tại các Sở giao dịch chứng khoán đã được cải tiến từ thủ công sang tự động hoàn toàn Qua nhiều thế kỷ, các Sở giao dịch trên thế giới hiện nay hoàn toàn dựa vào máy vi tính để thực hiện các lệnh đặt hàng Quá trình hình thành và phát triển của thị trường chứng khoán cho thấy giai đoạn đầu chủ yếu là sự tham gia của các nhà đầu cơ, sau đó công chúng cũng bắt đầu đầu tư Tuy nhiên, sự phát triển nhanh chóng và quy mô lớn của thị trường dẫn đến những rủi ro nghiêm trọng, có thể ảnh hưởng đến sự phát triển kinh tế và tâm lý đầu tư Do đó, việc quản lý nhà nước và hình thành hệ thống pháp lý điều chỉnh thị trường là cần thiết để kiểm soát hoạt động và giảm thiểu những tác động tiêu cực đến nền kinh tế.
1.1.2 Khái niệm thị trường chứng khoán:
Thị trường chứng khoán hiện đại là nơi diễn ra các giao dịch mua bán chứng khoán trung và dài hạn Giao dịch này được thực hiện tại thị trường sơ cấp khi người mua mua chứng khoán lần đầu từ các nhà phát hành, và tại thị trường thứ cấp khi có sự mua bán lại các chứng khoán đã được phát hành trước đó.
Thị trường chứng khoán là nơi diễn ra các hoạt động trao đổi, mua bán và chuyển nhượng chứng khoán, dẫn đến sự thay đổi trong các chủ thể sở hữu chúng.
Thị trường chứng khoán đóng vai trò quan trọng trong việc tập trung và phân phối nguồn vốn tiết kiệm sang các hoạt động đầu tư Nó giúp chuyển đổi tư bản sở hữu thành tư bản kinh doanh, từ đó thúc đẩy sự phát triển kinh tế.
Giao dịch trên thị trường chứng khoán là hình thức chuyển giao tài chính trực tiếp, cho phép cả nhà đầu tư và người cần vốn tham gia trực tiếp vào quá trình đầu tư Ngược lại, thị trường tài chính gián tiếp có sự tham gia của các trung gian như ngân hàng thương mại và công ty tài chính, khiến nhà đầu tư không thể theo dõi và quản lý vốn của mình Điều này dẫn đến việc quyền sở hữu và quyền sử dụng vốn bị tách rời, làm giảm động lực quản lý Do đó, đầu tư qua thị trường chứng khoán giúp các nhà đầu tư chủ động nâng cao khả năng quản lý vốn của mình.
Thị trường chứng khoán được định nghĩa là nơi diễn ra các hoạt động mua bán và trao đổi tư bản hàng hóa thông qua các công cụ tài chính, được gọi là chứng khoán.
1.1.3 Phân loại thị trường chứng khoán:
Căn cứ vào tính chất luân chuyển nguồn vốn
Thị trường sơ cấp là nơi diễn ra giao dịch mua bán các chứng khoán mới phát hành Tại đây, vốn từ nhà đầu tư được chuyển giao cho đơn vị phát hành thông qua việc mua các chứng khoán mới.
Thị trường thứ cấp là nơi diễn ra giao dịch các chứng khoán đã được phát hành từ thị trường sơ cấp, góp phần tăng cường tính thanh khoản cho các loại chứng khoán này.
Căn cứ vào phương thức hoạt động của thị trường
Thị trường chứng khoán tập trung
Thị trường chứng khoán tập trung là nơi các giao dịch được tổ chức tại một địa điểm cụ thể Hiện nay, hình thức chủ yếu của thị trường này được thực hiện thông qua các Sở giao dịch chứng khoán hoặc trung tâm giao dịch chứng khoán tại nhiều quốc gia trên thế giới.
Tại Sở giao dịch chứng khoán, các lệnh được chuyển đến sàn để tham gia vào quá trình ghép lệnh, từ đó hình thành giá và khối lượng giao dịch của thị trường.
Thị trường chứng khoán phi tập trung
Trên thị trường phi tập trung (OTC), các giao dịch diễn ra qua mạng lưới các công ty chứng khoán phân tán trên toàn quốc, kết nối với nhau qua mạng điện tử Giá cả trên thị trường này được hình thành thông qua phương thức thỏa thuận giữa các bên.
Căn cứ vào hàng hóa trên thị trường chứng khoán
Thị trường chứng khoán Vốn
Thị trường cổ phiếu là một phần quan trọng của thị trường chứng khoán, nơi các nhà đầu tư có thể giao dịch các loại chứng khoán vốn Ngoài cổ phiếu, thị trường còn cho phép giao dịch các chứng chỉ quỹ đầu tư và các sản phẩm tài chính khác.
Thị trường chứng khoán Nợ
Thị trường trái phiếu là nơi diễn ra giao dịch mua bán các loại trái phiếu đã phát hành, bao gồm trái phiếu công ty, trái phiếu đô thị và trái phiếu chính phủ.
Thị trường chứng khoán phát sinh
Ứng dụng công nghệ cao trong Phân Tích Chứng Khoán
Công nghệ cao đang cách mạng hóa cách chúng ta tiếp cận thị trường chứng khoán, mang lại nhiều lợi ích cho việc phân tích và giao dịch Việc áp dụng công nghệ này giúp nhà đầu tư và chuyên gia tài chính đưa ra quyết định thông minh hơn, từ đó tối ưu hóa lợi nhuận một cách hiệu quả.
Một trong những ứng dụng quan trọng của công nghệ cao trong thị trường chứng khoán là phân tích dữ liệu lớn, bao gồm các tập hợp dữ liệu phức tạp và khổng lồ từ nhiều nguồn khác nhau Công nghệ như trí tuệ nhân tạo, học máy và khai thác dữ liệu đóng vai trò then chốt trong việc phân tích và tạo ra thông tin giá trị từ dữ liệu lớn này.
Công nghệ trí tuệ nhân tạo (AI) và học máy (Machine Learning) đang được ứng dụng để xây dựng các mô hình dự đoán và phân tích xu hướng thị trường, cho phép nhà đầu tư nhận diện cơ hội đầu tư và ra quyết định mua/bán cổ phiếu một cách nhanh chóng và chính xác Bên cạnh đó, khai thác dữ liệu (Data Mining) giúp tìm ra các mẫu và thông tin tiềm ẩn từ các tập dữ liệu lớn, cho phép phân tích các chỉ số tài chính, thông tin doanh nghiệp, tin tức vĩ mô và các yếu tố ảnh hưởng đến giá cổ phiếu Nhờ vào những công nghệ này, nhà đầu tư có thể hiểu rõ hơn về sự biến động của thị trường và đưa ra quyết định đầu tư thông minh.
Nhà đầu tư có thể tiếp cận thị trường mọi lúc, mọi nơi, theo dõi diễn biến giá cả và thông tin trực tiếp Điều này cho phép họ đưa ra quyết định giao dịch nhanh chóng và linh hoạt, tận dụng những cơ hội xuất hiện trên thị trường.
Việc sử dụng công nghệ cao trong thị trường chứng khoán cần được kết hợp với hiểu biết và kinh nghiệm của các chuyên gia tài chính Công nghệ chỉ đóng vai trò hỗ trợ, trong khi quyết định đầu tư vẫn phụ thuộc vào phán đoán của con người Thêm vào đó, thị trường chứng khoán là môi trường biến đổi liên tục, do đó các quy luật và mô hình trong quá khứ không nhất thiết áp dụng cho tương lai.
Công nghệ cao, bao gồm trí tuệ nhân tạo, học máy và khai thác dữ liệu, đã mở ra nhiều ứng dụng tiềm năng trong phân tích và giao dịch chứng khoán, giúp nhà đầu tư có cái nhìn sâu sắc hơn về thị trường Tuy nhiên, để đạt hiệu quả tối ưu trong giao dịch chứng khoán, việc kết hợp công nghệ với sự hiểu biết và kinh nghiệm của con người là điều cần thiết.
1.2.1 Hướng Xử Lý Hiện Nay
Hiện nay, các công ty và chuyên gia trong lĩnh vực tài chính đang sử dụng nhiều phương pháp để phân tích thị trường chứng khoán, bao gồm:
1 Phân tích kỹ thuật (Technical analysis): Phương pháp này dựa trên việc phân tích biểu đồ giá và các chỉ báo kỹ thuật để đưa ra quyết định giao dịch Các công cụ phân tích kỹ thuật thông thường bao gồm các chỉ báo đường trung bình, đường MACD, RSI, Bollinger Bands và Fibonacci retracements
2 Phân tích cơ bản (Fundamental analysis): Phương pháp này dựa trên việc phân tích các yếu tố tài chính và kinh doanh của doanh nghiệp để đánh giá
Giá trị cổ phiếu được xác định dựa trên nhiều yếu tố quan trọng, bao gồm doanh thu, lợi nhuận, tài sản và nợ Ngoài ra, các yếu tố liên quan đến ngành và thị trường cũng đóng vai trò quan trọng trong quá trình phân tích này.
3 Phân tích dữ liệu lớn (Big data analysis): Phương pháp này sử dụng các công nghệ như trí tuệ nhân tạo và khai thác dữ liệu để phân tích hàng tỷ giao dịch và thông tin thị trường để đưa ra quyết định đầu tư Các công cụ phân tích dữ liệu lớn có thể phân tích dữ liệu lịch sử và dự đoán xu hướng tương lai của thị trường
4 Phân tích tâm lý học thị trường (Market psychology analysis): Phương pháp này dựa trên việc phân tích tâm lý học của các nhà đầu tư và thị trường để đưa ra quyết định giao dịch Các yếu tố tâm lý học bao gồm sự lo sợ, sự tự tin quá mức và các xu hướng thị trường
Không có phương pháp nào hoàn hảo và không có công cụ nào có thể đảm bảo quyết định giao dịch chính xác 100% Vì vậy, các chuyên gia đầu tư thường kết hợp nhiều phương pháp và công cụ khác nhau để đưa ra quyết định đầu tư thông minh, nhằm tối ưu hóa lợi nhuận.
1.2.2 Xác Định Yêu Cầu Của Hệ Thống Để xác định yêu cầu hệ thống trong bài toán phân tích thị trường chứng khoán, cần xác định các chức năng và tính năng cần thiết để đáp ứng nhu cầu của người sử dụng Dưới đây là một số yêu cầu cần thiết cho hệ thống phân tích thị trường chứng khoán:
1 Tính năng phân tích kỹ thuật: Hệ thống cần có khả năng phân tích các biểu đồ giá và các chỉ báo kỹ thuật để đưa ra quyết định giao dịch
2 Tính năng phân tích cơ bản: Hệ thống cần có khả năng phân tích các yếu tố tài chính và kinh doanh của doanh nghiệp để đánh giá giá trị cổ phiếu
CÁC KỸ THUẬT GIẢI QUYẾT BÀI TOÁN
Phương hướng tiếp cận
Phân tích thị trường chứng khoán yêu cầu một quy trình chi tiết bắt đầu từ việc thu thập dữ liệu lịch sử về giá cổ phiếu, chỉ số chứng khoán và các yếu tố kinh tế, tài chính liên quan Sau khi tiền xử lý dữ liệu để đảm bảo tính nhất quán, chúng ta áp dụng các phương pháp thống kê để khám phá mối quan hệ giữa các biến và giá cổ phiếu, đồng thời xem xét các yếu tố phi số học như tin tức và tâm lý thị trường Dựa trên những hiểu biết này, chúng ta xây dựng mô hình dự đoán giá cổ phiếu hoặc xu hướng thị trường thông qua các phương pháp như mạng nơ-ron, cây quyết định và máy vector hỗ trợ Phương pháp này giúp tạo ra cái nhìn toàn diện về thị trường chứng khoán và hỗ trợ đưa ra quyết định đầu tư thông minh.
THỰC NGHIỆM
Dữ liệu thực nghiệm
Dữ liệu thực nghiệm trong bài viết này bao gồm 20 năm thông tin từ năm 2003 đến 2023 của 5 công ty công nghệ hàng đầu: Apple, Microsoft, Google, Meta và Amazon Bộ dữ liệu được thu thập từ thư viện yfinance trong Python, với nguồn gốc từ trang web Yahoo Finance Dưới đây là chi tiết về tập dữ liệu của từng công ty.
Hình 3.1 Dữ liệu chứng khoán công ty Meta
Hình 3.2 Dữ liệu chứng khoán công ty Apple
Hình 3.3 Dữ liệu chứng khoán công ty Microsoft
Hình 3.4 Dữ liệu chứng khoán công ty Google
Hình 3.5 Dữ liệu chứng khoán công ty Amazon
Phân tích dữ liệu
3.2.1 Phân tích dữ liệu công ty Apple Đầu tiên, ta sẽ phân tích dữ liệu bằng cách lập bảng thống kê mô tả cho tập dữ liệu
Hình 3.6 Bảng phân tích mô tả dữ liệu công ty Apple
Tiếp theo sẽ tiến hành vẽ biểu đồ cột và biểu đồ hộp để trực quan hóa dữ liệu
Hình 3.7 Đồ thị cột biểu diễn các thuộc tính trong tập dữ liệu Apple
Hình 3.8 Đồ thị hộp biểu diễn các thuộc tính trong tập dữ liệu Appl
Vẽ biểu đồ ma trận tương quan (heatmap) để xem sự ảnh hưởng của các thuộc tính với nhau
Hình 3.9 Đồ thị heatmap thể hiện sự tương quan giữa các thuộc tính
Vẽ biểu đồ scatter để kiểm tra sự tuyến tính của từng thuộc tính so với cột
3.2.2 Phân tích dữ liệu công ty Google Đầu tiên, ta sẽ phân tích dữ liệu bằng cách lập bảng thống kê mô tả cho tập dữ liệu
Hình 3.10 Bảng phân tích mô tả dữ liệu công ty Google
Tiếp theo sẽ tiến hành vẽ biểu đồ cột và biểu đồ hộp để trực quan hóa dữ liệu
Hình 3.11 Đồ thị cột biểu diễn các thuộc tính trong tập dữ liệu Google
Hình 3.12 Đồ thị hộp biểu diễn các thuộc tính trong tập dữ liệu Google
Vẽ biểu đồ ma trận tương quan (heatmap) để xem sự ảnh hưởng của các thuộc tính với nhau
Hình 3.13 Đồ thị heatmap thể hiện sự tương quan giữa các thuộc tính
Vẽ biểu đồ scatter để kiểm tra sự tuyến tính của từng thuộc tính so với cột
Hình 3.14 Đồ thị Scatter thể hiện sự tuyến tính giữa các thuộc tính với Adj Close
Ta thấy các thuộc tính đều có sự tuyến tính so với ‘Adj close’ trừ cột
‘Volume’ Do vậy, ta sẽ quyết định đầu vào X gồm các cột ‘Open’, ‘High’,
‘Low’, ‘Close’, đầu ra y là cột ‘Adj close’
3.2.3 Phân tích dữ liệu công ty Meta Đầu tiên, ta sẽ phân tích dữ liệu bằng cách lập bảng thống kê mô tả cho tập dữ liệu
Hình 3.15 Bảng phân tích mô tả dữ liệu công ty Meta
Tiếp theo sẽ tiến hành vẽ biểu đồ cột và biểu đồ hộp để trực quan hóa dữ liệu
Hình 3.16 Đồ thị cột biểu diễn các thuộc tính trong tập dữ liệu Meta
Hình 3.17 Đồ thị hộp biểu diễn các thuộc tính trong tập dữ liệu Meta
Vẽ biểu đồ ma trận tương quan (heatmap) để xem sự ảnh hưởng của các thuộc tính với nhau
Hình 3.18 Đồ thị heatmap thể hiện sự tương quan giữa các thuộc tính
Vẽ biểu đồ scatter để kiểm tra sự tuyến tính của từng thuộc tính so với cột
Hình 3.19 Đồ thị Scatter thể hiện sự tuyến tính giữa các thuộc tính với Adj Close
Ta thấy các thuộc tính đều có sự tuyến tính so với ‘Adj close’ trừ cột
‘Volume’ Do vậy, ta sẽ quyết định đầu vào X gồm các cột ‘Open’, ‘High’,
‘Low’, ‘Close’, đầu ra y là cột ‘Adj close’
3.2.4 Phân tích dữ liệu công ty Amazon Đầu tiên, ta sẽ phân tích dữ liệu bằng cách lập bảng thống kê mô tả cho tập dữ liệu
Hình 3.20 Bảng phân tích mô tả dữ liệu công ty Amazon
Tiếp theo sẽ tiến hành vẽ biểu đồ cột và biểu đồ hộp để trực quan hóa dữ liệu
Hình 3.21 Đồ thị cột biểu diễn các thuộc tính trong tập dữ liệu Amazon
Hình 3.22 Đồ thị hộp biểu diễn các thuộc tính trong tập dữ liệu Amazon
Vẽ biểu đồ ma trận tương quan (heatmap) để xem sự ảnh hưởng của các thuộc tính với nhau
Hình 3.23 Đồ thị heatmap thể hiện sự tương quan giữa các thuộc tính
Vẽ biểu đồ scatter để kiểm tra sự tuyến tính của từng thuộc tính so với cột ‘Adj Close’
Hình 3.24 Đồ thị Scatter thể hiện sự tuyến tính giữa các thuộc tính với Adj Close
Ta thấy các thuộc tính đều có sự tuyến tính so với ‘Adj close’ trừ cột
‘Volume’ Do vậy, ta sẽ quyết định đầu vào X gồm các cột ‘Open’, ‘High’,
‘Low’, ‘Close’, đầu ra y là cột ‘Adj close’
3.2.5 Phân tích dữ liệu công ty Microsoft Đầu tiên, ta sẽ phân tích dữ liệu bằng cách lập bảng thống kê mô tả cho tập dữ liệu
Hình 3.25 Bảng phân tích mô tả dữ liệu công ty Microsoft
Tiếp theo sẽ tiến hành vẽ biểu đồ cột và biểu đồ hộp để trực quan hóa dữ liệu
Hình 3.26 Đồ thị cột biểu diễn các thuộc tính trong tập dữ liệu Microsoft
Hình 3.27 Đồ thị hộp biểu diễn các thuộc tính trong tập dữ liệu Microsoft
Vẽ biểu đồ ma trận tương quan (heatmap) để xem sự ảnh hưởng của các thuộc tính với nhau
Hình 3.28 Đồ thị heatmap thể hiện sự tương quan giữa các thuộc tính
Vẽ biểu đồ scatter để kiểm tra sự tuyến tính của từng thuộc tính so với cột ‘Adj Close’
Hình 3.29 Đồ thị Scatter thể hiện sự tuyến tính giữa các thuộc tính với Adj Close
Ta thấy các thuộc tính đều có sự tuyến tính so với ‘Adj close’ trừ cột
‘Volume’ Do vậy, ta sẽ quyết định đầu vào X gồm các cột ‘Open’, ‘High’,
‘Low’, ‘Close’, đầu ra y là cột ‘Adj close’
Chia dữ liệu và huấn luyện mô hình
Hình 3.30 Dữ liệu đầu vào X
Hình 3.31 Dữ liệu đầu ra y
Chia tập dữ liệu theo tỷ lệ 80-20, random state = 42
Hình 3.32 chia dư liệu train va test
Chuẩn hóa dữ liệu là quá trình quan trọng trong xử lý dữ liệu, giúp đảm bảo dữ liệu ở định dạng hoặc đơn vị đo lường chung, từ đó tối ưu hóa phân tích và học máy Việc chuẩn hóa các loại đơn vị đo khác nhau giúp thống nhất và đơn giản hóa việc so sánh, phân tích Đồng thời, chuẩn hóa cũng giảm thiểu sự biến động của dữ liệu bằng cách đưa dữ liệu về một vi phạm cụ thể, giảm tác động của các ngoại lệ và đảm bảo chất lượng dữ liệu tốt nhất.
Nâng cao hiệu suất mô hình học máy là điều cần thiết trong quá trình huấn luyện Chuẩn hóa dữ liệu không chỉ giúp tăng tốc độ học mà còn cải thiện khả năng hội tụ của mô hình Việc này giúp tránh tình trạng chậm trễ ở các mô hình quan trọng khi đối mặt với dữ liệu có phạm vi rộng.
Chuẩn hóa dữ liệu giúp nâng cao độ chính xác của các thuật toán phân tích và dự đoán bằng cách giảm sự biến đổi và phương sai giữa các tính năng, từ đó cải thiện hiệu suất của nhiều mô hình phân loại và dự đoán khác nhau.
Chuẩn hóa dữ liệu giúp giảm tác động của các giá trị ngoại lệ, làm cho mô hình trở nên ổn định hơn và ít bị ảnh hưởng bởi những dữ liệu không phù hợp Bên cạnh đó, chuẩn hóa cũng là một bước quan trọng trong việc trực quan hóa dữ liệu, giúp người dùng dễ dàng hiểu và diễn giải thông tin hơn.
Chuẩn hóa là một yếu tố quan trọng giúp tối ưu hóa chức năng làm mát và tăng tốc độ đào tạo mô hình, đặc biệt hiệu quả với các thuật toán như giảm độ dốc.
Chuẩn hóa dữ liệu không chỉ nâng cao hiệu suất của các mô hình học máy mà còn giúp giảm bớt độ phức tạp trong việc xử lý và phân tích dữ liệu.
Hình 3.33 Chuẩn hóa dữ liệu đầu vào
Chúng ta sẽ tiến hành chuẩn hóa Min Max trên tập X_train để đưa dữ liệu về khoảng 0-1 Sau đó, mô hình chuẩn hóa sẽ được lưu lại để áp dụng cho dữ liệu đầu vào Mỗi tập dữ liệu sẽ được lưu riêng biệt để đảm bảo tính chính xác trong quá trình chuẩn hóa.
Để thực hiện mô hình chuẩn hóa, đầu tiên áp dụng trên dữ liệu của Microsoft, và các dữ liệu khác có thể thực hiện tương tự Sau đó, chuyển đổi X_test theo mô hình chuẩn hóa đã thiết lập từ X_train để đảm bảo tính nhất quán trong quá trình phân tích.
Ta sẽ thực hiện huấn luyện bằng mô hình hồi quy tuyến tính
Hình 3.34 Mô hình huấn luyện
Hình 3.35 Source code đánh giá mô hình
Để đánh giá mô hình, ta sử dụng hai chỉ số là Mean Squared Error và R-squared trên tập dữ liệu train và test nhằm xác định hiện tượng overfitting hoặc underfitting.
Sau đây là kết quả đánh giá mô hình trên từng tập dữ liệu
1 Kết quả trên tập dữ liệu của Apple
-Kết quả huấn luyện dữ liệu -
Lỗi bình phương trung bình (MSE): 0,8192664238091557
-Kết quả được xác định -
Lỗi bình phương trung bình (MSE): 0,8635673382003699
2 Kết quả trên tập dữ liệu của Google
-Kết quả huấn luyện dữ liệu -
Lỗi bình phương trung bình (MSE): 6.443521123421957e-28
-Kết quả được xác định -
Lỗi bình phương trung bình (MSE): 6.355391327878117e-28
3 Kết quả trên tập dữ liệu của Meta
-Kết quả huấn luyện dữ liệu -
Lỗi bình phương trung bình (MSE): 8.361307957400403e-27
-Kết quả được xác định -
Lỗi bình phương trung bình (MSE): 8.871087978008575e-27
4 Kết quả trên tập dữ liệu của Amazon
-Kết quả huấn luyện dữ liệu -
Lỗi bình phương trung bình (MSE): 8.782362949103353e-29
-Kết quả được xác định -
Lỗi bình phương trung bình (MSE): 8.905295650341657e-29
5 Kết quả trên tập dữ liệu của Microsoft
-Kết quả huấn luyện dữ liệu -
Lỗi bình phương trung bình (MSE): 2.0141425869809484
-Kết quả được xác định -
Lỗi bình phương trung bình (MSE): 2.1567591746513752
Nhận xét: Ta thấy không xuất hiện sự overfitting hoặc underfitting Độ chính xác của mô hình cũng là rất cao
Lưu mô hình
Để thực hiện huấn luyện và dự báo dữ liệu, cần tiến hành lưu mô hình cho mỗi tập dữ liệu riêng biệt Mỗi mô hình huấn luyện sẽ được lưu lại, ví dụ như mô hình huấn luyện trên tập Microsoft, và quy trình này sẽ được áp dụng tương tự cho các tập dữ liệu khác.
DEMO CHƯƠNG TRÌNH
Giới thiệu framework sử dụng
Streamlit là thư viện Python mạnh mẽ giúp tạo ứng dụng web tương tác nhanh chóng và dễ dàng Thư viện này làm cho việc xây dựng giao diện người dùng cho dữ liệu và mô hình trở nên đơn giản, không còn là thách thức lớn Thay vì phải lo lắng về lập trình HTML hay CSS, bạn có thể phát triển nhanh chóng bằng cách sử dụng các hàm Python đơn giản để hiển thị dữ liệu và tương tác với người dùng.
Streamlit là công cụ lý tưởng cho việc phát triển ứng dụng web, mang đến trải nghiệm linh hoạt cho người dùng cuối Với khả năng tích hợp dễ dàng biểu đồ, bảng và các thành phần tương tác mà không cần kiến thức sâu về giao diện người dùng, Streamlit trở thành sự lựa chọn hàng đầu của các nhà phân tích dữ liệu và nhà nghiên cứu Công cụ này cho phép người dùng nhanh chóng chia sẻ và triển khai các ứng dụng Python một cách hiệu quả Hơn nữa, cộng đồng Streamlit đang ngày càng phát triển, cung cấp nhiều nguồn lực và hỗ trợ cho những người mới bắt đầu làm quen với công nghệ này.
Phân tích thiết kế hệ thống
4.2.1 Biểu đồ use case tổng quát
Hình 4.1 use case tổng quát
4.2.2 Mô tả chi tiết use case
Mô tả use case chọn công ty
Tên use case Chọn tên công ty
Tóm tắt Use case này cho phép lựa chọn tên công ty để tiến hành tìm hiểu thông tin cũng như dự báo
Tiền điều kiện Thiết bị của người dùng khởi động ứng dụng thành công Đảm bảo tối thiểu
Nếu người dùng không chọn tên công ty thì mặc định là Apple Đảm bảo thành công
Người dùng chọn được tên 1 công ty trong 5 công ty có sẵn
1 Người dùng truy cập vào trang chủ của ứng dụng
2 Nhấn dấu mũi tên mục ‘Chọn một công ty’
3 Chọn công ty mình muốn.
Bảng 4.1 Bảng Mô tả use case chọn công ty
Mô tả use case chọn ngày
Tên use case Chọn ngày
Tóm tắt Use case này cho phép lựa chọn ngày theo lịch bao gồm ngày bắt đầu và ngày kết thúc
Tiền điều kiện Thiết bị của người dùng khởi động ứng dụng thành công Đảm bảo tối thiểu
Nếu người dùng không chọn ngày thì sẽ mặc định là ngày hiện tại bao gồm cả ngày bắt đầu và kết thúc Đảm bảo thành công
Người dùng chọn được ngày bắt đầu và ngày kết thúc như mong muốn
1 Người dùng nhấn chọn ngày bắt đầu bằng cách chọn trên lịch của hệ thống 2.Người dùng nhấn chọn ngày kết thúc bằng cách chọn trên lịch của hệ thống.
Bảng 4.2 Bảng mô tả use case chọn ngày
Mô tả use case xem dữ liệu
Tên use case Xem dữ liệu
Tóm tắt Use case này cho phép người dùng xem dữ liệu lịch sử của công ty đã chọn theo ngày tháng tùy ý
Tiền điều kiện Người dùng đã chọn được tên công ty và ngày bắt đầu, kết thúc
Nếu người dùng nhấn vào xem mà không đáp ứng đủ điều kiện tài chính, hệ thống sẽ áp dụng điều kiện mặc định Điều này đảm bảo rằng người dùng vẫn có thể truy cập dữ liệu lịch sử chứng khoán và biểu đồ giao dịch.
Người dùng ấn nút Xem thông tin dữ liệu
Bảng 4.3 Bảng Mô tả use case xem dữ liệu
Mô tả use case nhập thông tin giao dịch
Tên use case Nhập thông tin giao dịch
Tóm tắt Use case này cho phép người dùng nhập dữ liệu giao dịch muốn dự báo
Để đảm bảo ứng dụng khởi động thành công, thiết bị của người dùng cần đáp ứng một số điều kiện tối thiểu Nếu người dùng không nhập dữ liệu, hệ thống sẽ mặc định các giá trị là 0, nhằm đảm bảo quá trình khởi động diễn ra suôn sẻ.
Người dùng nhập thành công dữ liệu giao dịch
Người dùng nhập vào ô trống
Bảng 4.4 Bảng Mô tả use case nhập thông tin giao dịch
Mô tả use case xem thông tin mô hình huấn luyện
Tên use case Xem thông tin mô hình huấn luyện
Tóm tắt Use case này cho phép người dùng xem mô hình sử dụng để dự báo giao dịch chứng khoán
Tiền điều kiện Người dùng đã chọn được tên công ty Đảm bảo tối thiểu
Nếu người dùng nhấn vào xem mà không có tiền điều kiện, hệ thống sẽ áp dụng tiền điều kiện mặc định để đảm bảo thành công Người dùng sẽ có cơ hội xem thông tin chi tiết về mô hình và mã công ty.
Người dùng ấn nút Xem thông tin mô hình huấn luyện
Bảng 4.5 Bảng Mô tả use case xem thông tin mô hình huấn luyện
Mô tả use case dự báo
Tên use case Dự báo
Tóm tắt Use case này cho phép người dùng dự báo giá đóng cửa tùy chỉnh dựa vào 4 yếu tố: mở cửa, đóng cửa, thấp, cao
Tiền điều kiện Người dùng đã chọn được tên công ty và đã nhập xong các thông tin giao dịch Đảm bảo tối thiểu
Nếu người dùng ấn dự báo mà không có tiền điều kiện sẽ thực hiện theo dữ liệu mặc định Đảm bảo thành công
Người dùng dự báo được giá trị dựa trên dữ liệu đã nhập
Người dùng ấn nút dự báo
Bảng 4.6 Bảng Mô tả use case dự báo
Mô tả use case reset
Tóm tắt Use case này cho phép người dùng xóa hết những dữ liệu cũ để dự báo lại từ đầu (xóa hết trong session)
Tiền điều kiện Người dùng mở được chương trình ứng dụng Đảm bảo tối thiểu Không có Đảm bảo thành công
Người dùng xóa được hết dữ liệu cũ
Người dùng ấn nút reset
Bảng 4.7 Bảng mô tả use case reset
Thiết kế giao diện hệ thống
Hình 4.2 Trang chủ của giao diện Đầu tiên, chúng ta tiến hành chọn công ty mong muốn
76 Tiếp đó, ta tiến hành chọn ngày bắt đầu cũng như ngày kết thúc
Ta sẽ thu được kết quả sau đây
Hình 4.5 Dữ liệu lịch sử chứng khoán
Hình 4.6 Biểu đồ giá đóng cửa hàng ngày
Tiến hành nhập thông tin giao dịch
Hình 4.7 Nhập thông tin giao dịch
Sau khi ấn nút xem thông tin mô hình huấn luyện, ta thu được kết quả sau
Hình 4.8 Thông tin về mô hình sử dụng
Sau khi ấn nút dự báo, ta thu được kết quả sau:
Hình 4.9 Kết quả dự báo
Ta tiến hành lưu kết quả của các lần dự báo, sau đó tạo nên 1 biểu đồ đường để trực quan hóa sự tăng giảm trong thị trường
Hình 4.10 Biểu đồ sau mỗi lần dự báo
80 Sau khi ấn reset, dữ liệu sẽ bị xóa và quay trở lại như ban đầu
Hình 4.11 Giao diện sau khi reset lại