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

đồ án cuối kỳ phương pháp nghiên cứu liên ngành đề tài stock price prediction in vietnam

23 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Stock Price Prediction In Vietnam
Tác giả Tu Ha Phuc, Tran Nhu Cam Ly, Bui Xuan Mai, Nguyễn Ngọc Gia Nghi, Nguyễn Thanh Thúy Tiên
Người hướng dẫn TS. Nguyễn Thôn Dã
Trường học Trường Đại Học Kinh Tế - Luật
Chuyên ngành Phương Pháp Nghiên Cứu Liên Ngành
Thể loại Đồ án cuối kỳ
Định dạng
Số trang 23
Dung lượng 4,09 MB

Nội dung

ABSTRACT Nghiên cứu này tập trung vào ứng dụng các mô hình máy học, bao gồm Linear Regression, KNN, SVM và LSTM đề dự đoán giá chứng khoán của Ngân hàng TMCP Ngoại thương Việt Nam Vietco

Trang 1

Môn: PHƯƠNG PHÁP NGHIÊN CỨU LIÊN NGÀNH

Đề tai: STOCK PRICE PREDICTION IN VIETNAM

GVGD: TS Nguyén Thôn Dã

NHOM SINH VIEN THUC HIEN

STT Ho va tén MSSV

1 | Tw Ha Phuc K224060808

2 | Tran Nhu Cam Ly K224060795

3 | Bui Xuan Mai K224060796

4 | Nguyễn Ngọc Gia Nghi K224060802

5 | Nguyễn Thanh Thúy Tiên K224060816

Trang 2

Tuy nhiên, do chưa có nhiều kinh nghiệm làm đề tài cũng như hạn chế về kiến thức, báo cáo không thể tránh khỏi những thiếu sót Chúng em rất mong nhận được những ý kiến, góp ý quý giá của Thầy để có thể cải thiện những thiếu sót trong báo cáo này và

học hỏi nhiều kinh nghiệm đề hoàn thành tốt hơn những bài sắp tới

Chúng em xin chân thành cảm ơn!

Trang 3

MỤC LỤC

I8 1 4 PC nh ố 4

“AI; 2 5

SA ri nan 5

SN Ng 1 an 5 E279 17 1.aeeea.AAAẦẦ 7 SZ// , 167/, 186 6 4 8 KS¿ .0) n1nn6ốeốeốố.aaAẢẢ HH 10 3.3.1 Gathering machine learning data ccc c ccc tk HH 1111111 21H ng 11 ST) .HA II nh a ổ nan nh h 12 SEN 7A a4 nha 16 3.3.5 Deploying an application to predict stock price in Viet NaHH 17

"na e 17

5 Conclusion and Future Scope 0 0 0200112221112 21112211521 1112111 8k re 18 (ii nh .ẻ 20

Trang 4

ABSTRACT

Nghiên cứu này tập trung vào ứng dụng các mô hình máy học, bao gồm Linear Regression, KNN, SVM và LSTM đề dự đoán giá chứng khoán của Ngân hàng TMCP Ngoại thương Việt Nam (Vietcombank) có ký hiệu là VCB trên thị trường chứng khoán Việt Nam Dữ liệu sử dụng trong nghiên cứu là thông tin lịch sử về giá chứng khoán của mã chứng khoán Các đặc trưng của đữ liệu bao gồm giá mở cửa, giá đóng cửa, khối lượng giao dịch và các chỉ số liên quan khác Các mô hình máy học được đào tạo và đánh giá sử dụng dữ liệu này để dự đoán giá chứng khoán Hiệu suất của từng mô hình được đánh giá băng các phương pháp đo đạc như sai số trung bình bình phương, độ chính xác và độ chính xác Kết quả sẽ cho thấy hiệu suất và khả năng dự đoán của từng mô hình trong việc dự đoán giá chứng khoán VCB trên thị trường chứng khoán Việt Nam

Trang 5

1 Introduction

Thị trường chứng khoán Việt Nam là một phần quan trọng của hệ thống tài chính quốc gia, đóng vai trò quyết định trong việc huy động vốn và cung cấp cơ hội đầu tư cho các nhà đầu tư Việc tra cứu thông tin về các mã chứng khoán, thông tin liên quan đến công ty, và so sánh các mã chứng khoán với nhau là những nhu cầu cơ bản của họ Áp dụng machine learning và deep learning để đự đoán giá chứng khoán là một trong những ứng dụng quan trọng và phức tạp của trí tuệ nhân tạo trong lĩnh vực tài chính Đến nay, đã có rất nhiều nghiên cứu về đề tài này và đã cho ra nhiều kết quả khá triển vọng trong tương lai

Gần đây, việc đự đoán thị trường chứng khoán có thê được nâng cao bằng cách sử dụng máy hoc (Machine Learning) Những kỹ thuật như Máy Vecto hé tro (Support Vector Machine - SVM), hoặc một số vectơ dựa trên mạng noron kỹ thuật như Mạng nơron nhân tạo (ANN), Mạng nơ ron tái phát (RNN) và mạng nơ ron sâu mạng lưới

thần kinh như Bộ nhớ ngan dai (Long short term memory - LSTM) [1] [2] [3] Day la

những công cụ tốt có thể giúp xử lý dữ liệu đầu vào và đầu ra của một tập dữ liệu phức tạp Trong bài báo này, chúng tôi sẽ trình bày về việc sử đụng các kỹ thuật trên

đề dự đoán giá chứng khoán Việt Nam

Các phần tiếp theo của bài báo bao gồm: phân 2 trình bày về các nghiên cứu liên quan đến bài toán Trong phần 3, chúng tôi sẽ trình bày cơ sở lý thuyết Phần 4 trình bày những kết quả thực nghiệm của mô hình đề xuất, trong đó có kết hợp so sánh với một

số kết quả của mô hình khác Cuối cùng, trong phần 5 chúng tôi nêu lên một số kết luận và những định hướng nghiên cứu tiếp theo

2 Related work

Dự đoán giá chứng khoán là một vấn đề quan trọng trong tài chính, có thế giúp nhà đầu tư đưa ra quyết định đầu tư hiệu quả hơn Đề dự đoán giá trên thị trường chứng khoán, mọi người tìm kiếm những phương pháp và công cụ như vậy sẽ làm tăng lợi nhuận của họ, đồng thời giảm thiểu rủi ro [4] Dự đoán đóng một vai trò rất quan trọng trong hoạt động kinh doanh trên thị trường chứng khoán, một quá trình được cho là rất phức tạp và đây thử thách Việc sử dụng các phương pháp truyền thông như phân tích cơ bản và kỹ thuật có thế không đảm bảo độ tin cậy của dự đoán [5] Sự phát triển mạnh mẽ của các mô hình học máy, học sâu như Linear Regression, KNN, SVM, LSTM được ứng dụng vào dự đoán giá cô phiếu và đã đạt được một số kết quả khả quan, được nêu ra trong các bài viết [6] [7] [8] Chúng tôi nhận thấy tầm quan trọng của việc so sánh các mô hình dự đoán khác nhau để tìm ra mô hình phù hợp nhất cho từng tình huống cụ thê đặc biệt là trong ngắn hạn và dài hạn Ngoài ra, chúng tôi có ý

Trang 6

tưởng để bài nghiên cứu có thể ứng dụng dự đoán cho hầu hết các mã chứng khoán ở Việt Nam, thông qua dữ liệu được lấy trực tiếp nhờ vào thư viện hỗ trợ Nghiên cứu chúng tôi tập trung vào tìm kiếm giải pháp cho việc dự đoán, hỗ trợ đưa ra quyết định đầu tư ở Việt Nam bên cạnh nghiên cứu về mô hình, thuật toán

biến độc lập (X) [9]

Dữ liệu đầu vào trong bài nghiên cứu của chúng tôi là các điểm đữ liệu lấy theo chuỗi

60 ngày liên tiếp và đầu ra là giá của ngày tiếp theo, thực hiện tiếp tục cho đến hết tập

dữ liệu đầu vào Vì vậy mô hình hồi quy tuyến tính được sử dụng ở đây là hồi quy tuyến tính đa biến Mô hình nảy sử dụng nhiều biến độc lập dé dự đoán biến phụ thuộc, và mối quan hệ giữa các biến độc lập và biến phụ thuộc lả tuyến tính [10] Công thức hồi quy đa biến:

Y =0 +IXI +2X2 + + BaXn + e [LI]

Cách hoạt động của SVM sẽ có 3 bước Bước | sé 1a tim mét hé thong tuyén tinh (hyperplane) đề phân biệt các lớp dữ liệu Hệ thống tuyến tính là một đường thắng hoặc một đường cong có thé chia hai lớp đữ liệu thành hai phần riêng biệt Sau đó là

5

Trang 7

tìm các điểm đữ liệu gần nhất (support vector) với hệ thống tuyến tính Các điểm này được gọi là vector hỗ trợ, vì chúng ảnh hưởng đến vị trí và hướng của hệ thông tuyến tính Cuối cùng, tối ưu hóa lề (margin) của hệ thống tuyến tính Lễ là khoảng cách giữa hệ thông tuyến tính và các điểm đữ liệu gần nhất từ mỗi lớp Mục tiêu của model

Khoảng cách giữa điểm đữ liệu x ¡ và ranh giới quyết định có thé được tính như sau:

llw|| đại điện cho chuân Eucliđe của vectơ trọng số w Định mức Euclide của vectơ pháp tuyến W [14]

s* KNN

K-nearest neighbor ( KNN ) là một trong những thuật toán học có giám sát đơn giản nhất trong Machine Learning Ý tưởng của KNN là tìm ra output của đữ liệu dựa trên thông tin của những dữ liệu training gần nó nhất [I5]

Quy trình làm việc của KNN gồm những bước sau Bước đầu tiên, chúng ta sẽ xác định tham số K băng cách sử dụng số láng giềng gần nhất Tiếp theo, chúng ta tính toán khoảng cách đối tượng cần phân lớp với tất cả các đối tượng trong training data Sau đó, chúng ta sẽ sắp xếp khoảng cách theo thứ tự tăng dần đồng thời xác định K láng giềng gần nhất với đối tượng cần phân lớp rồi lay tat cả các lớp của K láng giềng gân nhất Cuối cùng, dựa vào phần lớn lớp của K ta sẽ xác định được lớp cho đối tượng cần phân lớp

Thuật toán KNN cho rằng những dữ liệu tương tự nhau sẽ tồn tại gần nhau trong một không gian, từ đó công việc của chúng ta là sẽ tìm k điểm gần với dữ liệu cần kiêm tra nhất Việc tìm khoảng cách giữa 2 điểm cũng có nhiều công thức có thế sử đụng, tùy trường hợp mà chúng ta lựa chọn cho phù hợp Đây là 3 cách cơ bản đề tính khoảng

cách 2 điểm dữ liệu x, y có k thuộc tính [16]:

Trang 8

Hochreiter va Schmidhuber da phat minh ra mang Long Short-Term Memory (LSTM)

vào năm 1997 [L7] LSTM là một biến thê của mạng thần kinh tái phát hoặc RNN và

được chứng minh là hoạt động tốt với các mô hình học tập và ghi nhớ theo thời g1an LSTM được thiết kế để xử lý vẫn đề phụ thuộc lâu dài về vấn đề tiêu biến và bùng nỗ gradient trong RNN [18] [19] LSTM có bốn thành phần chính bao gồm Cell State (Ct), Hidden State (Ht), Forget Gate (Ft) va Input Gate (It) va Output Gate (Ot)

Hinh 1: Hinh xién cua LTSM [20]

Nhu duoc hién thi trong Hình 1, đây là phương thức vận hành mô hình LSTM thông

thường Các công thức như sau [21]:

Trang 9

để lưu trữ các chỉ tiết cần thiết đề máy hiểu được ngữ cảnh sau này mà không cần lật trang lại (tên, nơi ở, mối quan hệ giữa các nhân vật ) Ht là viết tắt cba Hidden State (trí nhớ ngắn hạn) dùng đề lưu trữ các chỉ tiết nhất định cụ thể cho cảnh mà máy đang đọc cho đến khi cảnh này kết thúc và quên nó đi (trời đã sáng, hai nhân vật đã đi đạo )

Nghiên cứu này chúng tôi đã lựa chọn mô hình LSTM của RNN để dự đoán giá cô

phiếu Bộ nhớ ngắn hạn dài (LSTM) là kiến trúc RNN phô biến, được giới thiệu bởi

Sepp Hochreiter và Juergen Schmidhuber [22] Mô hình LSTM có thê giải quyết được vấn đề mà mô hình RNN cơ bản không thé dự đoán được trạng thái hiện tại của mô hình LSTM có ba “ô”: : công vào, công ra và công quên, giúp nó lọc và đự đoán thông tin mà mạng nơ-ron yêu câu [23]

3.2 Description of Data

Bộ đữ liệu này bao gồm thông tin về giá chứng khoán lịch sử của các mã chứng khoán được lấy từ thư viện vnstock Dữ liệu được thu thập từ các ngày giao dịch và bao gồm các thông tin quan trọng như giá mở cửa (open), giá cao nhất trong ngày (high), gia thấp nhất trong ngày (low), giá đóng cửa (close) và khối lượng giao dịch (volume) Mỗi mã chứng khoán được đại diện bởi một tập hợp các thông tin giá trị tương ứng với các chỉ số trên Giá mở cửa là giá chứng khoán trong ngày giao dịch khi thị trường

mở cửa, giá cao nhất là mức giá tôi đa mà cô phiếu đã đạt trong ngày, giá thấp nhất là mức giá tối thiêu mà cổ phiếu đã đạt trong ngày, và giá đóng cửa là giá chứng khoán khi thị trường đóng cửa trong ngày đó Khối lượng giao dịch chỉ ra tổng số cô phiếu

đã được giao dịch trong ngày

Đề minh họa cho toàn bộ quá trình, chúng tôi lựa chọn mã chứng khoán cụ thé la mã chứng khoán của Ngân hàng TMCP Ngoại thương Việt Nam (Vietcombank) có ký

hiệu là VCB Dữ liệu đầu vào được lấy từ ngày 01- 01- 2021 đến 24- 11- 2023

Trang 10

Bảng 1: Mẫu dữ liệu giao dịch từ 04/01/2021-15/01/2021 chưa qua xử lý

Bảng 2 và 3 : Số liệu thống kê mô tả của tập đữ liệu

93700.000000

high 724.000000 72037.839779 8914.756598 55290.000000 65160.000000 68820.000000 78260.000000 93700.000000

low

724.000000 70319.834254 8947.576744

52500.000000

63610.000000 66890.000000 76332.500000 92500.000000

close

724.000000 71220.219613 8977.621711 52500.000000 64379.000000 67740.000000 77412.500000 93400.000000

volume

7.240000€+02 1.232381e+06 6.559934e+05 1.139000e+05 8.001500e+05 1.092400e+06 1.504075e+06 6.274200e+06

Trang 11

<class 'pandas.core.frame.DataFrame ' >

RangeIndex: 724 entries, @ to 723

Data columns (total 6 columns):

# Column Non-Null Count Dtype

Bộ đữ liệu này gồm 724 hàng (tương ứng với 724 ngày giao dịch) được đánh số từ 0 -

723 với 6 cot (time, open, high, low, close, volume) Ngoai trừ cột time có kiểu dữ liệu là Object (cụ thê là đatetime) vì là ngày giao dịch thì các cột còn lại có kiểu đữ

liệu là int64 và tat cả các cột đều không có giá trị null

3.3 Process Diagram

Bài viết nhằm mục đích nghiên cứu và đánh giá mức độ hiệu quả của các mô hình AI trong việc ứng dụng tiến hành dự báo giá của các mã chứng khoán được niêm yết ở Việt Nam Nghiên cứu này đã sử dụng các phương pháp phân tích khác nhau, bao gồm một số kỹ thuật ML truyền thống và kỹ thuật DL với khả năng học các cấu trúc thông tin phức tạp của bệ dữ liệu, đưa ra những dự đoán từ dữ liệu chứng khoán lịch

sử Quy trình tổng hợp của nghiên cứu sẽ được thể hiện ở Hình 2 đưới đây:

Trang 12

Collect Historical stock price Preprocessing

dữ liệu đã được mô tả chỉ tiết ở phần 3.2

3.3.2 Data pre-processing

Dữ liệu lịch sử chứng khoán sẽ được bóc tách đề chỉ lấy ra thông số về giá đóng cửa (close) Thong số này được chúng tôi lựa chọn làm dữ liệu đầu vào đề tiến hành dự đoán Bởi vì giá đóng cửa là giá trị cuối cùng của ngày giao dịch, phản ánh tổng hợp tất cả các giao dịch diễn ra trong ngày, giá trị thê hiện xu hướng của thị trường trong ngày Giá đóng cửa (close) được lựa chọn trong khoảng thời gian tốt nhất là trên hai

Trang 13

tháng vì dự đoán sẽ được dựa vào dữ liệu của sáu mươi ngày liên tiếp đề dự đoán ra gia tri cua ngay tiép theo

m=] GI

Ni

HHHBHBI=n

Hình 3: Minh hoạ dữ liệu đầu vào và đầu ra

Dữ liệu sau đó chuyển từ DataFrame thành mảng numpy để để dàng tiến hành chuân

hóa và phân tách tập dữ liệu huấn luyện và tập đữ liệu kiểm tra Tập dữ liệu huấn luyện và kiêm tra được phân tách theo tỷ lệ lần lượt 1a 80% và 20% của bộ dữ liệu ban

đầu Thư viện sklearn được sử dụng để chuân hóa dữ liệu trong khoảng [0, 1] Việc chuân hóa dữ liệu này giúp cho mô hình học máy hoạt động hiệu quả hơn

3.3.3 Training model

3.3.3.1 Linear Regression

Chúng tôi tiến hành đào tạo và khop m6 hinh héi quy tuyến tính Dùng lớp

LinearRegression trong thư viện scikit-learn của Python đề áp dụng phương pháp bình phương tối thiểu tìm các hệ số tốt nhất cũng như tính toán giá trị chặn cho mô hình tuyến tính Sau đó, tiến hành huấn luyện mô hình tuyến tính trên tập đữ liệu dao tao với tập dữ liệu đầu vào là các điểm đữ liệu lấy theo chuỗi 60 ngày liên tiếp và đầu ra

là giá của ngày tiếp theo, thực hiện tiếp tục cho đến hết tập dữ liệu đầu vào Tiếp tục với việc dự đoán đầu ra cho các điểm dữ liệu mới - dữ liệu của tập dữ liệu kiểm tra dựa trên mô hình tuyến tính đã được huấn luyện Các dự đoán sau đó được chuyên đôi ngược để có được thang đo gốc của đữ liệu bởi vì ở bước tiền xử lý đữ liệu mục 3.3.2,

dữ liệu đã được chuyền hoá trong khoảng [0,1]

Ngày đăng: 27/08/2024, 12:12

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

TÀI LIỆU LIÊN QUAN

w