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

Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam

74 13 0

Đ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 đề Xây Dựng Ứng Dụng Và Áp Dụng Giải Thuật Học Máy Cho Thị Trường Chứng Khoán Việt Nam
Tác giả Lưu Minh Hồng
Người hướng dẫn TS. Trần Việt Trung
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Mạng máy tính và An toàn thông tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 74
Dung lượng 2,01 MB

Cấu trúc

  • MỤC LỤC

  • CHƯƠNG 1.

  • CHƯƠNG 2.

  • CHƯƠNG 3.

  • CHƯƠNG 4.

  • CHƯƠNG 5.

  • TÀI LIỆU THAM KHẢO

Nội dung

GIỚI THIỆU ĐỀ TÀI

Các chủ thể tham gia thị trường chứng khoán

Chủ thể nhà phát hành

Chủ thể phát hành chứng khoán là những người cung cấp hàng hóa cho thị trường chứng khoán, bao gồm Chính phủ, doanh nghiệp và các tổ chức như quỹ đầu tư và tổ chức tài chính trung gian Họ cần huy động vốn và thực hiện điều này bằng cách phát hành chứng khoán để bán cho các nhà đầu tư hoặc người kinh doanh chứng khoán.

Chính phủ và chính quyền địa phương là những chủ thể phát hành các loại chứng khoán như Trái phiếu Chính phủ, Trái phiếu địa phương, Trái phiếu công trình và Tín phiếu kho bạc Trong thị trường chứng khoán, Nhà nước chủ yếu tham gia với vai trò là người vay nợ.

Chính phủ, thông qua Bộ Tài chính hoặc Kho bạc Nhà nước, phát hành trái phiếu kho bạc để huy động vốn cho các công trình hạ tầng lớn, phát triển văn hóa, giáo dục, y tế và bù đắp thiếu hụt ngân sách Nhà nước.

Chính quyền địa phương tại nhiều quốc gia có quyền phát hành trái phiếu để huy động vốn cho phát triển kinh tế – xã hội Để thu hút nhà đầu tư, một số nước áp dụng chính sách miễn thuế lợi tức đối với trái phiếu địa phương.

Các doanh nghiệp đóng vai trò là chủ thể phát hành cổ phiếu và trái phiếu công ty Hình thức và tiêu chuẩn phát hành của các công ty này phụ thuộc vào quy định của Luật Chứng khoán từng quốc gia.

Quỹ đầu tư là tổ chức tài chính trung gian phi ngân hàng, thu hút tiền nhàn rỗi từ nhiều nguồn để đầu tư vào cổ phiếu, trái phiếu, tiền tệ và các tài sản khác Các quỹ này thường phát hành cổ phiếu hoặc chứng chỉ quỹ đầu tư, nhưng không được phép phát hành trái phiếu hay sử dụng nguồn vốn khác để thực hiện đầu tư.

Nhà đầu tư, bao gồm cả tổ chức và cá nhân trong và ngoài nước, tham gia vào thị trường chứng khoán (TTCK) để mua bán chứng khoán nhằm thu lợi nhuận Khi đầu tư, họ cần xem xét kỹ lưỡng các yếu tố như khả năng sinh lợi, tính ổn định và tình hình thị trường để lựa chọn phương thức đầu tư phù hợp Có hai loại nhà đầu tư chính: nhà đầu tư cá nhân và nhà đầu tư tổ chức.

Các tổ chức kinh doanh trên thị trường chứng khoán

 Các tổ chức tài chính trung gian

Các tổ chức có liên quan tới thị trường chứng khoán

 Cơ quan quản lý nhà nước

 Sở giao dịch chứng khoán

 Hiệp hội các nhà kinh doanh chứng khoán

 Tổ chức lưu ký và thanh toán bù trừ chứng khoán

 Công ty dịch vụ máy tính chứng khoán

 Các tổ chức tài trợ chứng khoán

 Công ty đánh giá hệ số tín nhiệm

Một số thuật ngữ thường dùng trong chứng khoán

Mệnh giá cổ phiếu là số tiền được ghi trên mỗi tờ cổ phiếu khi phát hành Tại Việt Nam, theo quy định hiện hành, mỗi cổ phiếu giao dịch trên thị trường chứng khoán tập trung có mệnh giá là 10.000 đồng.

 Thị giá:Là giá thị trường của các loại chứng khoán được mua bán trên thị trường giao dịch tập trung

Ví dụ: Mệnh giá của cổ phiếu VCB là 10.000 đồng nhưng giá trị thị trường hiện tại vào thời điểm ngày 04/05/2018 là 59.000 đồng.

Giá niêm yết là mức giá của cổ phiếu trong phiên giao dịch đầu tiên khi được niêm yết trên thị trường chứng khoán, được xác định dựa trên quan hệ cung cầu của thị trường.

Giá khớp lệnh là mức giá được xác định dựa trên kết quả khớp lệnh tại Trung tâm giao dịch chứng khoán, nhằm đáp ứng tối đa nhu cầu của cả người mua và người bán chứng khoán.

 Giá đóng cửa:Là giá thực hiện tại lần giao dịch cuối cùng trong ngày giao dịch.

 Giá mở cửa:Là giá thực hiện tại lần khớp lệnh đầu tiên trong ngày giao dịch.

Giá tham chiếu là mức giá cơ sở dùng để xác định giới hạn dao động giá chứng khoán trong phiên giao dịch Tại thị trường chứng khoán Việt Nam, giá tham chiếu của một ngày giao dịch chính là giá đóng cửa của ngày giao dịch trước đó.

 Biên độ dao động giá: Là giới hạn giá chứng khoán có thể biến đổi tối đa trong ngày giao dịch.

Biên động giá của sàn HOSE: 7%, sàn HNX: 10%, Upcom: 15%

 Giá trần: Là giá cao nhất mà một loại chứng khoán có thể được thực hiện trong ngày giao dịch

Giá trần = Giá tham chiếu * (1 + Biên động dao động giá)

 Giá sàn: Là giá thấp nhất mà một loại chứng khoán có thể được thực hiện trong ngày giao dịch

Giá sàn = Giá tham chiếu * (1 – Biên độ dao động giá)

CÁC MÔ HÌNH HỌC MÁY

Giới thiệu

Word Embedding là phương pháp chuyển đổi các từ thành các vector số thực với số chiều xác định Trong số các mô hình nổi bật, Word2Vec là một trong những mô hình đầu tiên sử dụng mạng neural cho Word Embedding, và vẫn được ưa chuộng hiện nay Mô hình này có khả năng vector hóa từng từ dựa trên tập hợp các từ chính và từ văn cảnh.

Word2Vec là một phương pháp toán học ánh xạ các từ trong một tập hợp vào không gian vector, với mỗi từ tương ứng với một vector cố định được biểu diễn bằng n số thực Trong quá trình huấn luyện, trọng số của các vector này được cập nhật liên tục, cho phép thực hiện các phép tính dựa trên khoảng cách giữa các từ Những từ có khoảng cách gần nhau thường là những từ xuất hiện cùng nhau trong văn cảnh, bao gồm các từ đồng nghĩa và các từ thuộc cùng một trường từ vựng.

Có hai cách để biểu diễn thuật toán:

 Skip-gram: Dự đoán những từ ngữ cảnh nếu biết trước từ đích.

 CBOW (Continuous Bag of Words): Dựa vào những từ ngữ cảnh để dự đoán từ đích.

Hình 2.1 Mô hình biểu diễn thuật toán Word2Vec [2]

Mô hình Skip-gram

Mô hình Skip-gram nhận đầu vào là một từ trong câu và phân tích các từ xung quanh nó Số lượng từ xung quanh được gọi là window-size Cụ thể, một window-size bằng 2 có nghĩa là mô hình sẽ xem xét 2 từ đứng trước và 2 từ đứng sau từ đầu vào.

Khi xây dựng dữ liệu huấn luyện với kích thước cửa sổ (window size) bằng 2, cửa sổ này được hiểu như một khung trượt qua từng từ Cụ thể, với kích thước cửa sổ là 2, chúng ta sẽ lấy 2 từ ở bên trái và 2 từ ở bên phải của mỗi từ trung tâm.

Hình 2.2 Biểu diễn ví dụ mô hình Skip-gram [3]

Hình 2.3 Kiến trúc cách thực hiện và training data mô hình Skip-gram [3]

Xây dựng kho từ điển từ tập dữ liệu văn bản và sử dụng vector one-hot để biểu diễn từng từ trong từ điển Giả sử từ điển chứa 10.000 từ riêng biệt, mỗi từ sẽ được mã hóa thành một vector one-hot độc nhất, giúp dễ dàng xử lý và phân tích ngữ nghĩa trong các ứng dụng học máy.

Vector one-hot là một phương pháp đại diện cho từ trong từ điển, bao gồm 10.000 thành phần, trong đó tất cả các giá trị đều bằng 0, ngoại trừ chỉ số tương ứng với từ đó có giá trị bằng 1 Ví dụ, từ "ants" sẽ được biểu diễn bằng một vector có 10.000 phần tử, trong đó chỉ có một phần tử duy nhất là 1 tại vị trí của từ "ants" trong từ điển.

Lớp ẩn giả sử trong mô hình word2vec gồm 300 neuron, không sử dụng hàm activation, trong khi đầu ra áp dụng hàm softmax Đầu ra này tạo ra một vector có độ lớn 10.000, với mỗi giá trị tương ứng thể hiện xác suất xuất hiện của từ gần vị trí đã chọn Kích thước 300 neuron là một hyperparameter quan trọng, được gọi là số chiều hay số đặc trưng của word2vec, mà Google đã sử dụng trong mô hình huấn luyện từ tập ngữ liệu Google News Giá trị hyperparameter này có thể được điều chỉnh để phù hợp với mô hình và dữ liệu của người nghiên cứu.

Hình 2.4 Ma trận trọng số của lớp ẩn của mô hình Word2vec [3]

Mục đích cuối cùng của việc huấn luyện mô hình trên toàn bộ tập ngữ liệu là xác định ma trận trọng số tại lớp ẩn Đầu vào của mô hình được biểu diễn dưới dạng one-hot vector, tức là một vector có tất cả các giá trị bằng 0 ngoại trừ một vị trí duy nhất có giá trị bằng 1.

Khi thực hiện tìm kiếm trong ma trận trọng số, ta nhân vector one-hot đầu vào với ma trận trọng số để xác định một vector đặc trưng có chiều dài tương ứng với số chiều của ma trận Điều này giúp xác định vị trí của từ đầu vào theo thứ tự từ điển.

Mô hình Word2vec sử dụng lớp ẩn như một bảng tra cứu, với đầu ra là một bộ phân loại áp dụng hàm softmax để tính xác suất Ưu điểm của hàm softmax là tạo ra các giá trị xác suất dương và đảm bảo tổng các xác suất thành phần bằng 1, giúp phân tích mối tương quan giữa các từ, chẳng hạn như giữa từ "ants" và các từ khác.

Từ "car" sẽ được vector hóa dựa trên ma trận trọng số của lớp ẩn đã được huấn luyện Đầu ra thông qua hàm softmax sẽ biểu thị xác suất xuất hiện của từ "car" gần với từ được chọn.

Hình 2.6 Mối tương quan giữa từ “ants” và từ “car” [3]

Mô hình Cbow

Với mô hình CBOW, ý tưởng chính của CBOW là dựa vào các các từ xung quanh để dự đoán từ ở giữa.

Dữ liệu chuỗi thời gian

Dữ liệu chuỗi thời gian là tập hợp các điểm dữ liệu liên tiếp, thường được thu thập từ một nguồn trong một khoảng thời gian nhất định Phân tích chuỗi thời gian nhằm mục đích nhận diện và tổng hợp các yếu tố, cũng như biến đổi theo thời gian, có ảnh hưởng đến giá trị của biến quan sát.

Chuỗi thời gian có 2 loại:

 Chuỗi thời gian thông thường: loại thông thường được gọilà số liệu

 Chuỗi thời gian bất thường: là những sự kiện.

Chuỗi thời gian là công cụ hữu ích để biểu diễn các đối tượng trong nhiều lĩnh vực khác nhau, và chúng thường chia sẻ nhiều tính chất tương đồng Một chuỗi thời gian có thể được thể hiện một cách trực quan qua biểu đồ, giúp người xem dễ dàng nắm bắt thông tin và xu hướng.

Hình 2.8 Ví dụ về 1 chuỗi thời gian b Đặc điểm chuỗi thời gian

Dữ liệu chuỗi thời gian có những tính chất đặc trưng riêng như:

Tính xu hướng là yếu tố quan trọng thể hiện sự thay đổi của dữ liệu theo thời gian, đặc biệt trong các chuỗi thời gian kinh tế lượng Ví dụ, giá cả thị trường thường chịu ảnh hưởng của lạm phát, dân số thế giới có xu hướng tăng qua các năm, và nhiệt độ trung bình của trái đất cũng gia tăng do hiệu ứng nhà kính.

Xu hướng có vai trò quan trọng trong việc đánh giá mối quan hệ giữa các chuỗi số, mặc dù về bản chất chúng không tương quan Sự tương đồng trong xu hướng theo thời gian khiến chúng ta nhận định rằng các chuỗi này có mối liên hệ tương quan, mặc dù thực tế không phải vậy.

Mối quan hệ giữa số lượng người bị đuối nước hàng năm và sản lượng kem tiêu thụ cho thấy sự tương quan tuyến tính dương, do cả hai đều chịu ảnh hưởng từ nhiệt độ Khi nhiệt độ tăng, nhu cầu tắm biển tăng cao, dẫn đến số lượng người bị đuối nước cũng tăng, đồng thời người dân tiêu thụ kem nhiều hơn để giải khát Tuy nhiên, việc ăn kem không phải là nguyên nhân trực tiếp gây ra đuối nước Vì vậy, trong việc xây dựng các mô hình chuỗi thời gian, cần loại bỏ yếu tố xu hướng từ các biến đầu vào để xác định những chuỗi có sự tương quan thực sự.

 Tính chu kỳ: Là qui luật có tính chất lặp lại của dữ liệu theo thời gian

Sự thay đổi thời tiết, sự phát triển của động vật, và hành vi tiêu dùng của con người đều bị ảnh hưởng bởi chu kỳ thời gian Việc nhận diện các yếu tố chu kỳ là rất quan trọng để dự báo chính xác nhu cầu thị trường Chẳng hạn, các doanh nghiệp sản xuất có thể xác định thời điểm tăng sản lượng trong năm, từ đó quyết định số lượng lao động cần tuyển và nguyên vật liệu cần mua Nếu không nắm bắt được tính chu kỳ này, doanh nghiệp có thể đưa ra dự báo sai lầm về nhu cầu, dẫn đến thua lỗ.

Mạng nơron truy hồi RNN - Recurrent Neural Network

Ý tưởng chính của mạng nơ-ron hồi tiếp (RNN) là khai thác chuỗi thông tin, khác với các mạng nơ-ron truyền thống mà đầu vào và đầu ra không có sự liên kết Điều này khiến RNN trở thành lựa chọn lý tưởng cho nhiều bài toán mà thông tin có tính tuần tự, giúp cải thiện hiệu suất trong việc xử lý dữ liệu chuỗi.

RNN, hay mạng nơ-ron hồi quy, thực hiện cùng một tác vụ cho mọi phần tử trong chuỗi, với đầu ra phụ thuộc vào các phép tính trước đó.

RNN có khả năng lưu trữ thông tin đã được tính toán trước đó, cho phép nó xử lý dữ liệu theo chuỗi Mặc dù lý thuyết cho rằng RNN có thể sử dụng thông tin từ các văn bản rất dài, nhưng trên thực tế, khả năng nhớ của nó chỉ giới hạn trong một vài bước trước đó.

RNN có thể phân loại loại thành 1 số dạng như sau:

Hình 2.9 Các dạng bài toán RNN [5]

Mạng nơ-ron hồi tiếp (RNN) nổi bật với khả năng kết nối thông tin trước đó với nhiệm vụ hiện tại, như trong câu “học sinh đang tới trường học” Tuy nhiên, trong những ngữ cảnh yêu cầu thông tin dài hạn, như khi cần hiểu từ “ướt” trong câu “Trên đường đi học trời mưa, cặp sách của Ngọc bị ướt”, RNN gặp khó khăn do hiện tượng “vanishing gradient”, khiến nó chỉ học được các trạng thái gần Để khắc phục vấn đề này, mạng LSTM đã được phát triển với cơ chế đặc biệt giúp xử lý các phụ thuộc dài hạn hiệu quả hơn.

Mô hình LSTM (Long short term memory)

LSTM, được phát triển bởi Sepp Hochreiter và Jürgen Schmidhuber vào năm 1997, là một phiên bản mở rộng của mạng RNN, nhằm giải quyết vấn đề phụ thuộc xa (long-term dependencies) trong mạng RNN Thiết kế của LSTM giúp khắc phục hiện tượng gradient biến mất, cho phép mạng có khả năng ghi nhớ thông tin từ các bước có khoảng cách xa, điều mà mạng RNN cơ bản không thể thực hiện hiệu quả.

Các phần tử đầu tiên trong chuỗi đầu vào có ít ảnh hưởng đến kết quả tính toán dự đoán cho chuỗi đầu ra trong các bước tiếp theo.

Hình 2.10 Sơ đồ biểu diễn kiến trúc của 1 ô trạng thái LSTM [6]

Mạng LSTM bao gồm nhiều ô trạng thái LSTM liên kết, với ý tưởng chính là bổ sung trạng thái bên trong ô trạng thái Mỗi ô LSTM sử dụng ba cổng để sàng lọc thông tin đầu vào và đầu ra, giúp cải thiện khả năng ghi nhớ và xử lý dữ liệu theo thời gian.

Trong mô hình mạng nơ-ron hồi tiếp, có ba loại cổng chính: "cổng quên", "cổng đầu vào" và "cổng đầu ra" Tại mỗi bước thời gian t, các cổng này nhận giá trị đầu vào xt, đại diện cho một phần tử trong chuỗi đầu vào, cùng với giá trị ht-1 từ đầu ra của "ô nhớ" ở bước trước t-1 Mỗi cổng có nhiệm vụ sàng lọc thông tin với các mục đích khác nhau, giúp tối ưu hóa quá trình xử lý dữ liệu.

 Forget gate: Có nhiệm vụ loại bỏ những thông tin không cần thiết nhận được khỏi cell internal

 Input gate: Có nhiệm vụ chọn lọc những thông tin cần thiết nào được thêm vào cell internal

 Output gate: Có nhiệm vụ xác định những thông tin nào từ cell internal state được sử dụng như đầu ra.

XÂY DỰNG HỆ THỐNG HỖ TRỢ NHÀ ĐẦU TƯ CHỨNG KHOÁN 15 Tổng quan hệ thống

Thu thập tin tức

Khi user thực hiện một yêu cầu thu thập dữ liệu của một trang web, yêu cầu sẽ được đưa vào 1 hàng đợi để chờ thực hiện.

Dịch vụ Crawler Monitor sẽ liên tục theo dõi hàng đợi và kiểm tra tính khả dụng của hệ thống, từ đó tạo ra các bot crawler phù hợp để thu thập dữ liệu từ trang web.

Hình 3.2 Mô hình thu thập dữ liệu

Các crawler thu thập và lưu trữ dữ liệu vào cơ sở dữ liệu MongoDB Chúng tải nội dung từ trang web, tìm kiếm tin tức và khám phá các URL liên quan Cách hoạt động của một crawler được minh họa qua sơ đồ khối dưới đây.

Hình 3.3 Sơ đồ phương thức hoạt động của crawler

Sync Service sẽ định kỳ đồng bộ dữ liệu từ mongo database vào Mysql.

Hình 3.4 Mô hình đồng bộ dữ liệu

Thu thập chỉ số chứng khoán

Hệ thống sẽ tự động chạy thu thập các thông tin kỹ thuật của từng mã cổ phiếu và lưu vào hệ thống.

Hình 3.5 Mô hình thu thập chỉ số chứng khoán

Xây dựng khối mô hình học máy

Mô hình phân tích sắc thái

Mô hình phân tích sắc thái là một phương pháp phân loại văn bản, trong đó luận văn này tập trung vào việc phân loại dữ liệu văn bản từ các tin tức thị trường chứng khoán được thu thập từ internet Dữ liệu sẽ được phân loại thành ba nhãn khác nhau.

Hình ảnh bên dưới sẽ mô tả cách thức triển khai của bài toán:

Hình 3.6 Mô tả cách thức triển khai mô hình phân tích sắc thái

Dữ liệu đóng vai trò quan trọng nhất trong việc xây dựng hệ thống phân loại văn bản Quá trình chuẩn bị và tiền xử lý dữ liệu là yếu tố quyết định đến sự thành công hay thất bại của hệ thống này.

Tiền xử lý dữ liệu là bước đầu tiên quan trọng trong việc chuẩn hóa và loại bỏ các thành phần không cần thiết để cải thiện hiệu quả phân loại văn bản.

Tiền xử lý dữ liệu tiếng Việt cho bài toán phân loại văn bản thường gồm các việc sau:

 Loại bỏ stopword và xoá các ký tự đặc biệt Việc này giúp cho:

 Giảm chiều dữ liệu, tăng tốc độ học và xử lý

 Tránh nhiễu làm ảnh hưởng xấu đến mô hình

 Đơn vị từ của tiếng Việt bao gồm từ đơn và từ ghép

 Việc làm này giúp mô hình tránh nhận thiếu từ ghép

 Đưa văn bản về viết thường:

 Việc làm này giúp giảm số lượng đặc trưng và tăng độ chính xác cho mô hình

Xây dựng mô hình phân loại văn bản

Trong luận văn này, mô hình fasttext được sử dụng để phân loại văn bản Dữ liệu tin tức, bao gồm tiêu đề và nội dung tóm tắt, được thu thập từ các website chứng khoán lớn tại Việt Nam và được phân loại thành 3 nhãn khác nhau thông qua việc gán nhãn thủ công.

Dữ liệu được chia làm 2 tập train/test với tỉ lệ là 8:2 (dữ liệu train: 320 bài mỗi nhãn, dữ liệu test: 80 bàimỗi nhãn)

Các thông số được cài đặt với thư viện fastext:

 Tỷ lệ học (learning rate) = 0.05

Mô hình dự đoán giá

Bài toán dự đoán giá cổ phiếu sử dụng các chỉ số chứng khoán của từng mã cổ phiếu làm đầu vào, với mục tiêu là dự đoán giá trong những ngày tiếp theo Mô hình triển khai sẽ được thực hiện theo sơ đồ minh họa bên dưới.

Hình 3.7 Sơ đồ huấn luyện mô hình dự đoán giá cổ phiếu

Dữ liệu huấn luyện cho mã cổ phiếu AAA bao gồm các chỉ số theo ngày, được thu thập từ 16/11/2010 đến 31/12/2021 Các chỉ số này sẽ cung cấp cái nhìn tổng quan về hiệu suất của cổ phiếu trong khoảng thời gian này.

Dữ liệu sẽ được chia là 2 tập huấn luyện và kiểm thử với tỉ lệ 90% - 10%

Xây dựng mô hình mạng

Trong giai đoạn này dữ liệu được đẩy vào mạng nơ-ron để huấn luyện Dữ liệu được chuẩn hoá thành tập các đối tượng có 2 thuộc tính:

 Input: giá trị đầu vào là thông tin các chỉ sốchứng khoáncủa 22 ngày liên tiếp(thông tin chứng khoán trong một tháng)

 Nhãn: Là giá trị giá đóng cửa của 3 ngày tiếp theo

Kiến trúc mạng xây dựng sử dụng mô hình GravesLSTM được cài đặt sẵn trong thư viện deeplearning4j Cấu hình cài đặt mạng như sau:

 Tỷ lệ học (learning rate): 0.05

 Activation (hàm kích hoạt): TANH

 Dropout ratio (Tỷ lệ bỏ học): 0.2

 Activation (hàm kích hoạt): TANH

 Dropout ratio (Tỷ lệ bỏ học): 0.2

 Activation (hàm kích hoạt): ReLU

 Activation (hàm kích hoạt): Identity

Sau nhiều lần thử nghiệm với nhiều siêu tham số là epochs, batchsize, tôi quyết định lựa chọn tham số như sau:

Phân tích

Hệ thống được chia thành hai nhóm chức năng chính: nhóm quản trị hệ thống và nhóm chức năng dành cho nhà đầu tư Các tác nhân trong hệ thống bao gồm người quản lý và nhà đầu tư.

Nhà đầu tư có thể tạo watch list và theo dõi các tin tức về chứng khoán, theo dõi sắc thái tin tức và biểu đồ dự đoán giá…

Người quản lý không chỉ đảm nhận đầy đủ chức năng của nhà đầu tư mà còn có khả năng thiết lập cấu hình cho crawler, giúp thu thập thông tin về chứng khoán và cập nhật sắc thái tin tức một cách hiệu quả.

Hình 3.8 Biểu đồ use case tổng quát hệ thống

23 a Biểu đồ use case xem tin tức

Hình 3.9 Biểu đồ use case xem tin tức

Mô tả use case xem tin tức theo chủ đề:

Bảng 3.1 Bảng mô tả use case xem tin tức theo chủ đề

Tên use case Xem tin tức theo chủ đề

Tác nhân Nhà đầu tư

Là một nhà đầu tư, tôi mong muốn theo dõi tin tức chứng khoán được phân loại theo các chủ đề cụ thể như thị trường, tài chính, doanh nghiệp, kinh tế và thế giới.

Luồng hoạt động Người dùng truy cập vào trang chủ, hệ thống trả về các tin tức theo nhóm chủ đề.

Mô tả use case xem tin tức theo cổ phiếu theo dõi:

Bảng 3.2 Bảng mô tả use case xem tin tức theo cổ phiếu theo dõi

Tên use case Xem tin tức theo cổ phiếu theo dõi

Tác nhân Nhà đầu tư

Mô tả Là nhà đầu tư, tôi muốn xem tin tức chứng khoán liên quan đến danh mục cổ phiếu theo dõi

Người dùng truy cập vào trang danh sách theo dõi (watch list) và hệ thống sẽ cung cấp các tin tức liên quan đến các cổ phiếu trong danh sách đó Biểu đồ use case quản lý danh sách theo dõi giúp theo dõi hiệu quả thông tin và biến động của các cổ phiếu.

Hình 3.10 Biểu đồ use case quản lý watch list theo dõi

Mô tả use case tạo watch list:

Bảng 3.3 Bảng mô tả use case tạo watch list

Tên use case Tạo danh mục cổ phiếu theo dõi

Tác nhân Nhà đầu tư

Mô tả Là nhà đầu tư, tôi muốn tạo danh mục cổ phiếu theo dõi Mức độ ưu tiên 1

Luồng hoạt động (1) Người dùng truy cập vào trang watch list

(2) Người dùng tạo watch list

(3) Người dùng thêm cổ phiếu vào watch list

Mô tả use case sửa watch list:

Bảng 3.4 Bảng mô tả use case sửa watch list

Tên use case Sửa watch list

Tác nhân Nhà đầu tư

Mô tả Là nhà đầu tư, tôi muốn thêm/bớt cổ phiếu trong danh mục watch list Mức độ ưu tiên 1

Luồng hoạt động (1) Người dùng truy cập vào trang watch list

(2) Người dùng chọn một watch list, hệ thống trả về danh mục cổ phiếu tương ứng với watch list

(3) Người dùng thêm/bớt cổ phiếu trong watch list

Mô tả use case xóa watch list:

Bảng 3.5 Bảng mô tả use case xóa watch list

Tên use case Xóa watch list

Tác nhân Nhà đầu tư

Mô tả Là nhà đầu tư, tôi muốn xóa watch list theo dõi Mức độ ưu tiên 1

Luồng hoạt động (1) Người dùng truy cập vào trang watch list, hệ thống trả về danh sách watch list

(2) Người dùng chọn một watch list

(3) Người dùng xóa watch list c Biểu đồ use case xem các báo cáo dự đoán

Hình 3.11 Biểu đồ use case xem các báo cáo dự đoán

Mô tả use case xem các báo cáo dự đoán:

Bảng 3.6 Bảng mô tả use case xem các báo cáo dự đoán

Tên use case Xem các báo cáo dự đoán giá cổ phiếu

Tác nhân Nhà đầu tư

Mô tả Là nhà đầu tư, tôi muốn xem các báo cáo dự đoán giá cổ phiếu trong 5 ngày tiếp theo Mức độ ưu tiên 1

Luồng hoạt động (1) Người dùng truy cập vào trang watch list, hệ thống trả về danh sách watch list

(2) Người dùng chọn một watch list, hệ thống trả về danh mục cổ phiếu trong watch list

(3) Người dùng xem phần dự đoán của cổ phiếu trong watch list. d Biểu đồ use case quản lý Crawler

Hình 3.12 Biểu đồ use case quản lý Crawler

Mô tả use case thêm 1 crawler:

Bảng 3.7 Bảng mô tả use case thêm 1 crawler

Tên use case Thêm 1 crawler

Mô tả Là người quản trị hệ thống, tôi muốn thu thập tin tức từ một website chứng khoán Mức độ ưu tiên 1

Luồng hoạt động Admin đăng nhập vào trang quản lý, chọn

Menu thiết lập crawler Admin nhập các thông tin và lưu vào hệ thống.

Mô tả use case sửa crawler:

Bảng 3.8 Bảng mô tả use case sửa crawler

Tên use case Sửa crawler

Mô tả Là người quản trị hệ thống, tôi muốn sửa lại thông tin cấu hình crawler.

Luồng hoạt động (1) Admin đăng nhập vào trang quản lý, chọn

(3) Admin sửa các thông tin và lưu vào hệ thống.

Mô tả use case hẹn giờ tự động chạy:

Bảng 3.9 Bảng mô tả use case hẹn giờ tự động chạy

Tên use case Hẹn giờ tự động chạy

Mô tả Là người quản trị hệ thống, tôi muốn thiết lập thời gian tự động thu thập dữ liệu chứng khoán từ các website.

Luồng hoạt động (1) Admin đăng nhập vào trang quản lý, chọn

(2) Trên trang danh sách crawler, chọn thiết lập thời gian.

(3) Admin nhập thời gian tự động chạy dữ liệu

(4) Định kỳ hệ thống thực hiện tự động thu thập dữ liệu. e Biểu đồ use case quản lý user

Hình 3.13 Biểu đồ use case quản lý user

Mô tả use case thêm user:

Bảng 3.10 Bảng mô tả use case thêm user nhà đầu tư

Tên use case Thêm user nhà đầu tư

Mô tả Là người quản trị hệ thống, tôi muốn thêm user nhà đầu tư sử dụng hệ thống.

Luồng hoạt động Admin đăng nhập vào trang quản lý, chọn

Menu quản lý user Admin nhập thông tin user và lưu vào hệ thống.

Mô tả use case sửa thông tin user:

Bảng 3.11 Bảng mô tả use case sửa thông tin user

Tên use case Sửa thông tin user nhà đầu tư

Mô tả Là người quản trị hệ thống, tôi muốn sửa thông tin user nhà đầu tư sử dụng hệ thống.

Luồng hoạt động (1) Admin đăng nhập vào trang quản lý, chọn

Menu quản lý user, hệ thống trả về danh sách user

(2) Admin chọn một user trong danh sách

(3) Admin sửa thông tin user và lưu vào hệ thống.

Mô tả use case xóa user:

Bảng 3.12 Bảng mô tả use case xóa user nhà đầu tư

Tên use case Xóa user nhà đầu tư

Mô tả Là người quản trị hệ thống, tôi muốn xóa user nhà đầu tư không còn sử dụng hệ thống.

Luồng hoạt động (1) Admin đăng nhập vào trang quản lý, chọn

Menu quản lý user, hệ thống trả về danh sách user

(2) Admin chọn một user trong danh sách

(3) Admin xóa user và lưu vào hệ thống.

Biểu đồ hoạt động a Chức năng Quản lý crawler

Hình 3.14 Sơ đồ hoạt động cài đặt thông tin crawler

 Mục đích: Cấu hình để lấy dữ liệu từ các trang tin tức chứng khoán

 Màn hình cung cấp form nhập các thông tin như: web url, các dom content selector để bóc tách dữ liệu…

Chức năng kiểm tra selector giúp xác định độ chính xác của dữ liệu sau khi được bóc tách, đảm bảo rằng các trường dữ liệu khớp đúng với những gì đã được dự định lưu trữ trong cơ sở dữ liệu.

Sau khi xác minh thành công các thông tin cơ bản và kiểm tra selector, admin có thể lưu cấu hình vào cơ sở dữ liệu để tiếp tục thực hiện các bước tiếp theo.

Thu thập dữ liệu từ website:

Hình 3.15 Sơ đồ thu thập dữ liệu từ website

Hẹn giờ thu thập dữ liệu website

Hình 3.16 Sơ đồ hẹn giờ thu thập dữ liệu website

 Mục đích: Cấu hình bot để lấy dữ liệu từ các trang tin tức chứng khoán

 Màn hình cung cấp form nhập các thông tin như: web url, các dom content selector để bóc tách dữ liệu …

Chức năng kiểm tra selector đảm bảo tính chính xác của dữ liệu sau khi bóc tách, xác định xem các trường dữ liệu có khớp với những gì dự định lưu trong cơ sở dữ liệu hay không Đồng thời, chức năng đánh giá sắc thái tin tức giúp phân tích và hiểu rõ hơn về nội dung tin tức.

Tự động cập nhật sắc thái tin tức

Hình 3.17 Sơ đồ tự động cập nhật sắc thái tin tức

Người dùng xem tin tức đã tính toán sắc thái

Hình 3.18 Sơ đồ người dùng xem tin tức đã tính toán sắc thái

Admin cập nhật sắc thái tin tức thủ công:

Hình 3.19 Sơ đồ admin cập nhật sắc thái tin tức thủ công c Chức năng dự đoán giá

Tự động cập nhật dự đoán:

Hình 3.20 Sơ đồ tự động cập nhật dự đoán

Người dùng xem dự đoán giá:

Hình 3.21 Sơ đồ người dùng xem dự đoán giá

Biểu đồ tuần tự a Chức năng Quản lý crawler

Hình 3.22 Sơ đồ cài đặt Crawler

Thu thập dữ liệu từ website:

Hình 3.23 Sơ đồ thu thập dữ liệu từ website (Crawler)

Hẹn giờ thu thập dữ liệu website

Hình 3.24 Sơ đồ hẹn giờ thu thập dữ liệu website (Crawler)

38 b Chức năng đánh giá sắc thái tin tức

Tự động cập nhật sắc thái tin tức:

Hình 3.25 Sơ đồ tự động cập nhật sắc thái tin tức

Người dùng xem tin tức đã tính toán sắc thái:

Hình 3.26 Sơ đồ người dùng xem tin tức đã tính toán sắc thái

Admin cập nhật sắc thái tin tức thủ công

Hình 3.27 Sơ đồ Admin cập nhật sắc thái tin tức thủ công c Chức năng dự đoán giá

Tự động cập nhật dự đoán:

Hình 3.28 Sơ đồ tự động cập nhật dự đoán

Người dùng xem dự đoán giá:

Hình 3.29 Sơ đồ người dùng xem dự đoán giá

Thiết kế

Thiết kế lớp a Chức năng Quản lý crawler

Hình 3.30 Thiết kế cài đặt crawler

Hình 3.31 Thiết kế thu thập dữ liệu crawler b Chức năng đánh giá sắc thái tin tức

Người dùng xem tin tức đã tính toán sắc thái:

Hình 3.32 Thiết kế người dùng xem tin tức đã tính toán sắc thái

42 Admin cập nhật sắc thái tin tức thủ công:

Hình 3.33 Thiết kế Admin cập nhật sắc thái tin tức thủ công

43 c Chức năng dự đoán giá

Hình 3.34 Thiết kế chức năng dự đoán giá Thiết kế cơ sở dữ liệu

Lược đồ cơ sở dữ liệu quan hệ:

Hình 3.35 Lược đồ cơ sở dữ liệu quan hệ

 post_group: bảng chứa thông tin phân loại tin tức (Thị trường, tài chính, doanh nghiệp …)

 post_source: bảng chứa thông tin nguồn lấy tin tức (cafef, vietstock…)

 company_post: bảng liên kết giữa tin tức và company

 posts: bảng chứa nội dung tin tức

 stock_company: bảng chứa thông tin công ty (mã chứng khoán)

 industry: bảng chứa thông tin ngành nghề công ty

 watch_list: bảng chứa thông tin danh mục theo dõi của người dùng

 post_title_sentiment: bảng lưu đánh giá sắc thái của tiêu đề bài viết

Bảng 3.20 Bảng post title sentiment

 watch_list_company: bảng liên kết giữa bảng stock company và watchlist

Bảng 3.21 Bảng watch list company

 stock_predictions: bảng lưu dự đoán giá cổ phiếu

 stock_index_history: bảng lưu lịch sử các chỉ số của cổ phiếu theo ngày

Bảng 3.23 Bảng stock index history

 filters: bảng lưu thiết lập bộ lọc trước khi lấy dữ liệu từ internet về

 webbot: bảng lưu cấu hình bot thu thập dữ liệu

 roles: bảng lưu danh sách quyền trong hệ thống

 user: bảng lưu danh sách người dùng trong hệ thống

 user_roles: bảng liên kết giữa bảng user và bảng roles

Thiết kế giao diện Ở mục này sẽ trình bày một vài giao diện chức năng chính của hệ thống. a Chức năng quản lý bot thu thập dữ liệu

Sau khi Admin đăng nhập ,hệ thống sẽ chuyển đến màn quản lý danh sách thiết lập báo

Hình 3.36 Thiết kế giao diện danh sách bot Ở màn hình này sẽ hiển thị danh sách các báo đang được thu thập

Click vào nút “Thêm báo” hệ thống sẽ chuyển đến màn “Cài đặt thiết lập báo”

Hình 3.37 Thiết kế giao diện cài đặt bot

Trên màn hình Danh sác thiết lập báo, click vào biểu tượng setting ở cột Lần chạy tiếp, sẽ hiện lên cửa sổ cấu hình lịch chạy tự động

Hình 3.38 Thiết kế giao diện cài đặt chạy b Theo dõi cổ phiếu

Khi người dùng vào trang chủ hệ thống sẽ hiện thị ra những danh sách tin tức mới nhất liên quan đến thị trường chứng khoán

Hình 3.39 Thiết kế giao diện xem tin tức theo nhóm tin tức

Trên thanh nav-bar, người dùng chỉ cần nhấp vào menu Watch List để truy cập vào trang danh sách theo dõi Tại đây, họ có thể theo dõi các tin tức đã được gán nhãn liên quan đến các cổ phiếu mà mình đang quan tâm.

Người dùng có thể thêm các cổ phiếu mình cần theo dõi vào watch list hiện tại hoặc tạo watch list mới

Hình 3.40 Thiết kế giao diện theo dõi tin tức và cổ phiếu theo watch list

Khi click vào cột dự đoán, sẽ hiện lên popup dự đoán giá cho 5 ngày tiếp theo:

Hình 3.41 Thiết kế giao diện dự đoán giá cổ phiếu cho 5 ngày tiếp theo

Công nghệvà thư viện sử dụng

Web framework Spring Boot

Spring Boot là một framework Java được phát triển bởi Pivotal Team, dựa trên mã nguồn mở, nhằm tạo ra các microservice Framework này giúp xây dựng các ứng dụng Spring độc lập một cách nhanh chóng và dễ dàng triển khai.

Sau khi sử dụng Spring Boot để lậptrình ứng dụng Spring, bạn có thể chạy ngay ứng dụng của mình mà không cần phải config (cấu hình) quá nhiều.

Những đặc điểm nổi bật của Spring boot:

 Spring Boot được phát triển tối ưu sao cho việc cấu hình XML trở nên đơn giản nhất trong Spring.

 Spring Boot được phát triển sao cho việc lập trình trở nên nhanh chóng và dễ dàng.

 Gia tăng năng suất trong lập trình.

 Giảm thời gian lập trình xuống tối thiểu.

Vuejs

Vue là một framework tiến tiến dành cho việc xây dựng giao diện người dùng (UI), tập trung chủ yếu vào lớp view, khác với các framework monolithic Nó dễ dàng tích hợp với các thư viện và dự án hiện có, đồng thời mạnh mẽ trong việc phát triển các ứng dụng một trang (Single-Page Applications) khi kết hợp với công cụ build và các thư viện hoặc component từ cộng đồng.

Trong bối cảnh có nhiều framework và thư viện JavaScript mạnh mẽ như React, Angular và VueJS, những công cụ này đã trở thành sự lựa chọn hàng đầu cho các lập trình viên phát triển ứng dụng nhờ vào tính năng ưu việt và khả năng đáp ứng nhu cầu đa dạng của người dùng.

VueJS là một framework linh hoạt với nhiều tính năng ưu việt và khả năng mở rộng cao, giúp tối ưu hóa hiệu suất trong các dự án phát triển Lập trình viên có thể sử dụng một framework duy nhất để xây dựng ứng dụng một cách hiệu quả.

 Kho thư viện lớn, hỗ trợ xây dựng giao diện một cách nhanh chóng.

 Đơn giản và dễ học: VueJS rất đơn giản, dễ học và dễ áp dụng vào trong các dự án, tài liệu dễ hiểu.

Redis queue

Redis queue là một loại cơ sở dữ liệu NoSQL dạng key-value phổ biến, trong đó mỗi giá trị (value) tương ứng với một khóa (key) Là một cơ sở dữ liệu in-memory, Redis lưu trữ dữ liệu trên RAM, giúp việc truy xuất diễn ra nhanh chóng Redis thường được sử dụng như bộ nhớ đệm, cơ sở dữ liệu phụ hoặc làm hàng đợi để chuyển giao dữ liệu.

Sklearn

Scikit-learn (Sklearn) is a powerful library for machine learning algorithms written in Python It offers a comprehensive set of tools for tackling various machine learning and statistical modeling tasks, including classification, regression, clustering, and dimensionality reduction.

Nhóm thuật toán được xây dựng bởi thư viện scikit-learn

 Clustering: Nhóm thuật toán Phân cụm dữ liệu không gán nhãn Ví dụ thuật toán KMeans

Cross Validation là một phương pháp kiểm thử chéo, giúp đánh giá hiệu quả của thuật toán học giám sát bằng cách sử dụng dữ liệu kiểm thử trong quá trình huấn luyện mô hình.

Datasets là tập hợp các bộ dữ liệu tích hợp sẵn trong thư viện, với nhiều bộ dữ liệu đã được chuẩn hóa, giúp nâng cao hiệu suất trong quá trình huấn luyện, như iris, digit, và nhiều bộ khác.

Dimensionality reduction is an algorithmic technique aimed at decreasing the number of significant attributes in a dataset through methods such as data synthesis, representation, and feature selection A prime example of this is Principal Component Analysis (PCA).

Các phương pháp tập hợp, hay ensemble methods, kết hợp nhiều thuật toán học máy nhằm cải thiện hiệu suất dự đoán so với từng thuật toán riêng lẻ Bằng cách sử dụng sự kết hợp này, các mô hình có thể đạt được độ chính xác cao hơn và giảm thiểu sai số trong dự đoán.

 Feature extraction: Trích xuất đặc trưng Mục đích là để định nghĩa các thuộc tình với dữ liệu hình ảnh và dữ liệu ngôn ngữ.

 Feature selection: Trích chọn đặc trưng Lựa chọn các đặc trưng có ý nghĩa trong việc huấn luyện mô hình học giám sát.

 Parameter Tuning: Tinh chỉnh tham số Các thuật toán phục vụ việc lựa chọn tham số phù hợp để tối ưu hóa mô hình.

 Manifold Learning: Các thuật toán học tổng hợp và Phân tích dữ liệu đa chiều phức tạp.

 Supervised Models: Học giám sát Mảng lớn các thuật toán học máy hiện nay

Ví dụ như linear models, discriminate analysis, naive bayes, lazy methods, neural networks, support vector machines và decision trees.

Fasttext

FastText là một phương pháp nhúng từ tiên tiến, được phát triển bởi phòng thí nghiệm Nghiên cứu AI (FAIR) của Facebook, mở rộng từ mô hình word2vec Thay vì chỉ học vectơ cho từng từ, FastText sử dụng n-gram ký tự để biểu diễn các từ, giúp nắm bắt ý nghĩa của những từ ngắn và hiểu rõ hơn về các hậu tố và tiền tố Sau khi chuyển đổi từ thành n-gram, một mô hình bỏ qua gram được đào tạo để học cách nhúng, được xem như mô hình túi từ với cửa sổ trượt.

FastText xử lý 55 n-gram mà không cần xem xét cấu trúc bên trong của từ, miễn là các ký tự nằm trong cửa sổ này và thứ tự của n-gram không quan trọng Phương pháp này đặc biệt hiệu quả với các từ hiếm.

Vì vậy, ngay cả khi một từ không được nhìn thấy trong quá trình đào tạo, nó có thể được chia nhỏ thành n-gram để nhúng.

Deeplearning4j

Deeplearning4j là một trong những thư viện học máy mã nguồn mở mạnh mẽ nhất dành cho Java, cung cấp khung tính toán cho các thuật toán học sâu Khung tính toán phân tán của nó được xây dựng dựa trên Apache Hadoop và Spark, hỗ trợ đào tạo các mô hình machine learning Được phát triển bằng ngôn ngữ lập trình Java, Deeplearning4j cũng tương thích với các ngôn ngữ JVM khác như Kotlin và Scala.

KIỂM THỬ VÀ ĐÁNH GIÁ

Khối thu thập dữ liệu

Hệ thống đã tổng hợp khoảng 400.000 bài viết tin tức từ các trang chứng khoán hàng đầu tại Việt Nam, bao gồm tinnhanhchungkhoan.vn, cafef.vn, fireant.vn và vietstock.vn.

Danh sách thiết lập báo cho độ trễ thu thập tin tức trong hệ thống được cấu hình mặc định là 15 phút mỗi lần Quản trị viên có khả năng điều chỉnh cấu hình này thông qua trang quản lý crawler.

Admin có thể dễ dàng cấu hình để tắt hoặc bật bộ thu thập dữ liệu, đồng thời theo dõi trạng thái của bộ thu thập cho từng trang báo Dữ liệu chỉ số mã chứng khoán được cập nhật liên tục để đảm bảo tính chính xác và kịp thời.

Hệ thống đã thu thập thông tin lịch sử hàng ngày của hơn 1.600 mã cổ phiếu từ ba sàn giao dịch Hose, Upcom và Hnx trong vòng 10 năm, bắt đầu từ ngày 16/11/2010.

Thông tin lịch sử của một mã cổ phiếu vào ngày 30/12/2021 bao gồm các dữ liệu quan trọng như giá đóng cửa, giá mở cửa, ngày giao dịch, khối lượng giao dịch, giá cao nhất và thấp nhất trong ngày, cùng với một số thông tin khác.

Dữ liệu thông tin của các mã cổ phiếu được thu thập định kỳ hằng ngày vào lúc 15:00 (sau giờ giao dịch).

Khối ứng dụng hỗ trợ nhà đầu tư

Dữ liệu tin tức được phân loại theo nhóm, cho phép người dùng tạo các nhóm tin tức riêng cho từng cổ phiếu để theo dõi hiệu quả Hình ảnh dưới đây minh họa tin tức liên quan đến nhóm cổ phiếu ngành ngân hàng, với nhiều thông tin được cập nhật, dự báo xu hướng tăng trưởng trong thời gian tới cho cổ phiếu ngân hàng.

Hình 4.2 Ví dụ tin tức về nhóm cổ phiếu ngành ngân hàng

Người dùng có thể xem thêm dự đoán giá cho cổ phiếu quan tâm Hình ảnh bên dưới cho dự đoán giá 3 ngày tiếp theo (T+1, T+2, T+3) của cổ phiếu MBB

Hình 4.3 Ví dụ dự đoán giá 3 ngày cổ phiếu MBB

58 Đánh giá môhình học máy

Đánh giá mô hình phân tích sắc thái tin tức

Cách đánh giá mô hình phân tích sắc thái tin tức trong luận văn này thông qua các độ đo Precision, Recall.

Hình 4.4 Phương pháp đánh giá Precision và Recall [13]

Precision là tỷ lệ số điểm Positive mà mô hình dự đoán đúng so với tổng số điểm mà mô hình dự đoán là Positive Trong khi đó, Recall được định nghĩa là tỷ lệ số điểm Positive mà mô hình dự đoán đúng so với tổng số điểm thực sự là Positive, tức là tổng số điểm được gán nhãn là Positive ban đầu.

High precision in a model indicates that the accuracy of the identified points is elevated Conversely, high recall signifies a high True Positive Rate, meaning that the rate of missing actual positive points is low.

Thử nghiệm trên cấu hình fastest đã nêu ở bước cài đặt (mục 3.3.1) với bộ dữ liệu test đã được gán thủ công 3 loại nhãn:

Đánh giá mô hình dự đoán giá với LSTM

Để đánh giá mô hình LSTM, bài luận văn này áp dụng hai phương pháp chính là MAE (Sai số trung bình tuyệt đối) và RMSE (Sai số bình phương trung bình gốc).

MAE (Mean Absolute Error) là chỉ số đo lường độ chính xác của các dự đoán bằng cách tính trung bình các lỗi trong một tập hợp, mà không phân biệt hướng của chúng Chỉ số này được tính dựa trên mẫu thử nghiệm, phản ánh sự khác biệt tuyệt đối giữa giá trị dự đoán và giá trị thực tế, với tất cả các sai số đều được xem xét như nhau.

RMSE (Root Mean Square Error) là chỉ số dùng để đánh giá chất lượng của các ước lượng, chẳng hạn như hàm toán học tạo bản đồ mẫu dữ liệu cho một tham số dân số Nó cũng có thể áp dụng cho các yếu tố dự báo, ví dụ như bản đồ chức năng với dữ liệu đầu vào ngẫu nhiên để phân tích các giá trị của biến ngẫu nhiên Định nghĩa của RMSE có sự khác biệt tùy thuộc vào việc nó mô tả một ước lượng hay một yếu tố dự báo.

Dữ liệu thử nghiệm trong luận văn được lấy từ website fireant.vn, nơi cung cấp thông tin chi tiết về thị trường chứng khoán Việt Nam Nghiên cứu sử dụng chuỗi 22 ngày liên tiếp để dự đoán giá đóng cửa trong 3 ngày tiếp theo.

Bảng bên dưới mô tảgiá trị đầu vào thử nghiệm với model thu được ở bước cài đặt(mục 3.3.2)

Bảng 4.1 Bảng mô tả giá trị đầu vào thử nghiệm

Stt Công ty Mã thị trường

1 CTCP Nhựa An Phát Xanh AAA

Giá mở cửa Giá đóng cửa Giá cao nhất Giá thấp nhất Khối lượng

2 Ngân hàng TMCP Đầu tư và

Phát triển Việt Nam (BIDV) BID

3 Ngân hàng thương mại cổ phần Á Châu ACB

Hình 4.5 Kết quả dự báo giá cổ phiếu AAA từ ngày 22/04/2021 đến ngày

Hình 4.6 Kết quả dự báo giá cổ phiếu BID từ ngày 22/04/2021 đến ngày

Hình 4.7 Kết quả dự báo giá cổ phiếu ACB từ ngày 22/04/2021 đến ngày

Kết quả thu được với độ chính xác chưa cao, nhưng cũng đã phần nào dự đoán được xu hướng đi của các mã cổ phiếu.

Ngày đăng: 04/04/2022, 12:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean, Efficient Estimation of Word Representations in Vector Space Sách, tạp chí
Tiêu đề: Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean
[2] Tomas Mikolov, Quoc V, Le, Ilya Sutskever, Exploiting Similarities among Languages for Machine Translation Paper Sách, tạp chí
Tiêu đề: Tomas Mikolov, Quoc V, Le, Ilya Sutskever, Exploiting Similarities among Languages for Machine Translation
[14] Wenjie Lu, Jiazheng Li, Yifan Li, Aijun Sun and Jingyang Wang, A CNN-LSTM- Based Model to Forecast Stock Prices Sách, tạp chí
Tiêu đề: Wenjie Lu, Jiazheng Li, Yifan Li, Aijun Sun and Jingyang Wang
[15] Murtaza Roondiwala, Harshal Patel, Shraddha Varma, Predicting Stock Prices Using LSTM Sách, tạp chí
Tiêu đề: Murtaza Roondiwala, Harshal Patel, Shraddha Varma
[6] ThomasFischer, ChristopherKrauss, Deep learning with long short-term memory networks for financial market predictions Khác

HÌNH ẢNH LIÊN QUAN

CHƯƠNG 2. CÁC MƠ HÌNH HỌC MÁY - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
2. CÁC MƠ HÌNH HỌC MÁY (Trang 17)
Đầu vào của mơ hình Skip-gram[2] là một từ trong câu. Thuật toán sẽ nhìn vào số - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
u vào của mơ hình Skip-gram[2] là một từ trong câu. Thuật toán sẽ nhìn vào số (Trang 18)
2.1.2 Mô hình Skip-gram - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
2.1.2 Mô hình Skip-gram (Trang 18)
Hình 2.4. Ma trận trọng số của lớp ẩn của mơ hình Word2vec [3] - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Hình 2.4. Ma trận trọng số của lớp ẩn của mơ hình Word2vec [3] (Trang 19)
Hình 2.9. Các dạng bài toán RNN [5] - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Hình 2.9. Các dạng bài toán RNN [5] (Trang 23)
Hình 3.4. Mơ hình đồng bộ dữ liệu - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Hình 3.4. Mơ hình đồng bộ dữ liệu (Trang 27)
Bảng 3.1. Bảng mô tả use case xem tin tức theo chủ đề - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Bảng 3.1. Bảng mô tả use case xem tin tức theo chủ đề (Trang 33)
Bảng 3.3. Bảng mô tả use case tạo watchlist - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Bảng 3.3. Bảng mô tả use case tạo watchlist (Trang 35)
Bảng 3.8. Bảng mô tả use case sửa crawler - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Bảng 3.8. Bảng mô tả use case sửa crawler (Trang 38)
Bảng 3.7. Bảng mô tả use case thê m1 crawler - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Bảng 3.7. Bảng mô tả use case thê m1 crawler (Trang 38)
Hình 3.13. Biểu đồ use case quản lý user - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Hình 3.13. Biểu đồ use case quản lý user (Trang 39)
Bảng 3.9. Bảng mô tả use case hẹn giờ tự động chạy - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Bảng 3.9. Bảng mô tả use case hẹn giờ tự động chạy (Trang 39)
Bảng 3.10. Bảng mô tả use case thêm user nhà đầu tư - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Bảng 3.10. Bảng mô tả use case thêm user nhà đầu tư (Trang 40)
Bảng 3.11. Bảng mô tả use case sửa thông tin user - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Bảng 3.11. Bảng mô tả use case sửa thông tin user (Trang 40)
Bảng 3.12. Bảng mơ tả use case xóa user nhà đầu tư - Xây dựng ứng dụng và áp dụng giải thuật học máy cho thị trường chứng khoán việt nam
Bảng 3.12. Bảng mơ tả use case xóa user nhà đầu tư (Trang 41)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w