TÓM TẮT KHÓA LUẬNĐề tài khóa luận “Xây dựng hệ thống dự đoán xu hướng biến đổi giá tiền điện tử sử dụng các mô hình máy học” là một đề tài hướng đến đối tượng người dùng thamgia giao dịc
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA HE THONG THONG TIN
ĐỖ HỮU LƯỢNG - 175209103
KHÓA LUẬN TÓT NGHIỆP XÂY DUNG HE THONG
DU DOAN XU HUONG BIEN DOI GIA TIEN DIEN TU
SU DUNG CAC MO HINH MAY HOC
Building a system for predicting Cryptocurrency price trends
using Machine Learning
KY SƯ NGANH HE THONG THONG TIN
TP HO CHÍ MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN
KHOA HE THONG THONG TIN
DO HỮU LƯỢNG - 17520103
KHOA LUAN TOT NGHIEP XAY DUNG HE THONG
DU DOAN XU HUONG BIEN DOI GIA TIEN DIEN TU
SU DUNG CAC MO HINH MAY HOC
Building a system for predicting Cryptocurrency price trends
using Machine Learning
KY SƯ NGÀNH HE THONG THONG TIN
GIANG VIEN HUONG DAN TH.S DO THỊ MINH PHUNG
TP HO CHÍ MINH, 2021
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số
Ti8ầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
— Chủ tịch.
2 — Thu ký.
— Ủy viên.
~— Ủy viên.
Trang 4LỜI CẢM ƠN
Đầu tiên, em xin trân trọng gửi lời cảm ơn sâu sắc đến quý Thay, Cô giảngviên trường Đại học Công Nghệ Thông Tin đặc biệt là quý Thầy, Cô khoa Hệ thốngthông tin, đã truyền đạt vốn kiến thức quý báu cho em trong quá trình học tập tạitrường, tạo nên tảng và điều kiện tốt nhất cho em đề thực hiện đề tài Khóa luận tốt
nghiệp này.
Đặc biệt, em xin gửi lời cảm ơn chân thành và biết ơn sâu sắc đến cô Đỗ ThịMinh Phung đã tận tình hướng dẫn em dé hoàn thành đề tài này Những góp ý, chia
sẻ và động viên của Cô đã giúp em có thêm động lực và kinh nghiệm đề vượt qua
những khó khăn khi thực hiện khóa luận này.
Trong quá trình hoàn thành khóa luận tốt nghiệp, em đã học được rất nhiềukiến thức bổ ích và vận dụng dé xây dựng ứng dụng cho đề tài khóa luận tốt nghiệp.Tuy nhiên, do kinh nghiệm thực tiễn còn hạn chế nên khó tránh khỏi những sai sót.Chính vì cậy, em rat mong nhận được những ý kiến đóng góp của quý Thay, Cô dé
em có thể hoàn thiện bản thân hơn
Một lần nữa, em xin chân thành cảm ơn quý Thay, Cô, gia đình và bạn bè đãtận tình giúp đỡ và tạo điều kiện tốt nhất để em có thê hoàn thành tốt khóa luận tốt
nghiệp của mình.
Sinh viên thực hiện đề tài
Đỗ Hữu Lượng
Trang 5MỤC LỤC
Chương 1 GIỚI THIỆU TONG QUAN VE ĐÈ TÀI 2-2 22 secse¿ 2
1.1 Đặt vấn đề tt HH he 2
1⁄2 Mục tiêu để tài ch nhe 3
1.3 Đối tượng và phạm vi nghiên CỨU - 2- 2 2 + £+££+E££Ee£Eerxerxerxrrezreee 3
1.3.1 Đối tượng Ă 2c 2 222 22212 rerkrrree 3
1.3.2 Phạm vi nghiÊn CỨU .G G1139 119 11 9 11181111 ng 3
1.4 Phương pháp nghiên CỨU - - c3 21331832 113 1E 111.1 EEerrrvre 4
1.5 Cac nghiên cứu liÊn Qua1 5 1 1113111391 1311 911v ng ng ng 4
1.6 Bố cục báo CáO cct s11 tt 1 1 2151111115111111111711151111111 1111111111111 E11 cE 6Chương2 CƠ SỞ LÝ THUYÉT 2-©2¿++2++E+++Ex++ExttEeerx+zrxezrxee 7
2.1 Lý thuyết về các thuật toán nơ-rOI 2+ 2 2 s2 +E++E£+EE+EE+EEerEezEerrxerxee 7
2.1.1 Mạng nơ-ron nhân tạO - - - 5 2c 3311133 E*EESEeEEesersrsererserreee 7
2.1.1.1 M6 hình mạng 'ơ-TOIA - << + 1E £*E£eEEeeEeekerseereere 7
2.1.1.2 Hồi quy logiStiC - ¿5S EEEE2 2112121212121 cree 72.1.1.3 Mô hình tông quát - 2 + ©t+2E+EE+EEEEEEEEEEEEEkerkrrkrerkerkees 8
2.1.2 Recurrent Neural Network (RNN) ccccccssccccesssssseecceeesssseeeeeeestaeees 9
2.1.3 Long short term memory (LSTTM|) 55s *++skx+seeeeseeeesers 10
2.1.3.1 Ý tưởng cốt lõi của LSTM -¿-2¿©2++2++2cxzxxerxesrxeerxees 11
2.1.3.2 Bên trong LSTM ee eeccesccceneceseeceseeceeeceaeceneceaeessaeeesaeeeseeesaes 12
2.1.4 Gated recurrent unit (GRU) cece cccccssssececeeesssceeeseesssseeeeeeesaee 16
2.1.4.1 Cổng update -:- 5c 2121122111112 172.1.4.2 Công reset cc 2s 221212 1221111211211211211 1111111111 re 18
2.1.4.3 Nội dung nhớ hiện tại (Curent memory confen†) 18
Trang 62.1.4.4 Bộ nhớ thời điểm hiện tại (Final memory at curent time step) L9
2.2 Các công nghệ chính trong dự an 5 11H nệt 20
2.2.1 Ngôn ngữ lập trình Python - s c1 ng re 20
2.2.2 Javascript — Framework ReactJŠ -csccssssekeeeeesee 21
2.2.3 Hệ quản tri co sở dữ liệu MongolDB - 5c + ss+scs+sxssersss 22
Chương 3 | PHAN TICH VA THIET KE HỆ THÓNG - 5-52 23
E2 Ïằli oi in -4 Rẽ 23
3.2 Sơ đồ Use-case -2cc 2c 2 221 22122112711211211211121 211 re 23
3.2.1 Sơ đồ tông quát -©2¿2-+++cktEEeEkerkrtrkerrerkrervee 24
3.2.2 Danh sách các tác nhân - - s11 kg re 24
3.2.3 Danh sách các USe-Case - 5 G1231 HH ngư 24
3.3 Sơ d6 hoạt động -5ccSc22E2122112121121107121.211 2110111111 1xx 26
3.3.1 Đăng ký HH HH HH TH HH HH rưn 26
3.3.2 Đăng nhập LH ch HH HH ng như 27
3.3.3 Xem các thông tin giá tiền điện tử -ccc©cz+ccsrxerxercee 273.3.4 _ Lựa chọn hién thị các chỉ báo lên biểu đồ giá - 5: 5¿ 283.3.5 Xem kết quả dự đoán giá đóng cửa của phiên hiện tại 28
3.3.6 Hiển thị giá tiền điện tử theo thời gian thựC -‹ -xc<cs+xexes 29
3.3.7 Xem tin tức tiền điện tử liên quan - 2 2 z+se+xezxerxsrsssee 29
3.3.8 Dự đoán và Lựa chọn số phiên giao dịch - -++<x+<xxsss 30
3.3.0 So sánh độ chính xác giữa các mô hình dự đoán khác nhau 30
3.3.10 So sánh kết quả dự đoán giữa các mô hình dự đoán khác nhau 31
3.3.11 Lựa chọn mô hình dự đoán mặc định 5 - 5+ <+5<<<<<<+ 52 31
3.4 Thiết kế hệ thống - :- + SE+S2+EE2E2EE15217121211211211211 111111111 1x, 32
Trang 73.5 Thiết kế cơ sở dữ liệu ¿-:-k+cStSESESEEEE2EEEEE12EEE11121511111151111 1112 cxe 33
3.5.1 _ Thiết kế cơ sở dit liệu NoSQL -¿- + 2+c++Eetkerkerxerxerxeree 343.5.2 Mô tả cấu trúc dữ liệu ¿ ¿- ++2++2E++E+EEerkerkrrrxerkerkerree 35Chương 4 | THU THẬP DU LIEU VÀ CÁC MÔ HÌNH DU ĐOÁN 40
4.1 Thu thập dữ liệu thông qua APÌ - -.- < 1s 1+ re 40
4.2.4 Dữ liệu dự đoán đầu vào -:- 5c c<+c+EkeEkerkrrrrrkerkerreee 44
4.2.5 Dữ liệu dự đoán đầu ra -©-c+©c+cxcvrkrrreerkesrkeerxees 45
4.3 Các mô hình -:- s¿++++Sx+Ek+EESEEESEEEEEEEE2215717121121171111 11111110 46
4.4 Huấn luyện dữ liệu 22-©2¿22+22EEt2EEE2EE2EE2EEE2EEEEESEErrrrerkrrrei 41
4.4.2 — EDOCH ĂẶQ HH HH HH HH ng 47
4.4.3 Ham mat mát (LOSS funCtiOR) - Ăn 1112 ng sec 48
4.5 Lựa chọn các tham SỐ St E‡EEk‡EEEEEEEEEEEEEEEEEEEEEEEEEEEEkrkrrkrkrkrrrre 48
4.5.1 Số lượng nơ-rOn -©-c+ce+EkeEEEEEEEEEEEEEEEEEEEEEEkerkerreee 484.5.2 Tham số DrOpOUI - 2 ©2£+ £+EE+EE+EE£EEE2EESEEEEEEEEEEEEEEErrkerreee 50
4.5.3 Hàm kích hoạt c5 1132132211111 1111851 111111185111 kg, 51
4.5.4 KẾtluận cc S22 E22 12121 re 534.6 Quá trình huấn luyện và cải đặt - Ác tt HH 1111 xe 54
Trang 84.7 Đánh giá các mô hìnhh - «xxx v1 TT HH ng HH y 55
Chương 5 XÂY DỰNG VÀ TRIÊN KHAI HỆ THÓNG - 62
5.1 Xây dựng mô-đun thu thập dữ liệu - 5 5555225 ***+kvsseeseeerseeeees 62
5.1.1 _ Môi trường phát triỂn - ¿+ k+EE+EE‡EEE2EEEEEEerkerkerkrree 62
5.2 Xây dựng mô-đun API S€TV€T - G111 ng HH rưy 62
5.2.1 Môi trường phat triển -c+k+2E2ESEESEEeEErrrkrrkerkerree 62
5.2.2 CAch hoat d6ng 01727757 64
5.3 Xây dựng m6-dun ứng dung Web - - 5s + knHnHnHnHnHhnHggr 67
5.3.1 Môi trường triển khad eecceccsccecsesscessecesesssecssessscssecssecssecseeasecssecssesses 67
5.3.2 Mô tả giao diện người dùng - c5 + Scs* + sserseeeeserereere 68
5.4 Triển khai hệ thống -¿-2¿©2+©2++E++2EE2EEEEEEEEEESEEEEEEEEkkrrkrsrkerrrees 73
Trang 9DANH MỤC HÌNH
Hình 2.1 Mô hình hồi quy logistiC 2 2c + E+EE£EE2EE2EE2EEEEEEEeEEeEkeExrrxrrerei 7
Hình 2.2 Mô hình mang nƠ-TOII - - 5 2< 3322683118391 Erkerre 8
Hình 2.3 Kiến trúc RNN -c:-52+t22 t2 tr tri 9Hình 2.4 Chuỗi các mô-đun của RNN tiêu chuẩn với một lớp đơn giản 11
Hình 2.5 Chuỗi các mô-đun LSTM có 4 lớp tương tác với nhau -. 11
Hình 2.6 Trạng thái tế bao trong một mô-đun LSRM -2- ¿5252252 12
Hình 2.7 Cổng quên trong mạng LSTM ¿2-2 E+SE+E£+E£+E£E££EerEerxerxrrssee 13
Hình 2.8 Công vào trong mạng LSTM 2-2222 E+SE+£E++EE+EEtEEtrEezrkrrkerkerex 14Hình 2.9 Cập nhật trang thái tế bào trong mạng LSTM -:- ¿25+ 15Hình 2.10 Cập nhật giá trị đầu ra trong mạng LSTM ¿- ¿s2 15
Hình 2.11 Mô hình mang GRU đơn ÌẺ 5 5 5S + E#EEseEEeEeeeeserrerserske 16
Hình 2.12 Cổng update trong mô hình GRU 2- 5¿©+¿2£+2+++£xz+z+zzezrsz 17
Hình 2.13 Công reset trong mô hình GRU 2- 2 22 2S2+££+E+E+£E+zx+zxezszxez 18
Hình 2.14 Lược đồ xác định thông tin trong quá khứ được sử dụng - 19Hình 2.15 Lược đồ xác định thông tin tại thời điểm hiện tại -5¿5+ 20Hình 3.1 Sơ đồ use-case bài toán đặt ra ¿s22 EE+ESEEEESESEEEEEESEEEErkerrrsrkrree 24
Hình 3.2 Sơ đồ hoạt động chức năng Dang ký - 2 2 2+s+xecxezxerxerscee 26
Hình 3.3 Sơ đồ hoạt động chức năng Đăng nhập - 2-2 2 2 s£x+£x£xzzsz e2 27
Hình 3.4 Sơ đồ hoạt động chức năng Xem các thông tin giá tiền điện tử 27
Hình 3.5 Sơ đồ hoạt động chức năng Lựa chọn hiển thị các chỉ báo lên biểu đồ giá
TUG rIỆEHtỶtỶÝỶỒỶỒỖŨỒ a 28
Hình 3.7 Sơ đồ hoạt động chức năng Hiền thị giá tiền điện tử theo thời gian thực 29Hình 3.8 Sơ đồ hoạt động chức năng Xem tin tức tiền điện tử liên quan 29Hình 3.9 Sơ dé hoạt động chức năng Dự đoán & Lựa chọn số phiên giao dịch 30Hình 3.10 Sơ đồ hoạt động chức năng So sánh độ chính xác giữa các mô hình dự
đoán khác nhau ccc ccccccesceceseeeseseceesssssssssssssssssssssseesseeseeeseeeseeeessssssssssaees 30
Trang 10Hình 3.11 Sơ đồ hoạt động chức năng So sánh kết quả dự đoán giữa các mô hình dự
Hinh 3.12 So dé hoat động chức năng Lựa chon mô hình dự đoán mặc định 31
Hình 3.13 Sơ đồ hệ thống tổng quan cceccecccccecsessesssessessecssessessessesessessessesseeseeseees 33
Hình 3.14 Thiết kế cơ sở dữ liệu NÑoSQ(L -.-:-5cc¿5ccc2cxxsrrtrsrrrrsrrrrrrrrree 34
Hình 4.1 Biéu đồ thé hiện độ chính xác của mô hình một lớp 4n GRU theo phiên dự
đoán 10 ngày và dữ liệu đồng BTC với các giá trị số lượng đầu vào khác nhau 44
Hình 4.2 Biéu đồ hiển thị kết quả dự đoán cho giờ tiếp theo của đồng BTC với môhình một lớp an GRU ¿2£ ££©E+EE£+E£+EE£EE£EEEEE2EEEEEEEEEEEEEEEEEErrkkrrrerkrrrrrei 46Hình 4.3 Mô hình GRU đơn giản với một lớp ẩn -2- 2 2 x+2££+£++z++zxzsz 41
Hình 4.4 Mô hình LSTM ba lớp ân với drOpOUL -2- 2-2 2 2+s£+x+£x+£x+z+zzszse2 47
Hình 4.5 Biéu đồ thé hiện độ chính xác của mô hình một lớp ẩn GRU theo phiên dựđoán 1 ngày va dit liệu đồng BTC với các số lượng nơ-ron khác nhau 50Hình 4.6 Biểu đồ thê hiện độ chính xác của mô hình một lớp ân GRU theo phiên dựđoán 1 ngày va dit liệu đồng BTC với các hàm kích hoạt khác nhau 53Hình 4.7 Điều chỉnh tham số dé huấn luyện các mô hình 5-52 54
Hình 4.8 Xử lí kết qua va hién thi kết qua đưới dang biểu đỒ -5- 55
Hình 5.1 Giao diện trang Login của ứng dụng Web - -.- 5< sss+ccxsseeeeseesesers 68
Hình 5.2 Giao diện trang Register của ứng dụng web - «+ c«cc«cssesssseesee 69
Hình 5.3 Giao diện tổng quan trang Home của ứng dụng web - 70Hình 5.4 Giao điện vùng hién thị biéu đồ và các tùy chọn biểu đồ 71
Hình 5.5 Giao diện trang ÌN©WS Ác HH HH TH HH HH 71
Hình 5.6 Giao diện trang Predict ccccessecssscsseceseecsseeseecseeeceseeeeeesssecesaeeeseeeaes 72
Hình 5.7 Kiến trúc REST -:- ¿+ £+SE+EE£EEE2EE2EEEEEE2E12E122121711211 2xx cre, 74Hình 5.8 Kiến trúc Docker -: +t+2++t22ExxttEExtttrkktttrrtrrrrtrrrrrtrrrrrrrrrre 75Hình 5.9 Kiến trúc ha tầng của hệ thống -2¿ 2£ ©22+2E+2EEt2EEtEEEerxezrxrrrecree 76
Trang 11DANH MỤC BANG
Bang 3.1 Danh sách các tác nhân - + + +21 1391991119111 11191 191 18x rrvrg 24 Bảng 3.2 Bảng danh sách các Use-case - -.- 5 1k SH ng ng re 24 Bang 3.3 Bang mô ta collection PTIC€ - - 5 5 + 1k ng HH giết 35 Bảng 3.4 Bang mô tả collection PriceBy]Dafe - s5 1k re 36
Bảng 3.5 Bảng mô tả collection ÌMOdelL 5 «5 + +2 E1 * 1E trtrưt 36
Bảng 3.6 Bang mô tả collection ModeÏÏT'ype - - -c sex siseirseeee 37 Bảng 3.7 Bang mô tả collection (TYDEO - - c 1 vn HH ng ng 37 Bảng 3.8 Bảng mô ta collection Defau]tMOdelL - + +« xxx +ksesseesersee 38 Bang 3.9 Bảng mô ta collection S€T- 5 5 + 1n HH ng ưệt 38
Bảng 3.10 Bang mô ta collection CronlUOg - <6 + + E+vEsseeseeeeereere 39
Bảng 4.1 Bảng mô tả các tham số API của sàn Binance -: -:-s+ 41Bang 4.2 Bang mô tả độ chính xác của mô hình một lớp ẩn GRU theo từng phiên dựđoán với dữ liệu đồng BTC qua các số lượng đầu vào khác nhau 45Bảng 4.3 Bảng mô tả độ chính xác của mô hình một lớp ân GRU theo từng phiên dựđoán với dữ liệu đồng BTC qua các số lượng nơ-ron khác nhau -.- 48
Bảng 4.4 Bảng mô tả độ chính xác của mô hình một lớp ân GRU theo từng phiên dự
đoán với dit liệu đồng BTC qua các hàm kích hoạt khác nhau 55+ 51Bang 4.5 Bang mô tả độ chính xác của 18 mô hình đề xuất khi phiên dự đoán là 1 giờcủa dữ liệu đồng BTC -¿- 2-52 £+E+EÉEEỀEE9 1211211211 21717121211112111 111111 re 55Bang 4.6 Bảng mô tả độ chính xác của 18 mô hình đề xuất khi phiên dự đoán là 10giờ của dữ liệu đồng BTTC 2: 2¿2+++2k22EE22E1271122122112711221211 211211 cxee 57Bảng 4.7 Bảng mô tả độ chính xác của 18 mô hình dé xuất khi phiên dự đoán là 1ngày của dữ liệu đồng BTC - - + s+SE+EE+EE+EE£EEEEEEEEEEEEEEE12117171 21212 xe 58Bang 4.8 Bảng mô tả độ chính xác của 18 mô hình đề xuất khi phiên dự đoán là 10ngày của dit liệu đồng B'TC ¿-2¿ + <+S1£EE£EE2EE2E1E2171121122171 7112112 ctkcrk 59
Bang 5.1 Bang mô tả các API của mô-đun API S€TV€T -.- 5255 +sssesssers 64 Bang 5.2 Bang mô tả các query parameter cua mô-đun API server 66
Bang 5.3 Bang mô ta các path parameter cua mô-đun API server - 67
Trang 12Bang 5.4 Bảng mô tả các request body của mô-đun API server - 67 Bang 5.5 Bang mô tả giao dich trang LOBI1T s cà nnnnnnngxeg 68
Bang 5.6 Bang mô tả giao diện trang Register eee eee cee G51 ree 69
Bảng 5.7 Bảng mô tả giao diện trang Home 5 + + sEesEeeeeskeree 70
Bang 5.8 Bảng mô tả giao diện vùng hiển thị biểu đỒ 2-5 55s s+zszss2 71
Bảng 5.9 Bang mô tả giao diện trang ÏÑeWS - HH HH Hư 72 Bảng 5.10 Bảng mô tả giao diện trang Predict - - ccs*cseseeeseessserske 72
Trang 13DANH MỤC TỪ VIET TAT
ADA Cardano (loại tiền điện tử)
ANN Artificial neural network
API Application programming interface
BNB Binance Coin (loai tién dién tir)
BTC Bitcoin (loại tiền điện tử)
DOM Document object model
ETH Ethereum (loại tiền điện tử)
GRU Gated recurrent unit
HTML Hypertext markup language
JSX Javascript + XML
LSTM Long-short term memory
LTC Litecoin (loại tiền điện tử)
MAPE Mean absolutr percentage error
RMSE Root mean square error
RNN Recurrent neural network
Trang 14TÓM TẮT KHÓA LUẬN
Đề tài khóa luận “Xây dựng hệ thống dự đoán xu hướng biến đổi giá tiền điện
tử sử dụng các mô hình máy học” là một đề tài hướng đến đối tượng người dùng thamgia giao dịch tiền điện tử Đây là đề tài quan trọng và có tính thực tế trong bối cảnhtiền điện tử đã trở thành xu hướng trong lĩnh vực tài chính
Vì thị trường tài chính đầy rủi ro và cạm bẫy, cùng với tính chất biến động cao củatiền điện tử, nên hệ thông dự đoán xu hướng biến đổi tiền điện tử nhằm hỗ trợ người
dùng ra quyết định giao dịch đúng đắn, thu được lợi nhuận với các chức năng cơ bản
như: hién thi thông tin về giá và chỉ báo lên biéu đồ giá, các tin tức mới nhất liên quanđến tiền điện tử và hién thị kết qua dự báo xu hướng giá tiền điện tử trong tương lai
Ngày nay, với sự phát triển của các phương pháp máy học đặc biệt là học sâu trong
lĩnh vực dự đoán giá tiền điện tử, con người sẽ có thêm một trợ thủ vô cùng đắc lực
dé có thé đưa ra những quyết định hợp lí mang lại lợi nhuận tốt nhất Sau khi tìmhiểu, khảo sát các bài báo nghiên cứu về dự đoán giá tiền điện tử Cùng với sự pháttriển của các phương pháp máy học đặc biệt là học sâu Với mục tiêu là xây dựng một
hệ thông dự đoán tiền điện tử băng các phương pháp máy học, em đưa ra hướng thực
hiện cho đê tài như sau:
- Tim hiéu các nghiên cứu, các mô hình máy học, học sâu như: Long-short
term memory, Gated Recurrent Unit, và các kiến thức liên quan
- _ Lựa chọn và áp dung các mô hình hiệu quả, tinh chỉnh mô hình dé đạt hiệu
quả tối ưu nhất song song với việc giảm thời gian huấn luyện
- Xây dựng hệ thông dự đoán với: dữ liệu cập nhật liên tục từ sàn giao dịch
Binance, sử dụng các mô hình máy học, học sâu để huấn luyện mô hình,phát triển ứng dụng Web dé hién thị kết quả dự đoán và các thông tin liên
quan.
Trang 15Chương 1.GIOI THIỆU TONG QUAN VE DE TÀI
không do ngân hàng trung ương phát hành và giá trị của chúng hoàn toàn dựa vào
cung và cầu trên thị trường Bitcoin (BTC) là đồng tiền điện tử đầu tiên được tạo ravào năm 2009 và tính tới năm 2020 có hơn 5400 loại tiền điện tử khác nhau như
Ethereum (ETH), Ripple (XRP),
Trong thi trường tài chính day rủi ro va cam bay, tiền điện tử không những phức tap
mà còn là một vấn dé tài chính khó hiểu do tính chất biến động cao của nó Do đó,các nhà đầu tư vào thị trường này cần công cụ nào đó đề dự đoán chính xác một phần
xu hướng hay mức giá tương lai của tiền điện tử Các dự đoán chính xác có thé hỗ trợ
các nhà đầu tư tiền điện tử đưa ra quyết định đầu tư đúng đắn và thu lại lợi nhuận
Theo Giả thuyết thị trường hiệu quả (EMH - efficien markets hypothesis), được
Eugene Fama dé cập lần đầu vào những năm 1970 trong bài viết “Efficient Capital
Markets: A Review of Theory and Empirical Work” [1] đã đưa ra rằng giá chứngkhoán là không thể dự đoán được Nhưng từ các nghiên cứu gần đây [2] [3] về dựđoán tiền điện tử, có thể nhận thấy các mô hình máy học hay học sâu đang đượcnghiên cứu, ứng dụng rộng rãi trong việc dự đoán giá tiền điện tử và đạt được nhữngthành công nhất định Có thê kê đến một số phương pháp máy học truyền thống như:
linear regression, decision tree Hay một số phương pháp học sâu ứng dụng mạng
nơ-ron như: recurrent neural network, convolutional neeural network,
Mục đích luận văn tôt nghiệp này của em nhăm tìm hiêu, nghiên cứu, so sánh các
phương pháp dự đoán giá tiên điện tử băng phương pháp học sâu cho một sô loại tiên
điện tử trên sàn hiện nay như: Bitcoin, Ethereum, Từ đó, làm chủ các công nghệ và
Trang 16xây dựng được một hệ thong du doan gia tiền điện tử Hỗ trợ được phần nao đó chocác nhà dau tư khi tham gia vào thị trường day rủi ro này.
1⁄2 Mục tiêu đề tài
Mục tiêu chung: Tìm hiểu các mô hình máy học, học sâu áp dụng cho việc dự đoán
giá tiền điện tử Từ đó, xây dựng được hệ thống hỗ trợ ra quyết định đầu tư cho các
nhà đầu tư tiền điện tử
Cụ thể:
- Tim hiểu các mô hình máy học, học sâu áp dụng cho việc dự đoán giá tiền
điện tử và tìm hiểu các đề tài nghiên cứu liên quan
- Lựa chọn và áp dụng các mô hình hiệu qua, tinh chỉnh mô hình dé đạt hiệu
quả tối ưu nhất song song với việc giảm thời gian huấn luyện
- - Xây dựng hệ thong dự đoán với: Dữ liệu liên tục được lay ttr san giao dich
Su dụng các mô hình máy học, hoc sâu dé huấn luyện mô hình Phát triểnmột ứng dụng web để hiện thị các kết quả dự đoán và thông tin liên quancủa tiền điện tử theo thời gian
1.3 Đối tượng và phạm vi nghiên cứu
1.3.1 Đối tượng
Nghiên cứu lý thuyết và cách áp dụng các thuật toán máy học dự đoán giá tiền điện
tử hiệu quả hiện nay: LSTM, RNN, GRU
Nghiên cứu ngôn ngữ Python với Framework FastAPI.
Nghiên cứu và ứng dụng kiến trúc REST (Representational State Transfer)
Nghiên cứu các yêu cầu kỹ thuật trong việc xây dựng ứng dụng website
Nghiên cứu các ứng dụng, kỹ thuật hỗ trợ thiết kế giao điện ứng dụng web
1.3.2 Phạm vi nghiên cứu
Các phương pháp máy học, học sâu được áp dụng trong lĩnh vực dự đoán xu hướng
biên đôi giá tiên điện tử.
Trang 17Dữ liệu giao dịch từ các sàn giao dịch tiền điện tử.
Framework hỗ trợ xây dựng các mô hình máy học, học sâu.
Nghiên cứu các yêu cau trong việc xây dựng ứng dụng web
Nghiên cứu các dịch vụ hỗ trợ thiết kế giao diện ứng dụng web
Ngôn ngữ lập trình: Python.
Thư viện: ReactJS, FastAPI, TensorFlow, Keras,
Hệ quan tri co sở dữ liệu: MongoDB.
1.4 Phuong pháp nghiên cứu
Phân tích, khảo sát một số bài báo liên quan trong lĩnh vực dự đoán tài chính
Tìm hiểu các mô hình máy học dự đoán giá tiền điện tử trong những bài báo khoa học
liên quan.
Nghiên cứu các phương pháp chuẩn hóa và tiền xử lý dữ liệu
Lựa chọn mô hình phủ hợp đề xây dựng hệ thống dự đoán
Tìm hiểu các giải pháp đề khắc phục những nhược diém của mô hình đã chon cũng như
các thách thức đề xây dựng một hệ thống hiệu quả
Tìm hiểu cách thu thập và lưu trữ dữ liệu liên tục từ các sàn giao dịch
Tìm hiểu và sử dụng các thư viện hỗ trợ xây dựng một mô hình máy học
Xây dựng và đánh giá mô hình.
Triển khai mô hình trên nền tảng ứng dụng web
1.5 Các nghiên cứu liên quan
Ngày nay, dé dự đoán xu hướng giá tiền điện tử, các nghiên cứu thường sử dụng dữliệu giá trong quá khứ được thu thập theo ngày Sử dụng dữ liệu đó dé huấn luyện các
mô hình có thé dự đoán được giá chứng khoán tương lai, rồi so sánh hiệu suất của
các mô hình dé rút ra được mô hình nào dự đoán gan đúng nhat.
Trang 18Từ nghiên cứu “Comparison of ARIMA and Artificial Neural Networks
models for stock price prediction” [4] cua Ayodele Ariyo Adebiyi và các cộng sự.
Tác giả đã sử dụng hai phương pháp ARIMA va ANN dé dự đoán giá chứng khoán
cho ngày tiếp theo Sử dụng dữ liệu chứng khoán của Dell Inc từ 17/08/1988 đến
25/02/2011 với tổng 5680 mau Dé đánh giá hiệu suất, tác giả sử dụng MSE (mean
squared error), forecast error Thu được kết quả dự đoán của mô hình ANN có hiệu
suất tốt hơn so với ARIMA Điều này cũng chứng tỏ việc sử dụng các mô hình mạng
nơ-ron có tiêm năng rât cao
Trong nghiên cứu “Stock Price Prediction Using Machine Learning and
LSTM-Based Deep Learning Models” [5] của tác gia Sidra Mehtab va các cộng sự.
Dé dự đoán giá chứng khoán cho tuần tiếp theo (tương ứng với 5 ngày) ho đã sử dung
bộ sữ liệu biến động giá chứng khoáng hằng ngày dựa trên chỉ số NIFTY 50 từ
29/12/2014 đến 31/7/2020 Tiền sử lý dữ liệu với kỹ thuật chuẩn hóa min-max Họ
đã sử dụng các kỹ thuật khác nhau dé dự đoán như: Decision Tree, Random Forest,
Artificial Neural Network, Support Vector Machine, Long-short term memory,
Sau đó dùng chi số Root Mean Square Error (RMSE) va Correlation dé đánh giá kha
năng dự đoán của các mô hình Và kết quả thu được là mô hình LSTM có hiệu suất
vượt trội hơn.
Trong nghiên cứu “A Gated Recurrent Unit Approach to Bitcoin Price
Prediction” [6] của tac gia Aniruddha Dutta và cộng sự Đề dự đoán giá Bitcoin theo
từng ngày, tác giả đã dùng đữ liệu chuỗi thời gian Bitcoin từ nhiều nguồn khác nhau
từ 1/1/2010 đến 30/6/2019 Sau đó đữ liệu được chuẩn hóa bằng cách hạ giá trị từngchuỗi dữ liệu rồi chia cho độ lệch chuẩn của nó Bằng cách sử dụng các mô hình
LSTM va GRU kết hợp với dropout hay lặp lại các dropout dé huấn luyện dữ liệu
Đề đánh giá hiệu năng mô hình tác giả sử dụng độ do RMSE Sau cùng, mô hình
GRU với dropout cho hiệu suất tốt nhất
Hay trong đề tài Luận văn tốt nghiệp kỹ sư “Xây dựng hệ thống dự đoán xu
hướng giá chứng khoán” [12] của tác giả Dư Gia Huy năm 2020 tại Đại học quốc gia
Trang 19TP Hồ Chí Minh, trường Đại học Công nghệ thông tin Tác giả đã dự đoán xu hướng
giá tiền của đồng Bitcoin cho 10 ngày tiếp theo bằng mô hình LSTM Tiền xử lý dữ
liệu bằng chuẩn hóa min-max, đo độ chính xác của mô hình bằng độ đo MAPE (Mean
absolute percentage error) Kết quả thu được mô hình với 3 lớp ân LSTM sử dụng
dropout có thê dùng đề dự đoán xu hướng giá chứng khoán
Từ những nghiên cứu trên, đối với đề tài khóa luận của mình, dựa theo [6] em nghiên
cứu sử dụng các mô hình dự đoán giá được xây dựng từ LSTM và GRU kết hợp vớidropout, tiền xử lý dữ liệu bằng min-max theo [5] và [12], đánh giá độ chính xác bằng
độ đo MAPE theo [12] rồi tiến hành dự đoán cho 4 phiên khác nhau gồm: 1 giờ, 1ngày, 10 giờ và 10 ngày, cho 5 loại tiền điện tử phố biến hiện nay như: Bitcoin,
Ethereum, Litecoin, Cardano và Binance.
1.6 Bố cục báo cáo
Chương 1: Giới thiệu tổng quan về đề tài
Chương 2: Cơ sở lý thuyết
Chương 3: Phân tích và thiết kế hệ thống
Chương 4: Thu thập dữ liệu và các mô hình dự đoán dữ liệu
Chương 5: Xây dựng và trién khai hệ thống
Chương 6: Kết luận
Trang 20Chương 2.CƠ SỞ LÝ THUYET
Trong chương này, em sẽ trình bày về các lý thuyết liên quan đến các thuật toán, cáccông nghệ được sử dụng và nhắc đến trong khóa luận
2.1 Lý thuyết về các thuật toán nơ-ron
Học sâu là một trong những phương pháp máy học với những thuật toán được tạo ra
băng cách mô phỏng theo cấu trúc và cách thức hoạt động của mạng nơ-ron trong não
con người.
2.1.1 Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo (Artificial Neural network — ANN hay Neural Network)! là
một mô hình toán học hay mô hình tính toán được xây dựng dựa trên các no-ron sinh
học Nó gồm có một nhóm các nơ-ron nhân tao (nút) nói với nhau dé xử lý thông tin
Các nút thường được tô chức theo từng lớp Kiến trúc của ANN gồm 3 thành phần:
lớp đầu vào (input layer), lớp ân (hiden layer), lớp đầu ra (output layer)
2.1.1.1 Mô hình mạng nơ-ron
Mô hình mạng nơ-ron đơn giản nhất là hồi quy logistic (logistic regression) chỉ với 2
lớp: đâu vào và đâu ra.
2.1.1.2 Hồi quy logistic
.
Hình 2.1 Mô hình hồi quy logistic?
Ị Nguồn: https://en.wikipedia.org/wiki/Artificial_neural_network, truy cập ngày 07/07/2021
7 Nguôn: https://towardsdatascience.com/a-logistic-regression-from-scratch-3824468b1f88, truy cập ngày
07/07/2021
Trang 21Giả sử ta có mô hình như hình 2.2, để xác định giá tri đầu ra y, ta cần thực hiện quá
trình tính toán sau:
Z=fi,Xw;+ +ƒf,xwna+b
y=ø0()
Trong đó:
- fir fo fy là giá trị của các thuộc tính đầu vào
- Wy4,W2, Wy là trọng số của từng giá trị đầu vào tương ứng
- pb hay bias là hệ số được thêm vào dé phương trình đường thăng z không
đi qua gốc tọa độ
- ơ là hàm kích hoạt nhằm điều chỉnh giá trị đầu ra nam trong khoảng [0, 1],
Hình 2.2 Mô hình mang no-ron?
Mạng nơ-ron được cấu tạo từ các lớp: lớp đầu vào, lớp an, lớp đầu ra Lưu ý, chỉ có
1 lớp đầu vào và 1 lớp đầu ra, còn lớp ân có thé có 1 hoặc nhiều lớp Số lượng nút ở
3 Nguồn: _
https://towardsdatascience.com/step-by-step-guide-to-building-your-own-neural-network-from-scratch-df64b 1c5ab6e, truy cập ngày 07/07/2021
Trang 22các lớp có thé khác nhau, hàm kích hoạt của mỗi nút có thé khác nhau: sigmoid,tanh, ReLU Trong mạng nơ-ron, trừ các nút thuộc lớp đầu vào thì các nút còn lại
đều được kết nối đầy đủ (fully-connected) với các nút ở lớp trước đó
2.1.2 Recurrent Neural Network (RNN)
Mang nơ-ron hồi quy (RNN)! được thiết kế dé xử lý chuỗi thông tin Với bai toán dựđoán giá tiền cho phiên tiếp theo, thì chúng ta cần phải biết giá của những phiên trước
đó Mà với các mạng nơ-ron truyền thống, thì tất cả đầu vào và ra đều độc lập vớinhau, không liên kết thành chuỗi với nhau, dẫn đến mô hình này không phù hợp vớicác bài toán Với RNN nó sẽ thực hiện cùng một tác vụ cho tất cả các phần tử củamột chuỗi với đầu ra phụ thuộc vào cả phép tính trước đó, vì vậy nó được gọi là môhình mạng nơ-ron hồi quy (RNN)
Một cách dễ hiểu hơn, RNN có thé được coi là nhiều bản sao chép của cùng một
mang, trong đó moi đâu ra cua mang này là dau vào của một mạng sao chép khác.
được thực hiện như sau:
- x, là dau vào tại bước t.
4 Nguồn: http:/www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introđuction-to-rnns/,
truy cập ngày 07/07/2021
Trang 23- Tại mỗi bước có một trạng thái ấn s¿ Nó chính là bộ nhớ của mạng s,
được tính toán dựa trên các trạng thái an phía trước va đầu vào tại bước đó:
Se = f (Ux, + Ws,_¡) Hàm ƒ thường là một hàm phi tuyến Dé làm phéptoán cho phan tử 4n đầu tiên, ta cần khởi tạo thêm s_¿, với giá trị thường
là 0.
- 0 là đầu ra tại bước £ Ví dụ như muốn dự đoán từ tiếp theo xuất hiện trong
câu thì : o; chính là một vectơ xác suất các của từng nhãn kết quả Giả sử
ta sử dung hàm kích hoạt softmax: 0, = soƒtmax(Vs,) Vectơ xác suất
0¿ cũng có thể được tính toán tương tự nếu ta sử dụng các hàm kích hoạt
khác như sigmoid, tanh, ReLU
Về mặt ký thuyết, RNN có thé xử ly và lưu trữ thông tin của một chuỗi có chiều dàibất kỳ Tuy nhiên, thực tế nó chỉ hiệu quả với chuỗi có chiều dài không quá lớn
nguyên nhân là do vanishing gradient được nghiên cứu sâu trong các bài báo của
Hochreiter (1991) và Hochreiter, et al (2001).
Dé khác phục nhược điểm trên, 2 biến thé của RNN là LSTM (Long short term
memory) va GRU (Gated Recurrent Units) đã ra đời Đây cũng là 2 mô hình được em
tìm hiểu sâu và áp dụng vào hệ thống
2.1.3 Long short term memory (LSTM)
LSTM là một mô hình phô biến nhất được sử dụng của RNN LSTM thé hiện sự ưu
việt ở điểm có thé nhớ được nhiều bước hơn mô hình RNN truyền thống Về cơ bản
thì cau trúc của LSTM giống với cau trúc RNN truyền thống, chỉ khác nhau ở cáchtính toán của các nút ân LSTM được thiết kế để tránh vấn đề phụ thuộc xa (long-term dependency) khi có thé nhớ được các thông tin trong thời gian dài
Mạng hồi quy có dạng là một chuỗi các mô-đun lặp đi lặp lại của mạng nơ-ron Với
RNN, các mô-đun này có cấu trúc rất đơn giản, thường là một hàm tanh (activation
function) duy nhất
5 Nguồn: https://colah github.io/posts/2015-08-Understanding-LSTMs/, truy cập ngày 07/07/2021
10
Trang 24Thông tin quan trọng nhất của LSTM là trạng thái tế bào (cell state) — đường chạy
thông ngang phía trên như hình 2.6 Trạng thái tế bào giống như băng truyền, chạy
xuyên suốt tất cả các nút mạng và chỉ tương tác tuyến tính đôi chút Vì vậy thông tin
có thé dé đàng được truyền đi thông suốt mà không sợ bị thay đồi
lãi
Trang 25Hình 2.6 Trạng thái tế bào trong một mô-đun LSRMLSTM có khả năng bỏ đi hay thêm vào các trông tin cần thiết cho trạng thái tế bào,chúng được điều chỉnh cần thận bởi các nhóm được gọi là công (gate).
Các công là nơi sàng lọc thông tin đi qua nó, chúng kết hợp bởi một lớp sigmoid và
0 thì bỏ toàn bộ thông tin.
12
Trang 26Hình 2.7 Cổng quên trong mạng LSTM
Ta có công thức:
fe = ø(M/ [he Xe] + br)
Với bài toán dự đoán giá tiền điện tử, dữ liệu dầu vào dạng chuỗi thời gian
(time-series), thì trạng thái tế bào có thể sẽ luôn mang thông tin về giá của những phiên
giao dịch trước đó và dựa vào nó dé dự đoán được giá của một hay nhiều phiên tiếp
theo Nhưng với những phiên giao dịch ở quá xa thời điểm dự đoán hay quá bấtthường, thi tang cổng quên sẽ loại bỏ những thông tin này vì nó không còn tác dụng
dé dự đoán
Tầng cập nhật (update gate layer): dé quyết định xem thông tin mới nào sẽ lưu vàotrạng thái tế bào Gồm có 2 phần Đầu tiên là sử dụng một tầng sigmoid được gọi làtầng cổng vào (input gate layer) dé quyết định xem giá trị nào sẽ được cập nhật Sau
đó sử dụng tầng tanh: tạo ra một véc-to có giá tri mới Ế nhằm thêm vào cho trạng
thái Kết hợp 2 giá trị đó lại để tạo ra một cập nhật cho trạng thái, dé quyét dinh xem
thông tin mới nao sẽ lưu vào trạng thái tê bào.
13