Nghiên cứu về deep learning và ứng dụng trong dự báo giá cổ phiếu chứng khoán

Ứng dụng deep learning dự báo giá cổ phiếu chứng khoán. Luận văn so sánh các mô hình LSTM, CNN, GAN và đánh giá hiệu quả thực nghiệm.

Chuyên ngành

Khoa học dữ liệu

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ khoa học

2022

124
2
0

Phí lưu trữ

35 Point

Tóm tắt

I. Deep Learning và Ứng Dụng trong Dự Báo Giá Cổ Phiếu

Deep learning là một nhánh của trí tuệ nhân tạo đang cách mạng hóa lĩnh vực tài chính hiện đại. Kỹ thuật này sử dụng mạng nơ-ron nhân tạo với nhiều lớp để học và nhận diện các mẫu phức tạp từ dữ liệu lịch sử. Trong bối cảnh dự báo giá cổ phiếu, deep learning cho phép các nhà phân tích xác định những xu hướng ẩn trong chuỗi thời gian tài chính mà các phương pháp truyền thống không thể phát hiện được. Các thuật toán học sâu như LSTM, GRU, CNN, và GAN đã chứng minh khả năng dự đoán giá đóng cửa cổ phiếu với độ chính xác cao hơn. Việc áp dụng công nghệ này vào thị trường chứng khoán Việt Nam, đặc biệt là các cổ phiếu thành phần VN30 như VCB, MSN, HPG, GAS và FPT, mở ra cơ hội lớn cho các nhà đầu tư.

1.1. Khái Niệm Cơ Bản về Mạng Nơ Ron Nhân Tạo

Mạng nơ-ron nhân tạo được lấy cảm hứng từ cấu trúc của bộ não con người. Chúng bao gồm các nơ-ron được sắp xếp thành nhiều lớp: lớp đầu vào, các lớp ẩn, và lớp đầu ra. Mỗi nơ-ron thực hiện các hàm phi tuyến để xử lý dữ liệu đầu vào. Trong dự báo giá cổ phiếu, các mạng nơ-ron học từ dữ liệu lịch sử gồm giá, khối lượng giao dịch và các chỉ số kỹ thuật để dự đoán giá trong tương lai.

1.2. Tầm Quan Trọng của Deep Learning trong Tài Chính

Deep learning cung cấp khả năng phân tích dữ liệu tài chính với độ sâu chưa từng có. Các thuật toán này có thể xử lý hàng triệu dữ liệu lịch sử trong giây lát, nhận diện các mẫu tuần hoàn và xu hướng dài hạn. Điều này giúp dự báo giá cổ phiếu trở nên chính xác hơn, hỗ trợ các quyết định đầu tư thông minh và giảm rủi ro tài chính cho nhà đầu tư.

II. Các Mô Hình Deep Learning Phổ Biến cho Dự Báo Chuỗi Thời Gian

Có nhiều kiến trúc deep learning được sử dụng để dự báo chuỗi thời gian tài chính. LSTM (Long Short-Term Memory) là một mô hình mạnh mẽ có khả năng nhớ thông tin dài hạn, giải quyết vấn đề mất mát thông tin trong mạng RNN truyền thống. GRU (Gated Recurrent Unit) là một phiên bản đơn giản hóa của LSTM nhưng vẫn hiệu quả. BiLSTMBiGRU xử lý dữ liệu theo hai hướng, giúp nắm bắt các mối quan hệ phức tạp hơn. CNN (Convolutional Neural Network) sử dụng bộ lọc tích chập để trích xuất các đặc trưng quan trọng từ dữ liệu chuỗi thời gian. Cuối cùng, GAN (Generative Adversarial Network) kết hợp mạng sinh và mạng phân biệt để tạo ra dữ liệu giả nhưng chân thực. Các nghiên cứu cho thấy CNN hoạt động tốt nhất cho dự báo giá đóng cửa của cổ phiếu VN30.

2.1. Mô Hình LSTM và BiLSTM

LSTM được thiết kế để xử lý các chuỗi thời gian dài hạn bằng cách duy trì bộ nhớ nội bộ. Cơ chế cổng trong LSTM bao gồm: cổng quên, cổng đầu vào và cổng đầu ra, cho phép mô hình quyết định thông tin nào cần giữ lại. BiLSTM (Bidirectional LSTM) xử lý dữ liệu theo cả hai hướng tới-lui, giúp nắm bắt ngữ cảnh đầy đủ hơn cho việc dự báo giá cổ phiếu.

2.2. Mô Hình CNN và GAN cho Dự Báo Tài Chính

CNN sử dụng các lớp tích chập để phát hiện các mẫu cục bộ trong dữ liệu giá cổ phiếu. Các bộ lọc có kích thước khác nhau giúp trích xuất các đặc trưng ở nhiều mức độ trừu tượng. GAN bao gồm mạng sinh tạo ra dữ liệu giả và mạng phân biệt để phân biệt dữ liệu thật giả, giúp cải thiện chất lượng dự báo giá cổ phiếu.

III. Thiết Kế và Kiến Trúc Mô Hình Dự Báo

Việc thiết kế một mô hình dự báo giá cổ phiếu hiệu quả đòi hỏi sự kết hợp hợp lý giữa các thành phần khác nhau. Trước tiên, cần xác định các đặc trưng đầu vào bao gồm giá mở, giá đóng, giá cao, giá thấp, khối lượng giao dịch và các chỉ số kỹ thuật như MA, RSI, MACD. Tiếp theo, dữ liệu phải được chuẩn hóa để đảm bảo mô hình học hiệu quả. Kiến trúc mô hình bao gồm lớp tích chập để trích xuất đặc trưng, lớp kết nối đầy đủ để học các mối quan hệ phức tạp, và lớp đầu ra dự báo giá đóng cửa ngày tiếp theo. Các kỹ thuật như dropoutbatch normalization được sử dụng để ngăn chặn overfitting. Việc thực nghiệm trên dữ liệu cổ phiếu VN30 cho thấy kiến trúc CNN đạt hiệu suất tốt nhất.

3.1. Chuẩn Bị Dữ Liệu và Trích Xuất Đặc Trưng

Dữ liệu giá cổ phiếu bao gồm giá mở, cao, thấp, đóng và khối lượng giao dịch hàng ngày. Các chỉ số kỹ thuật như Moving Average (MA), Relative Strength Index (RSI) được tính toán từ dữ liệu lịch sử. Để chuẩn hóa dữ liệu, ta sử dụng normalization hoặc standardization. Dữ liệu được chia thành tập huấn luyện, tập xác thực và tập kiểm tra theo tỷ lệ thích hợp.

3.2. Tối Ưu Hóa và Đánh Giá Mô Hình

Mô hình deep learning được huấn luyện bằng cách tối ưu hóa hàm mất mát như Mean Squared Error (MSE) hoặc Mean Absolute Error (MAE) sử dụng thuật toán Adam. Các chỉ số đánh giá bao gồm RMSEMAE trên tập kiểm tra. Kỹ thuật cross-validation giúp đảm bảo mô hình tổng quát hóa tốt trên dữ liệu mới.

IV. Kết Quả Thực Nghiệm và So Sánh Các Mô Hình

Các thực nghiệm trên dữ liệu cổ phiếu VN30 (VCB, MSN, HPG, GAS, FPT) cho thấy kết quả đáng khích lệ. Khi so sánh các mô hình LSTM, GRU, BiLSTM, BiGRU, CNN và GAN, CNN đạt hiệu suất tốt nhất với RMSEMAE thấp nhất trên hầu hết các cổ phiếu. Điều này chứng tỏ khả năng của CNN trong việc trích xuất các mẫu cục bộ trong chuỗi thời gian giá cổ phiếu. Các mô hình RNN như LSTMGRU cũng cho kết quả khá tốt, đặc biệt khi kết hợp với cơ chế hai chiều. GAN cho kết quả hứa hẹn nhưng còn cần tinh chỉnh thêm. Những phát hiện này cung cấp hướng dẫn quan trọng cho các nhà phát triển và nhà đầu tư muốn xây dựng hệ thống dự báo giá cổ phiếu hiệu quả.

4.1. Hiệu Suất của Các Mô Hình RNN

LSTMGRU cho kết quả tương đối tốt với MAE trung bìnhRMSE trung bình ở mức chấp nhận được. BiLSTMBiGRU cải thiện hiệu suất nhờ xử lý dữ liệu hai chiều. Tuy nhiên, các mô hình RNN nhạy cảm với siêu tham số như kích thước cửa sổ thời gian (lookback window) và số lượng LSTM units.

4.2. Ưu Điểm của CNN và Hướng Phát Triển Tương Lai

CNN vượt trội nhờ khả năng trích xuất đặc trưng cục bộ hiệu quả. Kết quả cho thấy CNN đạt RMSE nhỏ nhấtMAE nhỏ nhất trên đa số các cổ phiếu VN30. Trong tương lai, có thể kết hợp CNN với LSTM (CNN-LSTM) hoặc GAN để tăng cường độ chính xác dự báo giá cổ phiếu.

18/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN 1. Deep learning và mạng nơ-ron nhân tạo Deep learning là một lớp thuật toán học máy: (1) sử dụng một quy trình gồm nhiều lớp đơn vị xử lý phi tuyến để trích xuất và biến đổi các đặc trưng. Mỗi lớp kế tiếp sử dụng đầu ra từ lớp trước làm đầu vào, (2) học nhiều mức biểu diễn tương ứng với các mức trừu tượng khác nhau; các cấp độ tạo thành một hệ thống phân cấp của các khái niệm [44]. Deep learning hoạt động với các mạng nơ-ron nhân tạo, được thiết kế để bắt chước cách con người suy nghĩ và học hỏi.

Mạng nơ-ron nhân tạo (ANN) có thể được coi là thuật toán xấp xỉ hàm. Trong môi trường học có giám sát, khi được trình bày với nhiều quan sát đầu vào đại diện cho vấn đề quan tâm, cùng với các đầu ra mục tiêu tương ứng, mạng nơ-ron nhân tạo sẽ tìm một hàm số gần đúng với hàm số tồn tại giữa các quan sát đó. Mạng nơ-ron là một mô hình tính toán được lấy cảm hứng từ cấu trúc của bộ não con người. Bộ não con người bao gồm một mạng lưới khổng lồ các tế bào thần kinh (neuron) liên kết với nhau (khoảng một trăm tỷ tế bào trong số chúng), với mỗi tế bào bao gồm một thân tế bào (cell), một tập hợp các sợi được gọi là đuôi gai (dendrites) và một sợi trục (axon): Hình 1.1: Một tế bào thần kinh trong bộ não con người 1 Các đuôi gai hoạt động như các kênh đầu vào cho một tế bào thần kinh, trong khi sợi trục hoạt động như một kênh đầu ra.

Do đó, một tế bào thần kinh sẽ nhận tín hiệu đầu vào thông qua các đuôi gai của nó, đến lượt nó sẽ được kết nối với các sợi trục (đầu ra) của các tế bào thần kinh lân cận khác. Theo cách này, một xung điện đủ mạnh (còn gọi là điện thế hoạt động) có thể được truyền dọc theo sợi trục của một tế bào thần kinh, đến tất cả các tế bào thần kinh khác được kết nối với nó. Điều này cho phép các tín hiệu được truyền dọc theo cấu trúc của não người. Vì vậy, một nơ-ron hoạt động như một công tắc nhận tất cả hoặc không nhận vào một tập hợp các đầu vào và tạo ra một điện thế hoạt động hoặc không có đầu ra.

Một mạng lưới thần kinh nhân tạo tương tự như cấu trúc của bộ não con người, bởi vì (1) nó được cấu tạo tương tự bởi một số lượng lớn các tế bào thần kinh liên kết với nhau, (2) tìm cách truyền thông tin qua mạng, (3) tiếp nhận các bộ kích thích từ các tế bào thần kinh lân cận và ánh xạ chúng tới các đầu ra để cung cấp cho lớp tế bào thần kinh tiếp theo. Cấu trúc của một mạng nơ-ron nhân tạo thường được tổ chức thành các lớp nơ-ron. Ví dụ: sơ đồ sau minh họa một mạng nơ-ron được kết nối đầy đủ, trong đó tất cả các nơ-ron trong một lớp được kết nối với tất cả các nơ-ron trong lớp tiếp theo: Hình 1.2: Một mạng nơ-ron truyền tiếp được kết nối đầy đủ Các đầu vào được trình bày ở phía bên trái của mạng và thông tin truyền sang phải về phía các đầu ra ở đầu đối diện. Vì thông tin truyền theo hướng thuận qua mạng, nên chúng ta cũng gọi một mạng như vậy là mạng nơ-ron truyền thẳng (a 2 feedforward neural network).

Các lớp tế bào thần kinh ở giữa các lớp đầu vào và đầu ra được gọi là lớp ẩn (hidden layers), vì chúng không thể truy cập trực tiếp. Mỗi kết nối (được biểu diễn bằng một mũi tên trong biểu đồ) giữa hai nơ-ron được quy về một trọng số, tác động lên dữ liệu truyền qua mạng, như chúng ta sẽ thấy ngay sau đây: Hình 1.3: Chức năng phi tuyến được thực hiện bởi một nơ-ron Giả sử rằng một tế bào thần kinh nhân tạo cụ thể (hoặc một tế bào cảm thụ, như Frank Rosenblatt đã đặt tên ban đầu) nhận n đầu vào, [ x1 , x2 ,., xn ] , trong đó mỗi kết nối được quy về một trọng số tương ứng, [ w1 , w2 ,. Phép toán đầu tiên được thực hiện nhân các giá trị đầu vào với trọng số tương ứng của chúng và thêm số hạng chệch, b, vào tổng của chúng, tạo ra đầu ra, z: z = (( x1  w1 ) + ( x2  w2 ) + .1) Ngoài ra, chúng ta có thể biểu diễn hoạt động này ở dạng nhỏ gọn hơn như sau:  n  z =   xi  wi  + b (1.2)  i =1  Phép tính tổng có trọng số này mà chúng ta đã thực hiện cho đến nay là một phép toán tuyến tính. Nếu mỗi nơ-ron phải thực hiện phép tính cụ thể này một mình, thì mạng nơ-ron sẽ bị hạn chế chỉ học các ánh xạ đầu vào-đầu ra tuyến tính.

3 Tuy nhiên, nhiều mối quan hệ trên thế giới mà chúng ta có thể muốn mô hình hóa là phi tuyến tính, và nếu chúng ta cố gắng mô hình hóa những mối quan hệ này bằng mô hình tuyến tính, thì mô hình sẽ rất không chính xác [4]. Do đó, phép toán thứ hai được thực hiện bởi mỗi nơ-ron biến đổi tổng trọng số bằng cách áp dụng một hàm kích hoạt phi tuyến, a (.):  n   output = a( z ) = a    xi  wi  + b  (1.3)   i =1   Chúng ta có thể biểu diễn các hoạt động được thực hiện bởi mỗi nơ-ron thậm chí còn nhỏ gọn hơn, nếu chúng ta phải tích hợp số hạng chệch vào tổng dưới dạng trọng số khác, w0 (lưu ý rằng tổng bây giờ bắt đầu từ 0):  n  y = a( z ) = a    xi  wi   (1.4)   i =0  Do đó, mỗi nơ-ron có thể được coi là thực hiện một hàm phi tuyến ánh xạ một tập hợp các đầu vào đến một đầu ra [6]. Chúng ta có thể sử dụng bất kỳ hàm kích hoạt nào mà chúng ta quan tâm trong mạng nơ-ron tuần hoàn. Các lựa chọn phổ biến là: 1 • Sigmoid function: 1 + e− x e x − e− x • Tanh function: e x + e− x • Relu function: max(0, x) 1.

Một số mô hình Deep learning 1. Mạng nơ-ron hồi quy Mạng nơ-ron hồi quy (RNN) là một loại đặc biệt của mạng nơ-ron nhân tạo được điều chỉnh để làm việc với dữ liệu chuỗi thời gian hoặc dữ liệu liên quan đến chuỗi. Các mạng nơ-ron chuyển tiếp nguồn cấp dữ liệu thông thường chỉ dành cho các điểm dữ liệu, các điểm này độc lập với nhau. Tuy nhiên, nếu chúng ta có dữ liệu theo một trình tự sao cho một điểm dữ liệu phụ thuộc vào điểm dữ liệu trước 4 đó, chúng ta cần sửa đổi mạng nơ-ron để kết hợp sự phụ thuộc giữa các điểm dữ liệu này.

Các RNN có khái niệm ‘bộ nhớ’ giúp chúng lưu trữ trạng thái hoặc thông tin của các đầu vào trước đó để tạo ra đầu ra tiếp theo của chuỗi.4: Mạng nơ-ron hồi quy. Biểu diễn nén (trên cùng), mạng mở rộng (dưới cùng) Một RNN đơn giản có một vòng phản hồi như trong sơ đồ đầu tiên của hình trên. Vòng phản hồi được hiển thị trong hình chữ nhật màu xám có thể được cuộn trong 3 bước thời gian để tạo ra mạng thứ hai của hình trên. Chúng ta có thể thay đổi kiến trúc để mạng giải phóng k các bước thời gian.

Trong hình, ký hiệu sau được sử dụng: • xt  là đầu vào tại bước thời gian t. Để giữ cho mọi thứ đơn giản, chúng ta giả định rằng xt đó là một giá trị vô hướng với một đặc trưng duy nhất. Chúng ta có thể mở rộng ý tưởng này thành vectơ đặc trưng nhiều chiều. • yt  là đầu ra của mạng tại bước thời gian t.

Chúng ta có thể tạo ra nhiều đầu ra trong mạng nhưng đối với ví dụ này, chúng ta giả định rằng có một đầu ra. • ht  m vector lưu trữ các giá trị của các đơn vị / trạng thái ẩn tại một thời điểm t. Đây cũng được gọi là bối cảnh hiện tại với m là số đơn vị ẩn và vectơ h0 được khởi tạo bằng không. 5 • wx  m là trọng số được liên kết với đầu vào trong lớp lặp lại (recurrent layer).

• wh  mm là trọng số được liên kết với các đơn vị ẩn trong lớp lặp lại. • wy  m là các trọng số được liên kết các đơn vị ẩn với các đơn vị đầu ra. • bh  m là chệch liên quan đến lớp lặp lại. • by  là chệch được liên kết với lớp chuyển tiếp (feedforward layer).

Tại mỗi bước thời gian, chúng ta có thể mở mạng cho k bước thời gian để lấy đầu ra tại bước thời gian k+1. Mạng mở rất giống với mạng nơ-ron truyền thẳng. Hình chữ nhật trong mạng mở ra cho thấy một hoạt động đang diễn ra. Vì vậy, ví dụ với một hàm kích hoạt f: h t +1 = f(x t ,h t ,w x ,w h ,b h ) = f(w x x t +w h h t + b h ) (1.5) Kết quả đầu ra y tại thời điểm t được tính là: yt = f (ht , wy ) = f ( wy ht + by ) (1.6) Do đó, trong quá trình chuyển tiếp của RNN, mạng sẽ tính toán các giá trị của các đơn vị ẩn và kết quả đầu ra sau k bước thời gian.

Các trọng số liên quan đến mạng được chia sẻ tạm thời. Mỗi lớp lặp lại có hai bộ trọng số; một cho đầu vào và một cho đơn vị ẩn. Lớp chuyển tiếp cuối cùng, tính toán đầu ra cuối cùng cho bước thời gian thứ k giống như một lớp thông thường của mạng truyền tiếp truyền thống [7]. Vấn đề độ dốc biến mất/bùng nổ (The vanishing/exploding gradient problem) [23], được hiểu là các đạo hàm được tính toán ở giai đoạn sâu của mạng nơ-ron hồi quy có tác động quá nhỏ (trong vấn đề độ dốc biến mất) hoặc tác động quá lớn (trong vấn đề độ dốc bùng nổ) đối với trọng số của các nơ-ron nông hơn trong mạng nơ-ron hồi quy, là một trong những hạn chế của RNN.

Các biến thể của RNN như LSTM và GRU được phát triển để giải quyết nhược điểm này. Bộ nhớ dài-ngắn hạn Bộ nhớ dài-ngắn hạn (LSTM) là một biến thể của RNN được giới thiệu bởi Hochreitar và các cộng sự. LSTM hoạt động đặc biệt tốt với dữ liệu chuỗi thời gian. Cấu trúc bên trong của LSTM có 3 cổng - Quên, Đầu vào và Đầu ra.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ