LỜI CẢM ƠNKính gửi quý Thầy/Cô, Đề tài “Xây dựng hệ thống giao dịch tự động theo thời gian thực bằng thuật toán họctăng cường kết hợp với học liên tục và công nghệ dit liệu lớn” là một đ
Trang 1ĐẠI HOC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC VA Ki THUAT THONG TIN
NGUYEN MINH TRÍ _ 20522052
NGUYEN TRAN ANH ĐỨC-20521198
KHÓA LUẬN TÓT NGHIỆP
XÂY DỰNG HỆ THÓNG GIAO DỊCH TỰ ĐỘNG
THEO THỜI GIAN THỰC BANG THUẬT TOÁN
HỌC TĂNG CƯỜNG KÉT HỢP VỚI HỌC LIÊN TỤC
VÀ CÔNG NGHỆ DỮ LIỆU LỚN
REAL-TIME AUTOMATED TRADING SYSTEM
USING REINFORCEMENT LEARNING ALGORITHMS
INTEGRATED WITH CONTIOUS LEARNING
AND BIG DATA TECHNOLOGY
CU NHÂN NGÀNH KHOA HỌC DU LIEU
GIANG VIEN HUONG DAN
TS DO TRONG HOP
TS TRAN VAN THANH
TP HO CHÍ MINH, 2024
Trang 2LỜI CẢM ƠN
Kính gửi quý Thầy/Cô,
Đề tài “Xây dựng hệ thống giao dịch tự động theo thời gian thực bằng thuật toán họctăng cường kết hợp với học liên tục và công nghệ dit liệu lớn” là một đề tài lớn màchúng em đã ấp ủ thực hiện trong những năm tháng học tại trường Đại học CôngNghệ Thông Tin Cuối cùng, nó cũng đã thành công và chúng em đã có tự tin để xâydựng thành một khóa luận tốt nghiệp hoàn chỉnh
Dé hoàn thành được khóa luận tốt nghiệp này chúng em xin bày tỏ lòng biết ơn chân
thành, sâu sắc tới hai thầy TS Đỗ Trọng Hợp và TS Trần Văn Thành Nhờ hai thầy
đã tận tình động viên, hướng dẫn, định hướng và giúp đỡ chúng em trong quá trình
thực hiện Các thầy đã có những trao đôi và góp ý hết sức quan trọng dé chúng em có
thé hoàn thành thành dé tài nghiên cứu này.
Chúng em xin chân thành cảm ơn Khoa Khoa học và Kỹ thuật thông tin, các lãnh đạo
nhà trường và các thầy cô đã luôn ủng hộ, quan tâm và tạo mọi điều kiện tốt nhất,thuận lợi nhất cho chúng em trong qua trình học tập và nghiên cứu
Chúng em cũng xin cảm ơn gia đình, bạn bè và người thân đã luôn luôn đồng hành,
cô vũ tinh than, tài trợ và động viên chúng em trong suốt quá trình học tập và thực
hiện nghiên cứu.
Mặc dù, chúng em đã cố gắng hoàn thành tốt nhất đề tài của khoa luận tốt nghiệp này.Nhưng chúng em biết chắc chắn không thé tránh khỏi những sai sót Chúng em rất
mong các quý thầy cô, gia đình bạn bè thông cảm, góp ý cho chúng em dé chúng em
hoàn thiện hơn.
Chân thành cảm ơn và trân trọng
Nguyễn Minh Trí
Nguyễn Tran Anh Đức
Trang 3MỤC LỤC
Chương 1 MỞ ĐẦU 2 2SE2EE2 2 1EE12112112112112112112111.211 1.1.1 xe 2
1.1 Lý do chọn đề tài -:- St St EEEE1221211211211211211211 21.21 1ececree 2
1.2 Mục đích của để tài +ctthHH HH 3
1.2.1 _ Đối tượng nghiên cứu ¿ ¿+¿©++2++2E+tEEEtEEterkesrxrerkesree 4
1.2.2 Phạm vi nghiÊn CỨU - -.- <5 <1 E199 E91 ng ng kt 4
1.3 - Cấu trúc khóa luận -+-+++++ttEEkttttEkkrrttrirrtrirrrrirerieg 6
1.4 Kếtluận ccSvt hình He 7
Chương 2 TÔNG QUAN -2-©2222222+22EE2EE2EE2212212212112711221e 2E xe 8
2.1 Deep Learning trong lĩnh vực tài chính - 5< ++s++ssx+se+sss2 8
2.2 Reinforcement Learning trong lĩnh vực tài chính - «<< =+s++ 8
2.3 Công nghệ Bigdata trong tài chính -s + + x + vsvEssekseerseeeexee 9
2.4 Tìm hiểu về thị trường tiền điện tử và sàn Binance - - 5+: 10
Chương 3 CƠ SỞ LÝ THUYÉT VÀ CÁC NGHIÊN CỨU LIÊN QUAN 12
3.1 Thiết lập môi trường cho thuật toán học tăng cường - 12
3.1.1 Không gian trạng thái (State ŠDaC€) Ăn HS re 12
3.1.2 Không gian hành động (Action Spac€) -ccs-cssssseseerserees 13
3.1.3 Ham điểm thưởng (Reward Function) -s¿©+cs5s+2s++zxcss 13
3.2 _ Thuật toán học tăng cường cho giao Ich 7-5 +sxc+cxssesserseeess 14
3.2.1 _ Thuật toán Deep Q Network (DỌN) - Sài 15
3.2.2 Advantage Actor-Critic (A2C) - cty 16
3.2.3 Proximal Policy Optimization (PPO) ceeeeecceseeeceeseceteeeeeeeeeees 18
3.2.4 Deep Deterministic Policy Gradient (DDPG) 55+ +s<+ 20
3.3 Cac Thuật toán Machine Learning cho việc dự đoản - - 20
Trang 43.3.1 Linear RÑe€gT€SSIOT SG HH H HnHkrn 21
3.3.2 Decision Tree Ñ€BT€SSIOI1 Ăn HH ng 21
3.3.3 Neural NetWOrK LH HH HH HT TH HH nh tr 23
3.3.4 Recurrent Neural NGtWOTK HH nh ru 24
3.3.5 Long Short-Term MemOrVy - - «c5 + 11v tr 25
3.4 K1 thuật học liên tục (Online Learning) «+ s+«ss+sssseereeeres 27
4.1.2 Phương pháp chuẩn hóa dữ liệu -¿ 2 +2 ©5+2++x+zx++zxzxs 37
4.2 Đánh giá các mô hình dự đoán - 6-5 + rrirererske 41
4.2.1 Độ do Mean Square Error (MSE) .ccceceseeseesseeseeeeceseeeeeeeeeeeeseeeees 41
4.2.2 So sánh độ chính xác của các mô hình dự đoán . 42
4.3 Đánh giá các mô hình giao dịch tự động - 5 sssxssecseeseesrsee 44
4.4 Kếtluận ccc ch HH 48
Chương 5 _ XÂY DỰNG HE THÓNG - 2 +2E2EE£EE£EEerxerxrrrrrrxee 49
5.1 _ Tổng quan hệ thống :- + 2£ ©E+SE+EE+EE+EEEEEEEEEEEEEEEEE2EEE121122 2E xe 49
5.2 Quan lý và SIAM sất - - cv HH TH HH ky 50
Trang 55.3 Cài đặt hệ thống -:- St SESt 2E E1 11211211111211211211111 21.11 xe 51
5.3.1 Apache Kafka - HH TH HT nàn tiệt 51
5.3.2 Spark S{T€amIngỹ cọ HH Hư 33
5.3.3 LOGStaSH nh na - 53
5.3.4 Elasticsearch << HH ng 5111k veg 54 h¬‹., ha se 55
5.3.6 Cac services quan lý và giám sất ¿55s tseeerererske 56 5.4 Triển khai hệ thống :- 2© ©E+EE+EE+EE£EEEEEEEEEEEEEEEEEEEEEEEEEEErrkrree 60 5.5 K@t Wan `" š»šắ 44 63
Chương 6 KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHAT TRIÉN 64
6.1 UƯuđiểm G⁄⁄ À 64
6.2 Nhược điểm ết đ@».@ ) / 64
6.3 Phương hướng phát triỀn - 2-2 2 s+EE+E++EE+EE+EeErrerrerrerrerree 65
TÀI LIEU THAM KHÁO ¿+ + ttEEE+E‡EEE‡EEEEEEEEEEESEEEEEEEEEEEEEEEEEkrkrkrrkrkrreree 67
Trang 6Hình 3.3: Hình ảnh minh họa cho thuật toán Decision Tree Regression 22
Hình 3.4: Hình ảnh minh họa cho mang Neural Network đơn giản 23
Hình 3.5: Cách thức hoạt động của chuỗi RNN ¿5-5 25c+cccs+xszccezrcrs 24
Hình 3.6: Cách thức hoạt động của chuỗi LSTM - 2 + 5 2+s=s+sz>x+s+2 25 Hình 3.7: Công thức và hình minh họa của cổng quên mạng LSTM - 26
Hình 3.8: Công thức và hình minh họa của công đầu vào mạng LSTM 26Hình 3.9: Công thức và hình minh họa của cổng đầu ra mạng LSTM 26Hình 3.10: Thiết kế mạng cho học liên tỤC - - ¿5 + + **+++vExeeeeeeeeeereeers 28
Hình 3.11: Thuật toán DQN áp dụng với kĩ thuật học liên tục - 29
Hình 3.12: Cách hoạt động của giao thức Websocket ‹ «+ sc+ssssseresees 30
Hình 3.13: Kiến trúc của Apache Kafka 2-2 25£+S£+E£+EE+E£EzErEerrerrerreee 31Hình 3.14: Kiến trúc của SparkK -¿- + + E+SE+EE+EESEEEEE2E12E121122121121222 1e xe, 33Hình 4.1: Cách chia dữ liệu dé đào tạo, đánh ¬ - - i:iI 35
Hình 4.2: Dữ liệu sau khi đã làm sạch - << c5 52 <1 1 3E **+*2£ EVkeeeseeeeeesee 36
Hình 4.3: Thống kê cơ bản bộ dữ liệu ĂĂ 52c 33+ 1122 EESSEEkesereeezxe 37
Hình 4.4: Biểu đồ làm logarit tự nhiên của ((I-+X) 2-2 2 s+se+xzeczszxezreee 38
Hình 4.5: Dữ liệu sau khi đã được scale - << 3+1 3+ +2 E‡+SEEkeseekeseeeees 38
Hinh 4.6: Ham 03120 00 e 39
Hình 4.7: Hàm sigmoid với tâm là 10 dé chuyên giá tri x về xác suất 40Hình 4.8: Dữ liệu sau khi chuẩn hóa ¿- c6 St +k‡Sk‡EEEEEEE‡EEEEEEEEEEEEEEErEerkerrrkerxrrs 40
Trang 7Hình 4.9: So sánh kết quả dự đoán và kết quả thực tế của các mô hình: Linear
Regression (1), Decision Tree (2), Neural Network (3), RNN (4), LSTM (5) 43
Hình 4.10: Lợi nhuận tích lũy từ thang 1/2024 đến tháng 5/2024 - 44
Hình 4.11: Hành động được thực hiện bởi các thuật toán RL với Linear-DQN(1),
LSTM-DQN(2), A2C(3), PPO(4), DDP(S) ngư 46
Hình 4.12: Sử dung tài khoản cho việc giao dich được thực hiện bởi các thuật toán
RL với Linear-DQN(1), LSTM-DQN(2), A2C(3), PPO(4), DDPG(S) 47
Hình 5.1: So đồ thiết kế hệ thống giao dich.o c.cccecceccessesssessessessessesssessesstsssessessseesess 49Hình 5.2: Sơ đồ toàn diện của hệ thống giao dich tự động -<<<<s+2 51
Hình 5.3: Giao diện Grafana giám sát hệ thống 2-2 2 2+++E++E++zzxezzeee 60 Hình 5.4: Quản lý các khối services bằng Portainer với server l - - 61
Hình 5.5: Quan lý các khối services bằng Portainer với server 2 - 61Hình 5.6: Giao diện trực quan cho để giám sát giao dịch tự động với Kibana 62
Trang 8DANH MỤC BANG
Bảng 4.1: So sánh MSE của các mô hình dự đoán 55555 <<++s++sexssess 42
Bảng 4.2: So sánh điểm thưởng dat được của các thuật toán giao dịch 44
Bảng 5.1: Cai đặt Kafka với cấu hình file Docker-compose - : -:- 52
Bang 5.2: Cài đặt Spark với cấu hình file Docker-compose -. 2-2-2 5: 53 Bang 5.3: Cai đặt Logstash với cau hình file Docker-compose -: 54
Bảng 5.4: Cài đặt Elasticsearch với cấu hình file Docker-eompose - 55
Bang 5.5: Cài đặt Kibana với cấu hình file Docker-compose - 56
Bảng 5.6: Cài đặt Portainer với cấu hình file Docker-compose - . 57
Bảng 5.7: Cai đặt Prometheus với cau hình file Docker-compose - 58
Bảng 5.8: Cấu hình Prometheus dé lay dữ liệu metrix từ hệ thống - 59
Bảng 5.9: Cài đặt Grafana với cấu hình file Docker-eompose . - 60
Trang 9DANH MỤC TU VIET TAT
Tir viét tat Noi dung
DL Deep Learning
RL Reinforcement Learning
DQN Deep Q Network
PPO Proximal Policy Optimization
DDPG Deep Deterministic Policy Gradient
A2C Advantage Actor Critic
RNN Recurrent Neural Network
LSTM Long Short-Term Memory
ELK Elasticsearch, Logstash, Kibana
Trang 10TÓM TẮT KHÓA LUẬN
Giao dich tài chính tự động là lĩnh vực mới mẻ va nó dường như là câu nôi giữa tri
tuệ nhân tạo và tài chính.
Đã có rất nhiều nghiên cứu học thuật chứng minh được tính khả thi trong việc giaodịch băng các thuật toán hoc sâu cũng như học tăng cường [1] [2] Kế thừa từ nhữngkiến thức đó chúng em đã thiết kế ra một hệ thống hoàn chỉnh với việc dự đoán bằng
các thuật toán Machine Learning như Linear Regression, Decision Tree Regression,
RNN, LSTM và việc tạo ra các chiến lược giao dịch hiệu quả từ thuật toán
Reinforcement Learning như Linear-DỌN, LSTM-DỌN, PPO và DDPG.
Binance là một trong những san giao dich có sỐ lượng thuật toán giao dịch tự độnglớn nhất cũng như cung cấp các dữ liệu và api hỗ trợ cho quá trình giao dich tự động
Trong khóa luận nay chúng em sử dụng dữ liệu tiền điện tử lấy từ sàn Binance với 5
mã phô biến nhất ở trên sàn đó là BNBUSDT, BTCUSDT, ETHUSDT, LTCUSDT,XRPUSDT Bên cạnh đó, việc xử ly dit liệu chuỗi thời gian và chuẩn hóa chúng déđưa vào đào tạo luôn là một van đề lớn vì thé chúng em đề xuất viết chuẩn hóa ditliệu với hàm sigmoid kết hợp với hàm logarit
Trong các bai toán với dữ liệu liên tục hay các bai toán với đữ liệu rất là lớn thì việc
đào tạo mô hình rất là khó khăn khi mà lượng Ram máy tính cũng chỉ có hạn Trongkhóa luận này chúng em cũng thiết kế mạng học liên tục cho từng thuật toán đề dễ
dàng và nhanh chóng trong việc bắt kịp những tín hiệu thị trường của mô hình giao
dịch
Nhắc đến hệ thống giao dịch thì thật sự rất là thiếu sót khi không nhắc tới những công
nghệ dữ liệu lớn như Kafka, Spark, Elastic search, Kibana [3] Và trong khóa luận
này chúng em cũng đã thiết kế ra một hệ thống ồn định và hiệu năng cao phù hợp cho
môi trường thực tế
Trang 11Chương 1 MỞ ĐẦU
1.1 Lý do chọn đề tài
Tài chính nói chung và mảng tài chính định lượng nói riêng là một ngành hết sức thú
vị khi nó là giao thoa giữa rất nhiều lĩnh vực từ kinh tế, toán học cho đến trí tuệ nhân
tao dé đưa ra những hướng giải quyết cho những van đề về tiền bạc và giúp cho quyết
định của con người trong lĩnh vực này đưa ra một cách đúng đắn hơn
Chúng em nhận thấy giao dịch tài chính truyền thống có rất nhiều nhược điểm và hạnchế như: Giao dịch tài chính truyền thống dựa vào các quyết định của con người, màcác quyết định này lại phụ thuộc vào những thông tin không hoàn toàn chính xác hoặcđầy đủ Điều này dẫn đến việc dự đoán không chính xác và tăng nguy cơ rủi ro trongđầu tư Ngoài ra, yếu tố tâm lý của con người đóng vai trò quan trọng và có thê dẫn
đến các quyết định không hợp lý Thời gian cũng là một yếu tố quan trọng trong giaodịch tài chính Quyết định mua hoặc bán cổ phiếu cần phải được thực hiện đúng thờiđiểm dé đạt được lợi nhuận tối đa Tuy nhiên, việc phân tích và đưa ra quyết định
trong một khoảng thời gian ngăn là một thách thức lớn đối với con người Sự chậm
trễ trong việc xử lý thông tin và thực hiện giao dịch có thé dẫn đến việc mat cơ hội
hoặc chịu lỗ lớn Với sự phát triển của công nghệ và internet, lượng đữ liệu tài chínhngày càng trở nên không lồ và đa dạng Điều này mang lại rất nhiều tiềm năng và cơhội cho các nhà đầu tư Tuy nhiên, việc phân tích và xử lý một lượng dữ liệu lớn nhưvậy là một thách thức đối với con người Sự xuất hiện của trí tuệ nhân tạo đã mở ra
những kha năng mới trong việc phân tích va dự đoán xu hướng thị trường, giup cải
thiện độ chính xác và giảm thiêu rủi ro trong giao dich.
Nhận thấy những bat cập trên, với niềm đam mê với mảng khoa hoc đữ liệu cũng nhưyêu thích với lĩnh vực tài chính Chúng em đã quyết định nghiên cứu và phát triển đề
tài liên quan đến cả hai lĩnh vực đó là “XÂY DUNG HE THONG GIAO DỊCH TỰ
ĐỘNG THEO THỜI GIAN THỰC BẰNG THUẬT TOÁN HỌC TĂNG CƯỜNGKET HỢP VỚI HỌC LIÊN TỤC VA CÔNG NGHỆ DU LIEU LỚN” Chúng embiết đề tài mang lại nhiều thách thức rất to lớn nhưng không thê phủ nhận nó cũng
Trang 12mang lại rất nhiều lợi ích trên con đường phát triển sự nghiệp trở thành một nhà khoa
học dữ liệu của chúng em.
Về mặt thách thức, đây được xem là lĩnh vực khá là mạo hiểm khi theo đuôi bởi vi
dữ liệu luôn biến động cao và luôn có những yếu tố bất ngờ không thê lường trước
Điều này đã kiến cho không ít người bỏ cuộc và cho nó là không khả thi Ngoài ra,
các kĩ thuật chuẩn hóa dữ liệu, đào đạo mô hình học liên tục dé nắm bắt kịp thời tin
hiệu của thị trường và xây dựng được một hệ thống én định và hiệu năng cao cũng làmột thách thức không hề dễ
Về mặt lợi ích, trong quá trình thực hiện khóa luận chúng em đã học được cách thiết
kế hệ thống, thiết kế mô hình cho việc đào tạo với dit liệu lớn, việc chuẩn hóa dit liệu
và cuối cùng nếu dự án này thành công thì nó sẽ là bàn đạp vững chắc cho quá trình
phân tích và đâu tư tài chính sau này của chúng em.
1.2 Mục đích của đề tài
Mục đích xây dựng đề tài “X4y dựng hệ thống giao dịch tự động theo thời gian thựcbằng thuật toán học tăng cường kết hợp với học liên tục và công nghệ dữ liệu lớn” làphân tích, thiết kế và chọn ra ra một mô hình có thé đưa ra được chiến lược giao dịch
phù hợp với điểm thưởng (lợi nhuận) cao nhất từ các mô hình Linear-DQN,
LSTM-DQN, PPO và DDPG Dựa vào dit liệu quá khứ của các mã tiền điện tử và kết quả dự
đoán của các mạng học máy.
Việc kết hợp các thuật toán Machine Learning để dự đoán và thuật toánReinforcement learning dé giao dịch giúp cho việc giao dịch được tối ưu hóa hơn khikhi mô hình có thé nhìn thấy được các giá trị dự đoán tương lai từ đó có thể thiết kếđược điểm thưởng phù hợp và khả năng kiểm soát rủi ro cao hơn trong việc đưa ra
hành động.
Hệ thống được tạo ra nhằm hỗ trợ các nhà giao dịch thực hiện giao dịch tự động mộtcách nhanh chóng kip thời và có thể tạo ra lợi nhuận Hệ thống có những ưu điểm
Trang 13như khả năng tiếp cận thị trường 24/7, tốc độ xử lý nhanh và loại bỏ được các yếu tố
cảm xúc khi thực hiện giao dịch.
Ngoài ra, đề tài cũng đặt mục tiêu hỗ trợ cộng đồng thông qua việc đánh giá hiệu suất
giao dịch và dự đoán giá của từng thuật toán Cách xử lý đữ liệu và xây dựng hệ thống
hoàn chỉnh.
1.2.1 Đối tượng nghiên cứu
Trong phạm vi nghiên cứu và phát triển của đề tài khóa luận này chúng em tập trungtrọng tâm vào các đối tượng:
- Dir liệu tiền điện tử của sản Binance, cách chuẩn hóa đầu vào và cách lay dữ
liệu thời gian thực.
- _ Thuật toán Machine Learning dé dự đoán trước khi đi vào giao dịch với: Linear
Regression, Decision Tree Regression, Neural Network, RNN và LSTM.
- Thuat toán Reinforcement Learning cho việc đưa ra các hành động giao dich:
Linear-DQN, LSTM-DQN, PPO, DDPG.
- Cac công nghệ dữ liệu lớn: Kafka, Spark Streaming, Elastic Search, Kibana
1.2.2 Pham vi nghiên cứu
Dựa vào mục đích nghiên cứu đã được nêu lên ở trên chúng em đã tiên hành xác định
đề tài với hai phạm vi đó là:
Trang 141.2.2.1 Đào tạo mô hình
a Predict —> Qo(s:,0) Hold Predict ,
lnput , @@ ` alent) oom
Input sv, a?"
—+ Qa(s:,2) Sale
Machine Learning Models Reinforcement Learning Models
- Linear regression - Linear-DQN
- Decision Tree regression - LSTM-DQN
- _ Thực hiện chuẩn hóa dữ liệu va chuyên thành các ma trận đầu vào
- _ Thực hiện dao tao và dự đoán đữ liệu tương lai của đồng BTCUSDT bằng các
thuật toán Machine Learning Sau đó, so sánh hiệu suất độ chính xác của từng
thuật toán dựa vào độ đo MSE.
- Kết hop dữ liệu quá khứ với dữ liệu dự dự đoán trước đó đưa vào dao tạo cho
thuật toán Reinforcement Learning dé đưa ra hành động mua (buy), bán (sell),
giữ (hold) Cuối cùng, so sánh xem mô hình nào tạo ra được nhiều lợi nhuận
nhất khi mà cho mô hình thực hiện giao dịch trên dữ liệu của đồng bitcoin từđầu năm 2024 đến giữa năm 2024
Trang 151.2.2.2 Học liên tục và xây dựng hệ thống giao dịch thời gian thực
- Goi dữ liệu khớp lệnh theo thời gian thực với giao thức Binance API
Websocket băng một Services Python
- Service Python sẽ gửi dữ liệu vào Kafka Kafka đóng vài trò như một bưu
điện trung chuyền dữ liệu tới các Services khác
- Kafka lưu chuyên dữ liệu vào Spark Streaming Tại day Spark Streaming sẽ
gọi các mô hình Machine Learning va Reinforcement Learning dé thực hiệngiao dịch Kết quả giao dịch sẽ được gửi vào database Elasticsearch để lưu giữ
và Kafka tới Service Python dé thuc hién giao dich
- Kibana sẽ có nhiệm vụ là hiển thị giao diện trực quan theo thời gian thực khi
lay dit liệu từ database Elasticseach
- Ngodaira, Kafka cũng lưu chuyền dit liệu giao dich trực tiếp vào Elastic Search
dé hiện thi biéu đồ giá kịp thời tại Kibana
1.3 Cấu trúc khóa luận
Chương 1: Mở đầu
Chương 2: Tổng quan
Trang 16Chương 3: Cơ sở lý thuyết và các nghiên cứu liên quan
Chương 4: Thực nghiệm và đánh giá
Chương 5: Xây dựng hệ thông
Chương 6: Kết luận và phương hướng phát triển
1.4 Kết luận
Trong chương mở đầu của bài báo cáo, chúng em đã nêu ra được lý do, động lực vàmục tiêu đề thực hiện đề tài này Với nhu cầu ứng dụng công nghệ và các thuật toántrí tuệ nhân tạo vào thị trường tài chính ngày càng tăng cao, đặc biệt với cơn sốt trítuệ nhân tạo như hiện nay Chúng em mong muốn góp một phần nhỏ vào sự phát triển
đó cũng như cải thiện các kĩ năng của bản thân.
Về các phần sau, chúng em sẽ nêu ra những van dé gây nhức nhối và những giải pháp
xử lý các vấn đề đó đối với hệ thống giao dịch Chứng minh được tính khả thi khi áp
dụng các thuật toán trí tuệ nhân tạo vào thị trường tài chính.
Đề tài này dựa trên các nghiên cứu về phân tích và giao dịch thị trường tài chính kết
hợp với sự hiểu biết của bản thân về các van đề khoa hoc đữ liệu trong thị trường tài
chính.
Phạm vi nghiên cứu không chỉ dừng lại ở việc phát trién mô hình mà còn là so sánh
và đánh giá các mô hình hiệu quả, kĩ thuật chuẩn hóa dữ liệu, đào tạo với dit liệu lớn
và xây dung một hệ thống bigdata hoàn chỉnh phù hợp với môi trường thực tế
Trang 17Chương 2 TỎNG QUAN
2.1 Deep Learning trong lĩnh vực tài chính
Deep Learning là một lĩnh vực lớn được rẽ nhánh từ Machine Learning và hiện nay
được áp dụng rất rộng rãi trong các lĩnh vực tiêu biểu như thị giác máy tính, xử lý
ngôn ngữ tự nhiên và các bài toán về dữ liệu chuỗi thời gian Thành công vượt trộicủa các lĩnh vực này luôn được sự quan tâm rất lớn từ mọi nguoi, moi tang lớp hiệnnay Với dự phát triển của lĩnh vực Fintech trong những năm gần đây, việc áp dụngcác mô hình Deep Learning vào các dich vụ tài chính ngân hàng dan trở nên phô biến
Tuy nhiên khi đặt lên ban cân so với các lĩnh vực khác thì Deep Learning trong lĩnh
vực tài chính chưa có quá nhiều công trình nổi bat và thiếu rất nhiều tài nguyên.Nhưng nhìn về một khía cạnh nào đó thì tiềm tăng để phát triển đeep learning tronglĩnh vực tài chính vẫn còn rất lớn [4]
Có một điểm cần đáng lưu ý nữa đó là việc xử lý những nguồn dữ liệu phù hợp dékhai thác thực sự đang rất là khó khăn Việc thu thập những nguồn dữ liệu liên quan
có thê là rất lớn, trong khi tam quan trọng của dif liệu và các tương tác phi tuyến tính
phức tạp tiềm tàng trong dữ liệu không được các lý thuyết về kinh tế và tài chính xác
định rõ ràng Trong thực tế, điều này dẫn đến rất nhiều mô hình dự đoán có hiệu quảkém đi rất nhiều [5]
Bên cạnh việc dit đoán còn rất nhiều các phương pháp khác có thé tận dụng DeepLearning dé hỗ trợ đưa ra quyết định một cách tốt hơn tiêu biểu đó là phương pháp
Unsupervise Learning cho việc pháp hiện bất thường [6] và phương pháp
Reinforcement Learning cho việc giao dich tự động với mục tiêu đạt được điểmthưởng cao nhất [1]
2.2 Reinforcement Learning trong lĩnh vực tài chính
Hiện nay, ngành tài chính có những thay đổi rất nhanh chóng và nguyên nhân bắtnguồn do lượng đữ liệu của ngành này ngày càng tăng mạnh theo cấp số nhân Nó đãtạo ra cách mạng hóa các kĩ thuật xử lý và phân tích dữ liệu, đồng thời mang đến
Trang 18những thách thức mới về mặt lý thuyết và tính toán Reinforcement learning là mộttrong những cách tiếp cận mới mẻ về mặt tính toán trong lĩnh vực tài chính [7]
Reinforcement learning giải quyết các nhược điểm của các bài toán học có giám sát
(supervised learning) thông thường là xây dựng một mô hình dự đoán dựa vào dữ liệu
lịch sử Các tiếp cận của Reinforcement Learning mới mẻ ở chỗ nó kết hợp giữa các
bước dự đoán giá của các tài sản tài chính, và bước phân bồ của danh mục trong mộtquy trình thống nhất dé tối ưu hóa mục tiêu của nhà dau tư Trong đó, tac tử (Agent)tương tác với môi trường (environment) dé đưa ra quyết định tối ưu [3] [9]
Hơn nữa, dữ liệu về tài chính là các dữ liệu liên quan tới chuỗi thời gian (time series),
nghĩa là nó thay đồi liên tục theo thời gian Điều này làm cho đữ liệu phù hợp với quátrình quyết định Markov (Markov Decision Processes) Đây là quy trình cốt lõi đểgiải quyết các van dé của thuật toán Reinforcement Learning MDP thu thập toàn bộ
dữ liệu của quá khứ và xác định toàn bộ lịch sử của dữ liệu chỉ trong trạng thái hiện
tại của đặc vụ Điều này rất quan trọng khi mô hình hóa đữ liệu thị trường tài chính
[4].
RL mang lai rất nhiều tiềm năng trong tài chính và đặc biệt là trong giao dịch, bởi vì
nó có khả năng tự học tốt thông qua việc tương tác với môi trường sinh ra điểmthưởng (reward) Nó không chỉ dựa vào đữ liệu lịch sử mà còn có thể tự điều chínhchiến lược giao dich dựa trên phản hồi thực tế của thị trường [5] Điều này giúp thuật
toán nay trở nên tuyệt vời cho việc giao dich và quan lý rủi ro một cách hiệu quả.
2.3 Công nghệ Bigdata trong tài chính
Lĩnh vực tài chính với sự phát triển của dữ liệu và các thuật toán thì theo sau đó là sựnồi lên của các công nghệ mới nhằm đáp ứng nhu cau xử lý, lưu trữ dit liệu lớn vàgiải quyết được các bài toán xử lý dữ liệu liên tục theo thời gian thực (realtime)
Bigdata là một thuật ngữ chỉ khối lượng dữ liệu có kích thước rất lớn được thu thập
từ nhiều nguồn khác nhau Trong lĩnh vực tài chính, dữ liệu có thể bao gồm thông tin
vệ giao dịch tài chính, dtr liệu khách hang, dtr liệu vĩ mô như các bài báo, dữ liệu
Trang 19mạng xã hội với dữ liệu nhiều và được sinh ra liên tục như vậy thì những công nghệ
dữ liệu bình thường hầu như không thê đáp ứng nổi nhu cầu tìm kiếm, phân tích và
xử lý trong thời gian ngắn
Đề xử lý các vấn đề về bigdata thì trong khóa luận này chúng em đề xuất các côngnghệ cốt lõi đó là Kafka, Spark Streaming, ELK Đây là các công nghệ tuyệt vời với
khả năng mở rộng tốt, tính toán và tìm kiếm nhanh chóng, lưu chuyển đữ liệu theo
thời gian thực và rất nhiều ưu điểm khác Sự kết hợp các công nghệ bigdata này, cácthuật toán Reinforcement Learning và Deep Learning quả thật là một hệ thống tuyệt
vời [6]
2.4 Tim hiéu về thị trường tiên điện tử và san Binance
Thị trường tiền điện tử nồi lên từ sự ra đời của Bitcoin vào năm 2009, điều đó đã tạo
ra một trong những bước ngoặt lớn nhất trong lĩnh vực tài chính, nó mở ra nhiều cơhội cũng như thách thức từ các tổ chức tài chính cũng như các nhà đầu tư cá nhân về
thị trường này.
Binance là một sàn giao dịch tiền điện tử nôi tiếng và lớn nhất hiện nay Công ty được
thành lập vào năm 2017 bởi Changpeng Zhang va Yi He Binance thường xuyên dẫn
đầu về khối lượng giao dịch tiền điện tử, với con số trung bình hàng ngày thườngvượt qua mức 10 tỷ đô la Mỹ chiếm khoảng 25% tổng khối lượng giao dịch tiền điện
tử toàn cầu
Công nghệ là một yếu tốt then chốt giúp Binance duy trì vị thế dẫn dau Đặc biết vớiVIỆC cung cấp các dịch vu API cho việc lấy dữ liệu thời gian thực cũng như thực hiệngiao dịch qua API Điều này giúp các nhà giao dịch tính toán và thực hiện giao dịchtheo cách riêng Đặc biệt là phân tích và thực hiện giao dịch tự động băng các thuậttoán và mô hình giao dịch Đây cũng là lý do mà nhóm em quyết định lấy dữ liệu thời
gian thực từ API của sản Binance dé thực hiện giao dịch tự động băng thuật toán
Reinforcement Learning.
10
Trang 20Triển vọng tương lai của Binance rat tích cực, với sự phát triển không ngừng nghỉcủa thị trường tiền điện tử và blockchain Binance dự kiến sẽ tiếp tục mở rộng cácdịch vụ và sản phẩm của mình, tập trung vào việc cải tiễn công nghệ và tuân thủ quyđịnh dé đáp ứng nhu cầu ngày càng gia tăng của người dùng Công ty cũng sẽ tiếp tục
hỗ trợ các dự án blockchain tiềm năng thông qua Binance Launchpad và các quỹ đầu
tư, góp phần thúc day sự phát triển của hệ sinh thái blockchain toàn cầu Trong bốicảnh thị trường tiền điện tử tiếp tục phát triển và biến đôi, Binance với tầm nhìn dàihạn và chiến lược phat trién linh hoat, dang chuẩn bị tốt dé nắm bắt các cơ hội va
vượt qua các thách thức trong tương lai.
11
Trang 21Chương 3 CƠ SỞ LÝ THUYET VA CÁC NGHIÊN CỨU LIÊN QUAN
3.1 Thiết lập môi trường cho thuật toán học tăng cường
Với nhiệm vụ giao dịch cô phiêu một cách tự động của thuật toán học tăng cường
(Reinforcement Learning) Thì môi trường (environment) được xem xét là ngẫu nhiên
và tương tác với thị trường Dé làm được những điều này, chúng em đã thiết lập môi
trường cho thuật toán học tăng cường với mô hình Markov Decision Process (MDP)
[3] Day là một phương pháp dùng dé mô phỏng các quyết định giao dịch trong một
môi trường có tính chat ngau nhiên.
Hình 3.1: Tổng quan quy trình hoạt động của một thuật toán Reinforcement Learning
Bằng cách tương tác với môi trường bằng hành động (action), tác tử (Agent) sẽ cốgăng tạo ra chiến lược giao dịch với lợi nhuận tối đa (reward) khi thời gian dao tạo
tăng dan.
3.1.1 Không gian trạng thai (State Space)
Không gian trạng thái miêu tả quan sát của Agent nhận được từ môi trường
(Environment) Giống như những nhà giao dịch cần phân tích rất là nhiều thông tintrước khi đưa ra quyết định giao dịch Tương tự như vậy, chúng em đã xây dựngkhông gian trạng thái mà Agent có thể quan sát với nhiều đặc trưng (feature), điềunày nhằm cho Agent có thể học tập tốt hơn khi tương tác với môi trường
Những đặc trưng khi đưa vào không gian trạng thái đó là:
- Balance b, € R„: là số tiền còn lại trong tài khoản tại thời điểm t
- Future Price p, € R,: là giá Bitcoin dự đoán từ các mô hình Deep Learning
12
Trang 22- OpNBt› PBNBt ĐpBNBt› CswBt› PBNBt SBNBt là các thuộc tính open_ time, close,
volume, count, taker_buy_volume, symbol của đồng tiền BNBUSDT tại thờiđiểm t
- Oprct Dprct› Đprct› Cgrct› Perct.Sprcc: là các thuộc tính open_time, close,
volume, count, taker_buy_ volume, symbol của đồng tiền BTCUSDT tại thời
điểm t
- Ogrht Dgrht› Dgrht› Cgrht› Pgrmt Serut: là các thuộc tính open_time, close,
volume, count, taker_buy_volume, symbol của đồng tiền ETHUSDT tại thờiđiểm t
~ Onrce Piece Virce Circe PưrceSurcc: là các thuộc tính open time, close,
volume, count, taker_buy_ volume, symbol của đồng tiền LTCUSDT tại thờiđiểm t
- Oxppt›xRpt› Uxrpt CxRpt› Oxrpt Sxrpt: là các thuộc tính open_time, close,
volume, count, taker_buy_volume, symbol của đồng tiền XRPUSDT tại thờiđiểm t
3.1.2 Không gian hành động (Action Space)
Không gian hành động miêu tả hành động được đưa ra khi A gent có những tương tác
với môi trường Trong hệ thống giao dịch này hành động a € A bao gồm ba hành
động a € {0,1,2}, với 0 tương ứng với hành động giữ gia (hold), 1 tương ứng với hành động mua (buy) và 2 tương ứng với hành động bán (sell)
3.1.3 Ham điểm thưởng (Reward Function)
Hàm điểm thưởng là một cơ chế giúp cho Agent biết được nên thực hiện hành động
nào và không nên thực hiện hành động nao Việc thiết kế một hàm điểm thưởng tốt
sẽ giúp rât nhiêu cho việc học của Agent trở nên nhanh chóng và tôt hơn.
Có rất nhiều cách thiết kế hàm điểm thưởng và trong quá trình nghiên cứu chúng
em đã quyét định thiết kế theo công thức:
13
Trang 23TẤS¿, Qe, St41) = Ver — Ve
Trong đó,
- _ r: là điểm thưởng
- s;: là trạng thái tại thời điểm hiện tại
- Sty: là trạng thái tương lai
- v,: là giá của sản phẩm tài chính ở trạng thái hiện tại s,
- ¿¿¡: là giá của sản phẩm tài chính ở trạng thái s,4,
Thêm vào đó, vì có dữ liệu dự đoán với Machine Learning vì thế điểm thưởng sẽthêm vào một chút đều kiện:
- _ Nếu xu hướng tăng và hành động là mua (buy) thì sẽ được cộng thêm điểm
thưởng:
- Nếu xu hướng có dấu hiệu giảm mà hành động là bán (sell) thì sẽ được cộng
thêm điểm thưởng
Vì thế nếu là hành động giữ (hold) thì điểm thưởng vẫn giữ nguyên như ở trên và nếuthực hiện hai hành động còn lại thì điểm thưởng sẽ là:
T (St, Qt S¿+q+) = Vier — 0¿ + ứ.trend
trend = Đi — Vt
Trong đó, Ø¿„¡ là gia bitcoin được dự đoán từ mô hình Machine Learning va a là
trọng sô.
3.2 Thuật toán học tăng cường cho giao dịch
Hoc tăng cường (Reinforcement Learning) là một phương pháp học máy (Machine
Learning) đặc biệt khi nó lấy dữ liệu thông qua việc tương tác với môi trường vớimục tiêu là tạo ra một chiến lược giao dịch có thể mang lại lợi nhuận cao nhất (reward)
với ba hanh động được thực hiện là mua (buy), ban (sell) và giữ (hold)
14
Trang 243.2.1 Thuật toán Deep Q Network (DQN)
Nhắc đến học tăng cường thì không thé không nói đến thuật toán Deep Q Learning
Đây được xem như là thuật toán tiền đề cho những thuật toán học tăng cường nâng
cao sau này [4] Thuật toán DỌN dựa trên một hàm giá tri gọi là hàm Q, hàm Q này
được sử dụng đề đánh giá tiềm năng của việc thực hiện các hành động trong các trạng
thái cụ thể.
Trước tiên, giá tri lợi nhuận dựa trên việc khởi tạo trạng thái hiện tại (s,) và chiếnlược (policy) [a,|s,] đưa ra a; khi nhận đầu vào là trạng thái s, Từ trạng thái này
đi qua các chuỗi trạng thái tiếp theo tạo ra hành động a (action) va từ đó tính toán ra
điểm thưởng 7 (reward).
Nhìn chung, chiến lược 7r[a,|s¿], xác suất chuyên trạng thái khi có trạng thái khởi tạo
s¿ và sau khi thực hiện hành động a; thì sẽ đi tới trạng thái s¿„;, và nhận được điểmthưởng 7, được viết ngắn gọn là xác suất chuyền trạng thái Pr(s;41|s¢, a;) và xác suấtđiểm thưởng PrŒ,|s,,a¿) đều sẽ là ngẫu nhiên bởi vì lúc đầu a, sẽ được khởi tạongẫu nhiên Ta có công thức giá trị của trang thái khi dựa vào chiến lược Z[a|s] là:
1|[s¿|m ] = » 7[a¿|s¿] | r[a¿,s¿ly + y » Pr (S¿+1|Se, đ;)0[s¿++ |]
at St+1
Tương tự như vậy, giá trị của hành động a (action) dựa vào chiến lược 7[đ|s] là phầnthưởng trực tiếp 7:4, = r[ø¿, s;] thu được từ việc thực hiện hành động hành động đó
Nếu bạn đọc đến đây chắc sẽ có thắc mắc vậy S;4, là trạng thái tương lai vậy lay ở
đâu Thì trong code chúng ta đã có dữ liệu đào tạo vì thế nên trạng thái Š, và S;„; đã
có san và việc tính toán này chỉ tính toán trong dữ liệu train chứ không phải là trong
việc dự đoán.
Tiếp theo, là tới công thức dé đưa ra giá trị hành động khi dựa vào chiến lược 7 là
pls, ala] = r[a¿, se] + y » Pr(S¿¿+|s¿, Qe) [s¿++ |rrÌ
St+1
15
Trang 25Và cuối cùng khi có các giá tri của hành động chúng ta thực hiện việc update lại chochiến lược (policy) với việc tối đa hóa giá trị của hành động:
7[a¿|s¿|' — argmax,,[Pr (S¿+1, đ¿)(r[S¿, a] + Y- V[St41))]
Trong quá trình dao tao (trainning) việc tính toán nay sẽ lặp đi lặp lại cho tới khi chiếnlược 7 (policy) đạt được hành động tốt nhất [8]
Trong việc giao dịch, không gian trạng thái hành động rất lớn và phức tạp Vì thé, giá
trị biểu diễn rời rac q(s;, a) của các hành động nên được thay thế bằng một mô hình
học máy và giá trị hành động của chúng ta sẽ viết lại thành q(s;, a, @) Và chúng ta
xác định hàm mắt mát với công thức Huber loss [5]:
3.2.2 Advantage Actor-Critic (A2C)
Thuật toán Actor-Critic là một mạng hoc tăng cường cải tiến với ý tưởng là kết hợp
giữa phương pháp dựa trên chính sách (Actor) và phương pháp dựa trên giá trị
(Critic) Phương pháp kết hợp này nhằm giúp giải quyết được các hạn chế của từng
phương pháp riêng lẻ gặp phải [8].
16
Trang 26Trong mạng A2C, Tác tử (agent hay actor) sẽ học một chính sách cụ thé và đưa raquyết định, và ham giá tri (Critic) sẽ đánh giá hành động đưa ra bởi tác tử và mục tiêuSau cùng vẫn là đưa ra hành động có thê đạt được điểm thưởng (reward) cao nhất.
Khi nhắc tới mạng A2C ta lưu ý tới 2 thành phần chính sách (Actor) sẽ được viết dướidạng m[a|s] đại dién cho xác xuất thực hiện hành động a (action) khi có đầu vào làtrạng thái s (state) Va hàm giá tri (Critic) được viết dưới dang V(s), biểu thị nó là giátrị kì vọng ước tính của điểm thưởng (reward) khi bắt đầu từ trạng thai s (state)
Với việc cập nhật giá trị chính sách (Policy Gradient of Actor) ta có công thức:
- A(s,a): là hàm đo lợi thế khi thực hiện hành động a ở trạng thái s
- i: đại diện cho thứ tự mẫu dữ liệu.
- Œ: gia tri học của mang Actor (learning rate).
- _ £: là bước thời gian trong một chu ki dao tạo.
Theo sau đó, ta có hàm cập nhật giá trị (Value Function of Critic):
Trang 27- Q,,(s;, @;): giá trị hành động ước tính khi thực hiện hành động a.
- i: đại diện cho thứ tự mẫu dữ liệu.
- w: đại diện cho tham số mang Critic
- _Ø: là trị học của mang Critic (learning rate).
Ham đo lợi ích của việc thực hiện hành động hay còn gọi là hàm lợi thế A(s, a) như
đã nói ở trên được tính theo công thức:
A(s,a) = Q(s,a) — V(s)
Hàm này đo lường việc thực hiện hành động tốt lên hay xây đi khi so sánh với giá trị
trung bình của hành động.
Những công thức ở trên đã là những tính toán quan trọng nhất trong mạng A2C mà
chúng em thực hiện trong dự án này.
3.2.3 Proximal Policy Optimization (PPO)
PPO là thuật toán thuộc nhóm chính sách gradient (policy gradient method) cua thuật
toán học tăng cường Thuật toán này là cung cấp cho sự cải tiễn tối ưu hóa vùng tincậy (TRPO), nó được ra mắt vào năm 2017 và phát hành bởi OpenAI
Việc tính toán ước lượng đạo hàm (gradient) của thuật toán PPO sẽ được tính toán
Trang 28- £,: kì vọng thực nghiệm trên mỗi lô mẫu (batch sample)
Tiếp theo, ti lệ xác suất giữa chính sách cũ (old policies) và chính sách mới (newpolicies) được viết theo công thức:
Sau đó, ta có công thức cái tiến vùng lân cân (TRPO) sẽ là
JT®?°(8) = Ê,[r(8) Âs,„„(s, 4) ]
Bởi vì việc không có giới hạn về khoảng cách giữa Ø„;z và Ø sẽ dẫn tới tính không
ồn định, các cập nhật tham số sẽ cực kì lớn và tỷ lệ chính sách dé tối đa hóa JTRP9
cũng sẽ rất lớn Vì thế, thuật toán PPO đã đặt ra các ràng buộc bằng cách bắt buộcr(@) phải nằm trong một khoảng nhỏ cung quanh 1, cụ thé là [1 — e, 1 + e], trong đó
e là một siêu tham so [10]
J? (0) = Ê,[min (7,(8) Â,, clip(%(@), 1 — e,1 + e)Ã,)]
+
Hình 3.2: Ham Mất Mat CLIP theo Tỷ Lệ Hanh Động (PPO) voi Diéu Kién Advantage
Trong do:
- JC!P(9): là hàm mat mát của PPO
- _ (Ø8): là tỉ lệ xác suât giữa chính sách mới và chính sách cũ
19
Trang 29Cuối cùng, để cập nhật chính sách, chúng em sử dụng thuật toán Adam dé tối ưu hàm
mat mát J°1? (9)
3.2.4 Deep Deterministic Policy Gradient (DDPG)
Thuật toán DDPG (Deep Deterministic Policy Gradient) là một thuật toán nồi tiếng
trong việc dao tạo các chính sách (policy) trong các môi trường có dit liệu liên tục va
không gian hành động cũng trở nên liên tục như thị trường tài chính [11].
Ý tưởng của DDPG là kết hợp giữ thuật toán DQN ở phía trên và chính sách gradient
(policy gradient) Điều này làm cho DDPG trở thành một thuật toán hiệu quả cho việc
giao dịch.
Dữ liệu đầu vào của DDPG sẽ được mô hình hóa theo dạng (s,ø,?,s”, đ) với s làtrạng thái hiện tại, a là hành động hiện tại, r là điểm thưởng, s’ là trạng thái tương lai,
và đ là tham số biéu thị liệu trạng thái s” có phải là trạng thái cuối cùng hay chưa [12]
Việc tính toán kết quả sẽ có công thức:
yứ,s”,d) =r +y( — đ)Qa,„„„(S”, Mạ, „„„(S”))
Việc cập nhật hàm Q được tính theo từng bước nhảy của đạo hàm xuống điểm thấpnhất (Gradient Descent):
3.3 Cac Thuật toán Machine Learning cho việc dự đoán
Khi nhắc tới Machine Learning trong tài chính ta luôn nghĩ ngay tới việc dự đoán.
Quả thật Machine Learning luôn đưa cho chúng ra những kết quả dự đoán một cách
20
Trang 30chính xác đến bat ngờ Thật là thiếu sót nếu chúng ta không tận dụng những kết qua
dự đoán đó và đưa vào đề làm đầu vào cũng như là thiết kế điểm thưởng cho thuật
toán Reinforcement Learning.
3.3.1 Linear Regression
Hồi quy tuyến tinh (Linear Regression) được xem là bài toán cơ ban nhất của MachineLearning trong việc dự đoán nhưng một vài trường hợp nó cho chúng ta những kếtquả dự đoán tương đối hiệu qua [14] Công thức của hồi quy tuyến tinh bao đồm mộtbiến độc lập và một biến phụ thuộc:
- n:lasé lượng thuộc tinh
3.3.2 Decision Tree Regression
Mô hình hồi quy cây quyết định (Decision Tree Regression) hoạt động bang cáchphân tích các đặc trưng của đối tượng và sử dụng các thông tin này dé xây dựng mộtcau trúc cây nhằm huấn luyện mô hình học máy Cấu trúc cây này được phát triển
dựa trên việc phân chia dữ liệu thành các nhánh, mỗi nhánh đại diện cho một tập hợp
các giá trị của các đặc trưng cụ thé Sau đó, mô hình sử dụng cây quyết định này dé
dự đoán các giá tri liên tục cho dữ liệu tương lai.
21
Trang 31Khác với các mô hình dự đoán đầu ra rời rạc, mô hình hồi quy cây quyết định tạo ra
các đầu ra liên tục có ý nghĩa Điều này có nghĩa là kết quả không bị giới hạn trong
một tập hợp các giá trị rời rạc đã biết trước, mà thay vào đó, đầu ra có thể biến đổilinh hoạt và biểu diễn dưới dạng một dải liên tục các giá tri Điều này rất hữu ích
trong nhiều ứng dụng thực tiễn, chăng hạn như dự đoán giá nhà, dự đoán doanh thu,
hoặc các bai toán dự đoán khác mà dau ra cân phải là các giá trị sô không gián đoạn.
Hình 3.3: Hình anh minh họa cho thuật toán Decision Tree Regression
Vi dụ dau ra của giá tri roi giac như việc dự đoán cảm xúc sẽ có 3 nhãn 0 — neutral,
1 — positive, 2 — negative Thì đây chính là giá tri rời rac Ngược lại, ví dụ với dau ra
là giá trị liên tục nó sẽ là lợi nhuận dự đoán hay giá trị dự đoán cô phiêu, và giá tri
này thường sẽ là một số thập phân [14]
22
Trang 323.3.3 Neural Network
Mang Neural Network là một mô hình tính toán được lay cảm hứng từ mang than
kinh trong bộ não con người Bên cạnh đó, Mạng Neural còn được xem như là thành
phan cốt lõi nhất của Deep Learning
Input Layer Hidden Layer Output Layer
Hinh 3.4: Hinh anh minh hoa cho mang Neural Network don gian.
Một mang neural cơ bản sẽ có 3 lớp đó là lớp đầu vào, lớp ân và lớp đầu ra
Lớp đầu vào (input layer): lớp này chứa các neural đặc trưng của dir liệu đầu vào,
Quá trình học của mạng neural là sau khi tính toán được lớp dau ra thì sẽ lay giá tri
trung bình bình phương độ lỗi (MSE) sau đó là lay đạo hàm chuỗi (Gradient) và cập nhật lại các trọng số cho mạng neural hay còn gọi là lan truyền ngược
(backpropagation) [9].
23
Trang 333.3.4 Recurrent Neural Network
Mang Neural hồi quy (RNN) được thiết kế dé xử lý những dé liệu có tính tuần tự và
những dữ liệu chuỗi thời gian (Time series).
Điểm khác biệt giữa mạng RNN và mạng Neural Network như đã đề cập ở phía trên
đó là RNN có khả năng lưu trữ thông tin trạng thái trước đó thông qua các vòng lặp
(recurrent connections) Điều này giúp cho trước khi đưa ra kết quả dự đoán thì RNN
không chỉ nhìn ở dữ liệu hiện tại mà còn xem xem những dữ liệu ở quá khứ nữa [15].
q) ) @)
Hình 3.5: Cách thức hoạt động cua chuối RNN
Quá trình tính toán của mạng hồi quy RNN được biểu diễn bằng các công thức dưới
- x¿: là đầu vào tại thời điểm t
- hy: là trạng thái ân tại thời điểm t
- 0¿: là giá trị dau ra trung gian tai thời điểm t
24
Trang 34- 9,: là dự đoán đầu ra tại thời điểm t.
- œ;: là giá trị trung gian tại thời điểm t
- b,c: là các bias.
- U,W,V: là các ma trận trọng số
3.3.5 Long Short-Term Memory
LSTM là một kiến trúc mạng Neural đặc biệt, nó là phiên bản cải tiến của mạng RNN
ở trên khi nó có thé xử lý được dữ liệu chuỗi dai và giải quyết vấn đề biến mat đạohàm khi mạng thiết kế quá dài (gradient vanishing)
LSTM có thé học được các phụ thuộc dài hạn của dữ liệu nhờ vào cơ chế gọi là bộ
nhớ tế nào (cell memory) Nó được thiết kế là một chuỗi thông tin đi qua mạng, chophép thông tin truyền qua một cách dé dang mà không bị thay đồi nhiều [15]
6) (h) @)
&)
Hình 3.6: Cách thức hoạt động cua chuỗi LSTM
Trái ngược với tiền thân là mạng RNN trước đó được thiết kế với một tầng tanh đơngiản Mạng LSTM được thiết kế phức tạp hơn với bốn tầng với các nhiệm vụ riêngbiết khác nhau
Công Quên (forget gate): mục đích để xóa những thông tin không cần thiết ra khỏingữ cảnh Bên cạnh đó, công quên cho phép cập nhật những thông tin mới và lưu giữgiá trị của những thông tin khi nó thay đổi theo thời gian
25
Trang 35fi fi =o (Wy |he-1, tt] + bự)
Hình 3.7: Công thức va hình minh hoa của cổng quên mạng LSTM
Công đầu vào (input gate): sẽ quyết định đượng thông tin nào sẽ được lưu giữ và ngữ
cảnh hiện tại.
Ớ; =tanh(We-[hi_-1, 24] + be)
Hình 3.8: Công thức và hình minh họa của cong dau vào mạng LSTM
Công đầu ra (output gate): quyết định những thông tin nào có trong trạng thái tế bào(cell state) sẽ cần thiết để sử dụng làm kết quả đầu ra, và cũng là thông tin của trạng
thái an hiện tại hạ.
Trang 36Với những kiến trúc phân chia các chức năng riêng biệt cho các cổng như vậy khiêncho LSTM luôn là một mạng luôn được nghĩ đến đầu tiên cho việc xử ly dt liệu chuỗi
thời gian (time series).
3.4 Kĩ thuật học liên tục (Online Learning)
Dé phát triển được một hệ thống Deep Learning hiệu quả không phải chỉ thiết kế mộtcái mô hình và đào tạo nó xong thì thôi mà cần phải đáp ứng được rất là nhiều yêu tố
xung quanh và nó bao gôm:
- Tinh linh hoạt: Mô hình sau khi đào tạo xong vẫn có thé dao tạo tiếp mà không
cần phải huần luyện lại từ dau.
- Kha năng phản ứng nhanh: dữ liệu luôn thay đôi liên tục đặc biệt là dữ liệu tài
chính, điều đó bắt buộc mô hình phải học được những biến động đó ngay lậptức và đưa ra chiến lược giao dịch đúng đắn, nếu không sẽ có những hậu quả
không lường trước được xảy ra.
- _ Tính ồn định: mô hình phải vừa học được dữ liệu mới nhưng vẫn phải dự đoán
một cách nhanh chóng và hạn chế thấp nhất việc xảy ra lỗi
- _ Tiết kiệm tài nguyên: van đề tiết kiệm tài nguyên luôn được đặt lên hàn đầu vì
máy tính của chúng ta có giới hạn và còn chạy các service khác nữa, việc đào
tạo quá nhiều tài nguyên sẽ rất ảnh hưởng cho hệ thống Thêm vào đó, việctiết kiệm tài nguyên sẽ giúp chúng ta tiết kiệm được tài chình đi rất là nhiều
- _ Tận dụng tối da dữ liệu lớn (Bigdata): như chúng ta biết, kỉ nguyên AI được
bat đầu là do trước đó là ki nguyên của dit liệu lớn, một mô hình AI tốt là môhình tận dụng tối đa được dữ liệu lớn Nhưng với những thiết kế thông thường
thì việc load hết tat cả dữ liệu dé đào tạo là điều không thé [13]
Dé giải quyết được những van đề trên, nhóm chúng em xin đề xuất cách thiết kế cho
mô hình học liên tục (Online Learning).
27
Trang 37Hình 3.10: Thiết kế mang cho học liên tục
Kiến trúc học liên tục chúng em đề xuất ở đây đó chính là kiến trúc Target-Policy[13] Kiến trúc Target-Policy là một phương pháp được thiết kế dựa trên hai mạngNeural giống nhau nhưng có chức năng hoàn toàn riêng biệt Mang Policy sẽ có nhiệm
vụ là học tập (training) và mạng Target được dùng đề dự đoán (predict) Cả hai mạngnày đều sẽ hoạt động đồng thời trong quá trình đào tạo và dự đoán đữ liệu realtime
Cơ chế hoạt động sẽ là khi dit liệu đồ về thì nó sẽ đồng thời tach ra đi theo hai hướng
đến hai mạng Target và Policy tại đây mạng Target vẫn làm nhiệm vụ dự đoán bìnhthường va Policy sẽ có hang học các đặc trưng mới nhất của dit liệu Sau đó, chúng
em thiết lập việc cập nhật định kì tham số của mạng Policy cho mạng Target
28
Trang 38Hình 3.11: Thuật toán DỌN áp dụng với ki thuật học liên tục
Tuy kĩ thuật nghe qua có vẻ khá đơn giản, nhưng nó lại đặc biệt hiệu quả đến lạthường và mạng lại giá trị rất là lớn cho việc phát triển các mô hình Deep Learning
và Reinforcement learning.
3.5 Công nghệ dữ liệu lon.
Đề có được những mô hình Deep Learning chất lượng thì không thé không nói đếnnhững người bạn đồng hành luôn đi cùng đó chính là các công nghệ đữ liệu lớn.Những công nghệ này đã luôn âm thầm hỗ trợ chúng ta để có được một sản phẩmcông nghệ thông tin chất lượng và phục vụ khách hàng tốt nhất có thẻ
Dưới đây chính là các công nghệ chúng em nghiên cứu và đưa vào sử dụng cho hệ
thống, và đặc biệt phù hợp với nhu cầu thị trường hiện nay
3.5.1 Websocket API
Websocket là một giao thức truyền thông mang full-duplex có nghĩa là nó cho phép
giao tiếp hai chiều giữa máy client và máy server thông qua tạo một kết nối TCP duy
nhất
Giao thức Websocket là một giao thức mở và được sử dụng rất rộng rãi dé phát triểncho các ứng dụng về thời gian thực
29
Trang 39CLIENT SERVER
Handshake (HTTP Upgrade)
«
Open and persistent connection
One sides closes channel
'
'
‘ ' i +!
+
! '
‘ '
' connection closed
' +!
Hình 3.12: Cách hoạt động của giao thức Websocket
Trong dự án này, chúng em sử dụng giao thức websocket api dé lay dữ liệu khớp lệnhthời gian thực của 5 mã tiền điện tử phô biến nhát trên sàn Binance Đây là giao thứcđầu tiên và cũng là quan trọng nhất cho dự án vì dữ liệu lấy về là realtime và phải có
dữ liệu thì mới đến được các bước tiếp theo
3.5.2 Apache Kafka
Apache Kafka là một kiến trúc phân tán với nhiệm vụ chính đó là phân phối dữ liệu.Được biết đến là một nền tảng rất mạnh mẽ và được áp dụng rất rộng rãi trong các hệthống lớn ngày nay dé xử lý luồng đữ liệu theo thời gian thực và các sự kiện đặc biệtcần tốc độ cao Và đặc biệt, Kafka thường được áp dụng trong các hệ thống
microservices.
30