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

Khóa luận tốt nghiệp Hệ thống thông tin: 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

94 0 0
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 đề 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
Tác giả Bùi Hoàng Nhất Phương
Người hướng dẫn Th.S Đỗ Thị Minh Phụng
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Hệ thống thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 94
Dung lượng 40,49 MB

Nội dung

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

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA HE THONG THONG TIN

BUI HOANG NHAT PHUONG - 17520921

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Ư 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

BUI HOANG NHAT PHUONG - 17520921

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 3

THONG 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 4

LOI CAM ON

Đầ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ảng viên trường Đại học Công Nghệ Thông Tin đặc biệt là quý Thầy, Cô khoa Hệ thống thô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ại

trường, tạo nền tang và điều kiện tốt nhất cho em dé thực hiện dé 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 Phụng đã tận tình hướng dẫn em đề 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ều

kiế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 rất 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

Bùi Hoàng Nhất Phương

Trang 5

MỤC LỤC

Chương 1 GIỚI THIỆU TONG QUAN VE ĐÈ TAL -.-:-c-cc:+¿ 2

1.1 Đặt vấn đề 22 222 22222111 2.2212.111 re 2 1⁄2 Mục tiêu để tài 2222222cccS22222EE2 rrEEEEEEEEEErrEEEEEErrrrrrrrrrrrrrrrree 3 1.3 Đối tượng và phạm vi nghiên cứu ¿+z++222+++t+rrxxzrrerrxeccee 3

1.3.1 Đối tượng.

1.3.2 Phạm vi nghiên cứu + c5c5+S++t+ecstretererrrrrrrre 3

1.4 Phương pháp nghiên cứu

1.5 Các nghiên cứu liên quan -¿- + ¿5k k*kSkESE kg ri 4

1.6 Bồ cục báo cáo

Chương2 CO SỞ LÝ THUYẾT -2-222E©+2++2EEE++tEEEEEE+tSEEESzrrtrrrrcree 7 2.1 Lý thuyết về các thuật toán nơ-ron

2.1.1 Mạng nơ-ron nhân tạO - ces 552 S*2+£E+E+EvEvEekekeEerrkrkrkerree 7

2.1.1.1 M6 hình mạng nơ-rOI ¿- - - ¿5S Sk*k‡E‡EEEEEEkEkekrrkrkrkekrke 7

2.1.1.2 Hồi quy logistic -ccc-22222ccvcrtrtrrrtrtrrrirrrrrrrrrree 7

2.1.1.3 Mô hình tổng quát - -:¿: 22222vvvcvettEEEEkrtrrrrrrrrrrrrrrrrrre §

2.1.2 Recurrent Neural Network (RNN) cccceseerrirrrrrrre 9

2.1.3 Long short term memory (LSTM) - - + «5+ c+x+xcxevrecer 0

2.1.3.1 Ý tưởng cốt lõi của LTM ccc:c-522ccvvvcrrrrrrcrrrerrccee 1

2.1.3.2 Bên trong LSTM ou cece eee es cenesesescseseenesescersneseassessseaneaeee 2

2.1.4 Gated recurrent unit (GIÑRU) ¿se S+ 5+ +x+k+Ekexerekskekervree 6

2.1.4.1 Cổng update 222+cc222222ttE2221112222112 221111 re 7

2.1.4.2 Cổng reset c2 2222 n2 11 211112 8

2.1.4.3 Nội dung nhớ hiện tai (Curent memory conten†) - §

Trang 6

2.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ự án

2.2.1 Ngôn ngữ lập trình Python ¿6 cece cee Sserkskekeeree 20 2.2.2 — Javascript — Framework ReactJS

2.2.3 Hệ quan trị co sở dữ liệu MongoDB 55+ sccccxce+ 22

Chương 3 | PHAN TÍCH VÀ THIET KE HE THONG

BLL MUC COU eee 23

3.3.3 Xem các thông tin giá tiền điện tử -ccccc -+ + 27

3.3.4 Lựa chọn hiển thị các chỉ báo lên biểu đồ IÁ che, 28

3.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 - - 29

3.3.7 Xem tin tức tiền điện tử liên quan -.ccc:++22cvvvvccs+rrer 29

3.3.8 Dự đoán và Lựa chọn số phiên giao dịch -‹-+-« cex«ee 30

3.3.9 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 - + ++++s=+s+>+s> 31

3.4 Thiết kế hệ thống ¿- 2+2++2222++2222EE+E22111122221112222111 221 re 32

Trang 7

3.5 Thiết kế cơ sở dữ liệu ¿-:-k+cStSESESEEEE2EEEEE12EEE11121511111151111 1112 cxe 33

3.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.1.1 UU điểm -SccScc22ESEEEEkEEEEEEErrrkrrrrrrrrrkerrees 404.1.2 Thu thập dữ liệu sàn Binance qua APÌ - «5+ c+ccsseeess Al

4.2 Thao tác dữ liệu 211110131 vn n5 xe 43

4.2.2 Tiền xử lý dữ liệu -©EcEe+EEEEeEkrErrrrkerkerreee 43

4.2.3 Đánh giá độ chính Xác - - - 5< 3+ 3321113911111 Erkrrre 43

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.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

Trang 8

4.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.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 9

DANH 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.4 Chuỗi các mô-đun của RNN tiêu chuẩn với một lớp đơn giản 11Hình 2.5 Chuỗi các mô-đun LSTM có 4 lớp tương tác với nhau -. 11Hì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.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+ 20

Hình 3.2 Sơ đồ hoạt động chức năng Dang ký - 2 2 2+s+xecxezxerxerscee 26

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 10

Hì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ự

lfu8 410 1

Hình 3.12 Sơ đồ hoạt động chức năng Lựa chọn mô hình dự đoán mặc định 31 Hình 3.13 Sơ đồ hệ thống tổng quan -: +22++++222vv++ettvxvrrerrvsrrrrrr 33

Hình 3.14 Thiết kế cơ sở dữ liệu NoSQIL -cccccccccccccssccccc-rcec 3

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 qua dự đoán cho giờ tiếp theo của đồng BTC với mô hình một lớp ân GRUU -2¿-222+£22V2+++222EE++222221222221111222111122111 tre 46 Hình 4.3 Mô hình GRU đơn giản với một lớp ân -2ccccccc++sccvcvcee AT Hình 4.4 Mô hình LSTM ba lớp An với dropout ccccccssssescsssssescsssseccsssseeseessseseessees 47

Hình 4.5 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 1 ngày và dữ liệu đồng BTC với các số lượng nơ-ron khác nhau.

Hình 4.6 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 1 ngày và dữ liệu đồng BTC với các hàm kích hoạt khác nhau nn)

Hình 4.7 Điều chỉnh tham số dé huấn luyện các mô hình „54

Hình 4.8 Xử lí kết quả và hiền thị kết quả đưới dạng biểu đồ 55

Hình 5.1 Giao diện trang Login của ứng dụng Web eects terete 68

Hình 5.2 Giao diện trang Register của ứng dung web - - s©++c+c+c+c<c+ 69

Hình 5.3 Giao diện tổng quan trang Home của ứng dụng web - 70 Hì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 NOWS cccecesscececsceseseseeeseesesescsneeseseesseeneseseseeesneneaeecene 71

Hình 5.6 Giao diện trang PT€diCCL - - ¿55-5 +2 2S k2 2 2 111211 te 72

Hình 5.7 Kiến trúc REST cc:c:cccccc2222222222222EE tri 74

Hình 5.8 Kiến trúc Docker -:-: -i+::::!22nnhnhttttrre 75

Hình 5.9 Kiến trúc hạ tang của hệ thống -2++++2222vvvrrrrrrrrrrrxee 76

Trang 11

DANH MỤC BANG

Bảng 3.1 Danh sách các tác nhân -¿- + ¿+ kg gu 24

Bảng 3.2 Bảng danh sách các USe-Case ¿¿55- 25 2+ 2t2t+xexexerrerererree 24

Bang 3.3 Bang mô ta collection PPFICG -¿- + 5° +52 S*2E‡E‡E‡EEEEkeEEEekrrkrkrkereree 35

Bảng 3.4 Bang mô tả collection PriceByDate 5-5525 552cc sex 36 Bảng 3.5 Bảng mô ta collection ModelL -¿- ¿+ ¿5c + +‡*‡‡££vvsxekekzrrerersee 36

Bảng 3.6 Bang mô tả collection Model Type - - 555 5+5++cccexsrcrkzkererrk 37 Bang 3.7 Bảng mô tả collection CTY(O «6 tk #EreErkererekskrkrkrerree 37 Bảng 3.8 Bảng mô ta collection DefaultModel +5 cs+c+ceveeererereee 38

Bảng 3.9 Bảng mô ta collection User 5S SE ‡‡2EEskekerrkrrrrrree 38

Bảng 3.10 Bảng mô tả collection CronLLOg - ¿5-5 2 25+ 5++x+£+£+£z£+xzxzeezrx 39

Bảng 4.1 Bảng mô tả các tham số API của sàn Binance - -z-2 Al Bảng 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 45

Bang 4.3 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 nơ-ron khác nhau 48

Bang 4.4 Bang mô tả độ chính xác của mô hình một lớp 4n GRU theo từng phiên dự đoán với dữ liệu đồng BTC qua các hàm kích hoạt khác nhau - 51

Bang 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 2222222+2222222111222222222111112.221111111 1 1 55 Bảng 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à 10

ErWoiEi8ir2i8/00 8:77 57

Bang 4.7 Bảng mô tả độ chính xác của 18 mô hình đề xuất khi phiên dự đoán là 1 ngày của dữ liệu đồng BTC -222¿:+-222222 22 22222111112 c1 58 Bảng 4.8 Bang mô tả độ chính xác của 18 mô hình đề xuất khi phiên dự đoán là 10

ngày của dữ liệu đồng BTC : 2222V222++t222E22EEYvvrrrttrEEEkxrrrrrrrrrrrrrrrrree 59

Bang 5.1 Bảng mô tả các API của mô-đun API S€rV€r - ¿5555555 64 Bang 5.2 Bảng mô tả các query parameter của mô-đun API server - 66 Bang 5.3 Bang mô tả các path parameter của mô-đun API server

Trang 12

Bang 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

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 13

DANH 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 14

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ị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 15

Chươ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 16

xâ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 17

Dữ 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ọcliê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 18

Từ nghiên cứu “Comparison of ARIMA and Artificial Neural Networks

models for stock price prediction” [4] của 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 mẫu Đề đá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

no-ron có tiêm năng rat 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ự đ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ộ sit 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ự đoán như: Decision Tree, Random Forest,

Artificial Neural Network, Support Vector Machine, Long-short term memory,

Sau đó dùng chỉ số Root Mean Square Error (RMSE) va Correlation dé đánh giá khả

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 tác giả Aniruddha Dutta và cộng sự Đề dự đoán giá Bitcoin theo

từng ngày, tác giả đã dùng dữ 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ừng

chuỗ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 và GRU kết hợp với dropout hay lặp lại các dropout để huấn luyện dữ liệu.

Để đánh giá hiệu năng mô hình tác giả sử dụng độ đo 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 19

TP 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 20

Chươ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 21

Giả 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 22

cá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 24

Thô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 25

Hì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 26

Hì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

Trang 27

định cập nhật mới giá tri trạng thái ra sao.

Như với bài toán dự đoán giá tiền điện tử, khi đến một phiên giao dịch mới, ta sẽthêm giá trị phiên mới này thay thế cho phiên cũ tương quan với nó

14

Trang 28

Hình 2.9 Cập nhật trạng thái tế bào trong mạng LSTM

Ta có công thức:

Tang cong ra (Output gate layer): ta sẽ quyết định xem giá trị đầu ra mong muốn là

gì Gia tri dau ra sé dua vao trang thai té bao, nhung sé duoc tiép tuc sang loc Đầutiên, sử dụng tang sigmoid dé quyết định xem phần nào của trạng thái tế bào muốnxuất ra Rồi đưa trạng thái tế bào qua một hàm tanh dé trả về giá trị trong khoảng

[—1,1], và nhân nó với dau ra của công sigmoid.

he

Ta có công thức:

15

Trang 29

ò¿ = ø(W@¿[h¿_+,x¿] + bạ)

Với bài tốn của chúng ra, chỉ cin xem giá trị các phiên trước đĩ mà LSTM cĩ thé

dự đốn được phiên tiếp theo., như từ 60 phiên giao dịch trước đĩ để dự đốn ra đượcgiá trị của phiên giao dịch tiếp theo như thế nào

2.1.4 Gated recurrent unit (GRU)

GRU¢® được coi là một biến thé cua LSTM vi chúng thiết kế gần tương tự nhau Điều

đặc biệt là GRU cĩ thé được đào tao dé giữ thơng tin từ lâu trước đĩ, khơng hề xĩathơng tin khơng liên quan đến dự đốn đầu ra

GRU khơng cĩ cell như LSTM mà chỉ cĩ đầu ra vừa dùng dé đưa ra quyết định vừadùng đề truyền thơng tin cho các bước tiếp theo Nĩ họat động nhanh hơn đơi chút sovới LSTM.

GRU cĩ 2 cơng: cổng update và cơng reset Về cơ bản, đây là hai vector quyết địnhthơng tin sẽ được truyền cho đầu ra

5 Nguồn: https:⁄/towardsdatascience.com/understanding-gru-networks-2ef37df6c9be, truy cập ngày

07/07/2021

16

Trang 30

2.1.4.1 Cổng update

'Ta có công thức sau:

Z, = ø(W2x, + UE)h,_¡)

Với: _ Z¿ là giá tri công update tại thời điểm t

x, là giá trị đầu vào tại thời điểm t

W® là trọng số của x;

h,_¡ là thông tin của các đơn vị tại thời điểm £ — 1 trước đó

U® là trọng số của hạ_¡

o là hàm sigmoid

Khi giá trị đầu vào x, được truyền vào mang, nó được nhân với trong số riêng W/)

của nó, rồi cộng với tích của thông tin các đơn vị h¿_¡ với trọng số riêng UTM của nó.Cuối cùng dùng hàm sigmoid dé biến đôi kết qua nằm trong khoảng [0, 1]

hị

Xt

Hình 2.12 Cổng update trong mô hình GRU

17

Trang 31

Cổng update giúp xác định lượng thông tin trong quá khứ (t — 1) cần chuyển đếntương lai (£) Hữu ich cho quyết định giữ tat cả thông tin quá khứ và loại bỏ nguy cơ

mat mát gradient

2.1.4.2 Céng reset

Ta có công thức sau:

Trị = ø(WTx, + UThịr_1)

giống với công thức của cong update đã nêu trên, điểm khác biệt ở trọng số và mức

sử dung của công nay Dé tính toán giá tri công reset, cân truyền giá tri thông tin đơn

vị h;_¡ và giá tri dau vào x,, nhân chúng với trọng sô tương ứng của chúng, roi tính

tong kết quả va áp dụng hàm sigmoid

tl

Hình 2.13 Cong reset trong mô hình GRUCông nay dùng dé quyết định lượng thông tin trong quá khứ bị quên đi

2.1.4.3 Nội dung nhớ hiện tại (Curent memory content)

Thông tin nội dung bộ nhớ mới sẽ sử dụng cổng reset dé lưu trữ thông tin có liên quan

đên quá khứ có công thức sau:

h, = tanh (Wx, + ry©Uh;_1)

18

Trang 32

Với: © là phép tích chập sẽ xác định những gi cần phải xóa khỏi thời điểm trước đó.Đâu tiên, nhân đầu vào x; với trọng số W.

Sau đó tính tích Hadamard (phan tử khôn ngoan) giữa công đặt lại r, và tích củah,_¡ với trọng số U Điều này sẽ xác định những gi cần loại bỏ từ các bước thời gian

Đầu ra của mạng là vector h,, chứa toàn bộ thông tin tại thời điểm t và truyền nó đi

Cần sử dụng công update, xác định thông tin thu thập từ nội dung bộ nhớ hiện tại hi

và từ các bước trước đó h;_;, có công thức như sau:

hy = Z¿@h¿_+ + (1 — z,)©h;

Đầu tiên áp dụng phép nhân chập giữa cổng update z, với h¿_¡ và giữa ht với (1 —

Z¿) rồi cộng kêt quả của chúng lại.

19

Trang 33

2.2 Cac công nghệ chính trong dự án

2.2.1 Ngôn ngữ lập trình Python

Python’ là ngôn ngữ lập trình hướng đối tượng bậc cao cho các mục đích lập trình đanăng do Guido van Rossum tạo ra và ra mắt năm 1991 Cú pháp đơn giản, dễ học, dễnhớ của Python làm nó nhanh chóng trở thành ngôn ngữ lập trình lý tưởng để viết

script và phát triển ứng dụng trong nhiều lĩnh vực, nền tang Cau trúc của Python cho

phép người dùng viết mã lệnh với số lần gõ phím tối thiéu

Python hoàn toàn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động Đượcphát triển trong một dự án mã nguồn mở, do tô chức phi lợi nhuận Python Software

Foundation quản lý.

Python thuộc nhóm những ngôn ngữ lập trình phổ biến nhất đặc biệt là ứng dụngtrong lĩnh vực trí tuệ nhân tạo và máy hoc theo bảng xếp hang của TIOBEŠ và PYPL?

năm 2021.

7 Nguồn: https://en.wikipedia.org/wiki/Python_(programming_ language), truy cập ngày 07/07/2021

8 Nguôn: https://www.tiobe.com/tiobe-index/python/, truy cập ngày 07/07/2021

? Nguôn: https://pypl.github.io/PYPL.html, truy cập ngày 07/07/2021

20

Trang 34

Python là ngôn ngữ lập trình hang đầu dé giải quyết những bài toán yêu cầu việc xử

ly dữ liệu hay là học sâu khi cung cấp các thư viện mạnh mẽ liên quan: Keras, Pandas,

Numpy, Scikit-learn Python là một ngôn ngữ lập trình dễ dàng tiếp cận, miễn phí

và mã nguồn mở Đồng thời, Python hỗ trợ đa nền tảng, bao gồm cả MacOS,Windows, Linux Chính vì vậy, em lựa chọn Python làm ngôn ngữ lập trình chính đểgiải quyết vấn đề xử lý dữ liệu cho khoá luận

2.2.2 Javascript — Framework ReactJS

JavaScript’ là một ngôn ngữ kịch ban hoặc lập trình cho phép triển khai các tính

năng phúc tạp trên các trang web như: cập nhật nội dung động kip thời, tương tác với

bản đồ, tạo hiều ứng đồ họa 2D/3D Đây là lớp thứ ba tiêu chuẩn của công nghệ

Component của React được phát triển bởi Facebook, được coi như một công cụJavaScript mã nguồn mở ra mắt năm 2013 Component được đóng gói quản lý trạng

thái riêng của chúng, sau đó biên soạn dé có thể tạo những giao diện phức tap

Khi đã có ngôn ngữ lập trình Python để thực hiện việc xử lý đữ liệu, em sẽ chỉ cần

xây dựng một website với dé thé hiện những thông tin đã được xử lý Website nàycần phải có một hiệu suất tốt với đữ liệu sẽ liên tục được cập nhật, vì lẽ đó mà em sử

dụng ReactJS Với cơ chế DOM”? ảo, quá trình thử nghiệm giao diện sẽ được thựchiện nhanh hơn khi không cần tải lại DOM hoàn chỉnh mỗi lần thay đổi

10 Nguồn: https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/What_is_JavaScript, truy

cập ngày 07/07/2021

!! Nguồn: https://reactjs.org/, truy cập ngày 07/07/2021

12 Nguồn: https://www.w3schools.com/js/js_htmldom.asp, truy cập ngày 07/07/2021

21

Trang 35

ReactJS còn giúp việc tạo ứng dụng web động dé dàng hơn khi sử dụng JSX3

(JavaScript Extension) cho phép trộn giữa code HTML và JavaScript Bên cạnh đó,

ReactJS còn là một thư viện phô biến cho việc xây dựng giao diện người dùng với rấtnhiều công cụ, thư viện hỗ trợ được phát triển phù hợp với mục tiêu khoá luận tốtnghiệp của em, tiêu biểu là react-stockchart hỗ trợ vẽ những biểu đồ thé hiện lịch sửgiá của các loại tiền điện tử

2.2.3 Hệ quản trị cơ sở dữ liệu MongoDB

NoSQL" là cơ sở dữ liệu phi quan hệ (Non-relational SQL) với nhiều kiểu dữ liệu

đa dạng như tài liệu, đồ thị, khóa — giá trị, tìm kiém, Có thé dé dang mở rộng dữliệu mà không cần quan tâm tới các điều kiện khóa ngoại, ràng buộc Tăng tốc độ,tính năng, khả năng mở rộng dữ liệu, mang đến trải nghiệm tốt hơn

MongoDB'Š là một hệ quản trị cơ sở dữ liệu mã nguồn mở, là một cơ sở đữ liệu hướng

tài liệu (document) thuộc NoSQL Trong MongoDB các dữ liệu được lưu trong document dạng JSON Với các khái niệm collection thay vì bang, document thay vì

row như trong cơ sở dữ liệu quan hệ MongoDB hiện đứng top 5 hệ quản trị cơ sở dữ

liệu pho biến nhất và là top 1 co sở dữ liệu phi quan hệ theo trang DB-Engines'9

Đề mở ra những tuỳ chọn nâng cấp hệ thống trong tương lai, ngoài ra hiệu năng sửdụng cũng phải được đảm bảo khi hệ thống cần ghi lại lượng dữ liệu tăng dần theothời gian Em lựa chọn NoSQL trong quá trình xây dựng và phát triển ứng dụng Vớiviệc là hệ quản trị cơ sở dữ liệu phi quan hệ phô biến nhất, MongoDB cũng sở hữumột cộng đồng phát trién lớn mạnh MongoDB còn có thê dé dàng kết hợp với nhữnglựa chọn phát triển hệ thống của nhóm thông qua ngôn ngữ lập trình Python (hoặc

JavaScript) bằng cách sử dụng thư viện như pymongo (hoặc mongoose)

13 Nguồn: https://reactjs.org/docs/introducing-jsx.html, truy cập ngày 07/07/2021

'4 Nguồn: https://www.mongodb.com/nosql-explained, truy cập ngày 07/07/2021

15 Nguồn: https://www.mongodb.com/, truy cập ngày 07/07/2021

16 Nguồn: https://db-engines.com/en/ranking, truy cập ngày 07/07/2021

22

Trang 36

Chương 3 PHAN TÍCH VÀ THIẾT KE HE THONG

31 Muc tiêu

Các mục tiêu em đặt ra cho hệ thống dự đoán giá tiền điện tử:

- Có khả năng tiếp nhận nguồn dữ liệu mới linh hoạt, liên tục

- _ Tốc độ xử lý truy xuất dữ liệu nhanh

- _ Tích hợp các chỉ báo cho biéu dé giá.

- Tao ra các mô hình dự đoán và huấn luyện với các mô hình học sâu như

GRU và LSTM và lựa chọn ra những mô hình hiệu qua nhất

- Dễ dàng thay đổi mô hình dự đoán, so sánh kết quả dự đoán của các mô

Trang 37

3.2.1 Sơ đồ tổng quát

Lựa chọn hiển thị các

chỉ báo lên biểu đồ giá

Hiển thị giá tiền điện tử

Xem kết quả dự đoán giá An

theo thời gian thực

đóng cửa của phiên hiện tại

Bang 3.1 Danh sách các tác nhân

STT Tác nhân của hệ thống Y nghĩa

1 Người sử dụng Người sử dụng ứng dụng web

3.2.3 Danh sách các Use-case

Bang 3.2 Bảng danh sách các Use-case

STT Tên Use-case Y nghĩa

1 Dang ky Dang ky tai khoan website

24

Trang 38

2 Đăng nhập Đăng nhập website

3 Xem các thông tin về giá tiền | Xem thông tin chỉ tiết về giá các loại tiền

điện tử điện tử theo thời gian dựa vào biểu đồ và

các chỉ số liên quan

4 | Lựa chọn hiển thị các chỉ báo | Thay đổi các thành phan hiên thị lên biểu

lên biểu đồ giá đồ giá

5 Xem kết quả dự đoán giá | Dự đoán nhanh giá tiền ảo trong khoảng

đóng cửa của phiên hiện tại | thời gian tới dựa trên mô hình máy học

mặc định đã thiết lập bởi người dùng

6 | Hiên thi giá tiền điện tử theo | Hiên thị thông tin giá tiền điện tử (giá hiện

thời gian thực tại, tỉ lệ tăng giảm qua 24 giờ ) theo thời

gian thực

7 Xem các tin tức tiền điện tử | Liệt kê các tin tức về tiền ảo liên quan

liên quan

8 Dự đoán giá các loại tiền điện | Dự đoán giá tiền ảo trong khoảng thời

tử gian sắp đến dựa vào các mô hình máy

học

9 Lựa chọn số phiên giao dịch | Thay đôi số phiên giao dịch tiếp theo cần

tiếp theo cần dự đoán được ra dự đoán

10 So sánh độ chính xác giữa | Thể hiện các thông tin đánh giá của các

các mô hình dự đoán khác | mô hình dự đoán và mô tả kết quả dự đoán

nhau của các mô hình với nhau

11 So sánh kết quả dự đoán giữa | Thê hiện thông tin dự đoán của các mô

Trang 39

12 Lựa chon mô hình dự đoán | Chọn mô hình mặc định dé kết quả dự

mặc định đoán của mô hình này hiển thị lên trang

Chuyển đến trang Login

Hình 3.2 Sơ do hoạt động chức năng Đăng ký

26

Trang 40

Lưu mã JWT vào local Tạo mã JWT bí mật

Gửi mã JWT trên Header Kiểm tra có tài khoản tương

Authorization ứng với mã JWT không

Gửi thông tin tài khoản tương ss Khong có

ứng 6

Hình 3.3 Sơ do hoạt động chức nang Đăng nhập

3.3.3 Xem các thông tin giá tiền điện tử

Activity Diagram: Hiển thị thông tin giá tiền điện tử

Website API server

Chọn loại tiền điện tử loại biểu đồi loại phiên cần hiển thị

Gửi yêu cầu thời gian phiên gần

nhất

Trả về kết quả thời gian đóng

của của phiên giao dịch gần

nhất

Nhận giá trị thời gian mới nhất |#-|—————————

Gửi yêu cầu dữ liệu lịch sử giá Kiểm tra dữ liệu đã được cache

Lưu kết quả vào cache

Định dạng lại dữ liệu sang

Ngày đăng: 02/10/2024, 05:08

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

TÀI LIỆU LIÊN QUAN

w