Kết quả dự đoán dựa trên 2 thang đo RMSE và MAPE và đánh giá danh mục đầu tư của tôi trên bộ dữ liệu của tác giả Zhiwen Zeng và bộ dữ liệu tự thu thập của 3 cặp tiền tệ cho thấy rằng phư
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN KHOA KHOA HOC VA KY THUAT THONG TIN
NGO DUC VU — 20520950
KHOA LUAN TOT NGHIEP
XAY DUNG HE THONG GIAO DICH THI TRUONG
NGOAI HOI THOI GIAN THUC SU DUNG CONG NGHE
DU LIEU LON VA HOC TANG CUONG
BUILDING A REAL-TIME FOREX TRADING
SYSTEM USING BIG DATA TECHNOLOGY AND
REINFORCEMENT LEARNING
CU NHAN NGANH KHOA HOC DU LIEU
GIANG VIEN HUONG DAN
TS DO TRONG HỢP, TS TRAN VAN THÀNH
TP HO CHÍ MINH, 2024
Trang 2THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số
Tigầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 3LỜI CẢM ƠN
Kính gửi Thầy/Cô,
Đề tài "Xây dựng hệ thống giao dịch thị trường ngoại hối thời gian thực sửdụng công nghệ dữ liệu lớn và học tăng cường" là tâm huyết mà tôi đã chon dénghiên cứu và thực hiện khóa luận tốt nghiệp sau bốn năm theo học chương trình
cử nhân ngành Khoa học Dữ liệu tại trường Đại học Công nghệ Thông tin.
Tôi xin chân thành cảm ơn TS Đỗ Trọng Hợp và TS Trần Văn Thành,người đã là nguồn động viên và hướng dẫn tôi một cách tận tâm trước và trongquá trình thực hiện đề tài Những lời thầy chỉ bảo và kiến thức sâu rộng đã giúptôi vượt qua những thách thức, đồng thời làm cho khóa luận trở nên linh hoạt và
đầy đủ
Không thê không đề cập đến sự hỗ trợ và tạo điều kiện thuận lợi từ Khoa
Khoa học và Kỹ thuật thông tin, lãnh đạo, thầy cô và các anh chi sinh viên tạitrường Đại học Công nghệ Thông tin Điều này đã giúp tôi có một môi trường
làm việc tích cực và hiệu quả.
Cuối cùng, tôi muốn bày tỏ lòng biết ơn đặc biệt đến gia đình và bạn bè,những người đã luôn bên tôi, động viên và chia sẻ niềm vui trong suốt quá trình
học tập và nghiên cứu.
Chân thành cảm ơn và trân trọng.
Ngô Đức Vũ
Trang 4MỤC LỤC
M98 (09:00 9
M.90;0 00/7) ÔÓÔÚÔ,ỎỎ 11
DANH MỤC TỪ VIET TẮTT -cc2+t+°22SSEEE222114122271441121221 111211 11tr 12
TÓM TAT KHÓA LUẬN -2-+ccccStirrevEEtrierrtrrtrrrrtrrirrrtrrrrrrtrrrrrrrrrrrrrre 13
Chương 1 MỞ ĐẦU -22+-s2.c tt EEEEEtEEEtEEEErEErtrrvrrrrrrrrrrrrrrrrer 14
LL ngoc ẽỒ 14
1.2 Mục đích của đề tài -ccsseerztrerzErterErrirrvrtrrrrrrrrtrrrrrrrrrrerrre 15
1.2.1 _ Đối tượng nghiên cứu -cceereecerreeeerrererrrrrerrrree 15
1.2.2 Pham vi nghiên CỨU cccccsc5S<c+eEEeEktrttrttktrtkrrtkrkrrkrriirrrrree 15 1.3 Cau trtic khOa sẽ hố ẽ 16 1.4 Kếtluận <a oS Se es ee 16
Chương 2 TONG QUAN eessssassssssssassesnnstassesssesistesssesisesssntsusnessnsssnesansssessnnesssnesne 18
2.1 Deep Reinforment Learning trong lĩnh vực tài chính -‹ 18
2.2 Công nghệ Big Data trong lĩnh vực tài chính -. -c-«seccserereeee 18
2.3 Kết hợp công nghệ Big Data và học tăng cường sâu dé xây dựng hệ thống
tính toán thời ian thựỰC -ss+xxt thà Hàn Hà Hà Hà Hàng phang nnttkt 20
Chương 3 CƠ SỞ LÝ THUYẾT VA CÁC NGHIÊN CỨU LIEN QUAN 21
3.1 Tìm hiểu thị trường ngoại hối : ccccrreeeetrrtereetrrrererrrrrerrrrrrerrte 21
3.2 Tìm hiểu về truyền dữ liệu sử dụng Apache Kafka - 21
3.3 Xử lý dữ liệu với Apache SparK -crretrririreiiiiiiiriiiieriie 23
3.4 Tổng quan về học tăng cường cccccccirreevvvetrrirervertrrrrrrsrertrrrrrsrerre 25
3.5 Thuật toán DON (Deep Q-NetworK) -c-cccekieeikiiiiiiriree 26
3.5.1 Q-Learning cHHHnHH nhà nành Hy 26
Trang 53.5.2 Deep Q-Learning csceccekhhhnhnH Hàn nhàn Hy 27
3.6 Thuật toán Proximal Policy Optimization (PPO) c-cccrcsreree 27
3.7 Thuật toán Advantage Actor Critic (A2C) «-ccecseeeekserissrirrrrirree 28
3.8 Mạng Long Short Term Memory (LS TM) -eceeeeereerire 29
3.9 Giải quyết van dé trạng thái ân (hidden state) của RL bằng kết hop RNN 32
3.10 Mô hình ARIMA c «HH HH ghi 33
hôn cà chẽ “.‹+ , HẬậH, ÒỎ 34 Chương 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ -+++cc+tttrrc2zrtrrrrrcre 36
4.1 Bộ dữ liệu crikiHHrrHriiiiiiiiiiiriiiire 36
4.1.1 Bộ dữ liệu đánh của tác giả Zhiwen Zeng -c-ccc -ex 36
4.1.2 _ Bộ dữ liệu tự thu thập -c-cccersrrirrrirrrrirree 36
4.2 Phân tích, khám phá bộ dữ liệu (Exploratory Data Analysi8) 37
4.2.1 Kham phá bộ dữ liệu của Zhiwen Z€ng e-c ccexeeereeree 38
4.2.2 | Khám phá bộ dữ liệu khung thời gian 5 phút — m5 - 39
4.2.3 Kham phá bộ dữ liệu khung thời gian 1 giờ — HI 41
4.2.4 Khám phá bộ dữ liệu khung thời gian 1 ngày — DĨ 43
4.3 Thu thập và tiền xử lý dit liệu -cccccrceeccvverrrreervrrrrrrrrerrrrrrrrree 45
4.4 Áp dụng chỉ báo kỹ thuật vào bộ dit liệu -.-cccerrrecccrrrree 46
4.4.1 Chỉ báo Relative Strength Index — RSÌ -. -ce-cerree 46
4.4.2 Chỉ báo Exponential Moving Average - EMA 47
4.4.3 Chỉ báo Moving Average Convergence Divergence - MACD 47
4.5 Sử dung một số thang do kết quả dự đoán ccc-crrceccccerrrrccee 47
4.5.1 Root Mean Square Error - RMSE cc-ccereereesreerirkre 47
4.5.2 | Mean Absolute Percentage Error - MAPPE -. -c-crsxree 48
Trang 64.6 Sử dụng một số thang đo đánh giá số dư tài khoản -s 48
4.6.1 Sharpe RatiO ccenHHHHHH HH He 49
4.6.1 SOrtiNO Rati ăn HH HH HH HH hy 49
4.6.2 Maximum DrawdOWH «etrthiktiitkrtrrirtiiiiiriiiiriiiirirree 49
4.6.3 Cumulative Return -ccsrerrstretrrtrirtrrrirrrirrrrrrirree 50 4.6.4 Maximum Consecutive L/OSS€S «eccveiteriirrirrriiirririrrirree 50
4.6.5 Gatnn/Pain RatIO «ecc-ccerseritrirtrirtiirirriiiirriirrrrrrree 50
4.7 Xây dung va áp dung mô hình vào môi trường mô phỏng 51
4.7.1 Xây dựng môi trường mô phỏng -. -cc-«ecxesrrrssrxrxerrrresree 51
4.7.2 Kay dựng mô hình DỌN, A2C, PPO ccceeekieeriree 52
4.8 Kết quả và nhận xét 2.+eestreeEEErevEtrtrrtrtrrrtrtrrtrrrrrtrrrrrrrre 53
4.8.1 Đánh giá dữ liệu .cccekriiiiriiiiiiiiie 53
4.8.2 Kết quả đánh giá dựa trên bộ dit liệu của Zhiwen Zeng 54
4.8.3 Kết quả đánh giá dự đoán dựa trên thang đo RMSE, MAPE khung
thời QIAN MS cs-+cxcektrtE tt HH nh HH HH HH HH HH HH HH 1H g1 rệt 56
4.8.4 Kết quả thực hiện giao dịch khung thời gian M5 58
4.8.5 Phân tích danh mục đầu tư khung thời gian m5 - 59
4.8.6 Kết quả đánh giá dự đoán dựa trên thang do RMSE, MAPE khung
thời gian HT se hHnHHHHHYTHHY Hà nHà Hàn Hà HH Hàn HH Hà nghhờt 60
4.8.7 Kết quả thực hiện giao dịch khung thời gian HI 62
4.8.8 Phân tích danh mục đầu tư khung thời gian HI 63
4.8.9 Kết quả đánh giá dự đoán dựa trên thang đo RMSE, MAPE khung
thời gian DI «re th HH HH HH HH HH HH 1H 1g grykt 65
4.8.10 _ Kết quả thực hiện giao dịch khung thời gian DI 67
Trang 74.8.11 Phan tích danh mục đầu tư khung thời gian DI - 68
4.8.12 Áp dụng phương pháp Weighted Sum Method 69
4.9 KẾt luận ecooHh HH Hee 72
Chương 5 Xây dựng hệ thống c-cccvceriirtrrrriiiiiiiriiriiiiirrriiiie 74
53.1 Nhan và xử lý dữ liệu realtime với Kafka và Spark Streaming 74
5.1.1 _ Các bước tiễn hành và xử lý đữ liệu -.cccceccrreccccvcrrrree 74
5.1.2 Cải đặt ZOOK€€p€r «eccieerrirerriirtriirrrrirriirrriirirrrrree 75
5.1.3 — Cat đặt Kafka ì Hee 75
5.1.4 Cải đặt KafÍdrop «ccrierrriirrriirriiiriirirriirrierrrree 75
5.1.5 Cải đặt ŠparK ch 76
5.2 Xây dung API với máy chủ FastAPI Framework cesses 76
5.3 Xây dựng giao diện sử dung Nextjs Framework c -eexerseerxee 77
5.4 Thiết kế hệ thống server và giao AiGM vecsssssssssssssssssssseessssssssesssassssesessssseseeseseen 77
5.4.1 Ban thiết kế entity relationship diagram (ERD) - 77
5.4.2 Các thực thé (Entities) và thuộc tính -.-.-ex.ee 78
5.4.3 Sơ đồ bản vẽ Use Case Diagram -sseccstreeetrrcrerre 80
5.4.4 Các màn hình thiết kế -.eeieriirriirriiriirriirrrriid 86
5.5 Ket Ô ,ÔỎ 88
Chương 6 KET LUẬN VÀ HƯỚNG PHAT TRIEN ovscsssssssssssssessssssseesssessstessnesnstesen 89
6.1 Két quả đạt QUOC wesesssescssesssesstesssessstessseesntessseesseesseesneessseesseessteesueesseessaeesasessaeesaeessaeesas 89
6.2 Hướng cải thiện va phát trim csssssssssssssssssssssssssssessssssesesssssssseesssssssnseesesssseee 89
Trang 8DANH MỤC HÌNH
Hình 2.1 3V trong dữ liệu lớn . -s -secseksEkHHHHHYn Hàng ờn 19
Hình 3.1 Kiến trúc tổng quan của Apache Kafka -:ccecccerrirreeeevrrrrree 22Hình 3.2 Kiến trúc cơ bản của Apache Spark -:-ccccccrrircecverrrrrrrererrrrrie 24
Hình 3.3 Minh họa mô hình học tăng CƯỜng .s cseerkirieriiiiiriiiiriieriee 25Hình 3.4 Kiến trúc của LSTM ccciiirririiiriiriirirririirirrrrrir 29Hình 3.5 Cổng quên của LSTM -s2.+ecstrevEtrrertrrrrrtrtrrrrrrrrtrrrrrrrre 30
Hình 3.6 Cổng đầu vào của LSTM ccs.eecetrrertrrererrterrrrirrrtrrrrrrrre 30
Hình 3.7 Công đầu ra của LSTM -cccccciireevvveEEtrireervtrtrrirrrrerrrrrrrrrrrrrrrre 31Hình 3.8 Cổng update của GRU -ccccc2ciiceeveveEttrreervvrtrrirrrrrrrrrrrrrrrrrrrrre 32
Hình 4.1 Bộ dữ liệu đánh của tác giả Zhiwen Z⁄eng -s«ccrcerrrrrrrrrerrree 36
Hình 4.2 Cách chia các bộ dữ liệu tự thu thập -cccccecccexeeererreee 37Hình 4.3 Mẫu bộ dữ liệu m5 (cặp tiền USD/JPY) -:-.ecccerrireeceevrrrrre 38Hình 4.4 Biểu đồ đường giá trị Price các column của cặp tiền USD/JPY khung thời
Hình 4.8 Mẫu bộ dữ liệu HI -. erictriiiriiiiiiriiiiirirre 42
Hình 4.9 Biéu đồ đường giá trị Price các column của cặp tiền EURO/USD khung
thời lan Í B1Ờ s.s< tt Hy HH HH HH Hà Hà HH HH TH HH TH HH g1 nrykt 42
Hình 4.10 Biểu đồ cột dit liệu về volume giao dịch cặp tiền EURO/USD khung
thỜi Ølan Í SIO eee eeesseessseesssteseneeessseesssseessneessnseessnesssseessnersaseessueessnseersneersnseersueessneersneensaneensaetsy 43
Hình 4.11 Mẫu bộ dữ liệu DI -.-. -+++++eec222VEEEEEtttttrreevv22Evvrrrrrrrrrrrrrrre 44
Hình 4.12 Biểu đồ đường giá trị Price các column của cặp tiền EURO/USD khung
THOT 000i ẻ.ẻ 44
Trang 9Hình 4.13 Biểu đồ cột dữ liệu về volume giao dịch cặp tiền EURO/USD khung
thời ø1an 1 ngày -c ccsrrhHHHHH HH Hà HH Hà HH HH HH HH Hàu 45
Hình 4.14 Minh họa bộ dit liệu tự thu thập -cee-rccecerrreceerrrrecerrrree 45
Hình 4.15 Mô tả sơ đồ của một agent học tăng cường có kết họp với LSTM và
e):30001007 —.-.d‹£‹—gŒg.ổ ,ÔỎ 52
Hình 4.16 Đánh giá kết quả dự đoán :::ceccvertrireeevetrtrtrreverrrrrrrrrerrrrrree 54Hình 4.17 Đánh giá kết quả đầu tư sau khi giao dịch -ccccccrrree 54Hình 4.18 Biểu đồ đường biểu diễn kết quả giao dịch khung thời gian m5 58Hình 4.19 Biểu đồ đường biểu diễn kết quả giao dịch khung thời gian HI 62Hình 4.20 Biểu đồ đường biểu diễn kết quả giao dịch khung thời gian DI 67Hình 5.1 Ludng hoạt động toàn bộ hệ thống -++-eccccerrrrreccvvrrrrre 74Himh 5.2 Ban thiét (0:07 77
Trang 10DANH MỤC BANG
Bảng 4.1 Kết quả đánh gia dự đoán của các mô hình trên bộ dữ liệu của Zhiwen
Z/CTĐ HH HH THẾ Hà Hà THAY HH HH HH 130 55Bảng 4.2 Kết quả đánh giá dự đoán dựa trên thang đo RMSE, MAPE khung thời
Ø1A1 TTỐ, 2c se HH HHYHHHY HH Hà HH THAY HH HH HH HHH.HH.1170110018001181.1 56Bảng 4.3 Kết quả đánh giá giao dịch khung thời gian m5 sử dụng Quanstats 60
Bảng 4.4 Kết quả đánh giá dự đoán dựa trên thang đo RMSE, MAPE khung HI 61Bang 4.5 Kết quả đánh giá giao dịch khung thời gian HI sử dụng Quanstats 64
Bảng 4.6 Kết quả đánh giá dự đoán dựa trên thang đo RMSE, MAPE khung D1 65Bảng 4.7 Kết quả đánh giá giao dịch khung thời gian D1 sử dụng Quanstats 68Bảng 4.8 Kết quả WSM sau khi giao dịch -esseecesreeeerrerrerrererrre 71
Bảng 5.1 Entities và Thuộc TÍnh cse-©c-ssceceecrrrserrrxerrrrerrrrkerrrrkerrrkerrrrierrrke 80 Bảng 5.2 Usecase đăng nhập - cxsctstrt ti re giệt 81
Bảng 5.3 Usecase đăng ky US€T ccs+crrterrtirtkrirtrriirtrrirrrriirrrirrririrrrririerrree 82
Bảng 5.4 Usecase đăng Xuat svsssssssssssnsssssssessneesssssssassesisstssssssessssesassssusssesusesesnsessssssee 83
Bảng 5.5 Usecase xem danh sách tradeOS -« se+xexeerexteekteererrrerrererreee 83
Bang 5.6 Usecase xem kết quả lịch sử giao dich của tradebot s 84
Usecase xem kết quả dự đoán của tradebot -c-s+++-ccccc++ 85
Trang 11DANH MỤC TỪ VIET TAT
Từ viết tắt Nội dung
LSTM Long Short-Term Memory
GRU Gated Recurrent Unit
RNN Recurrent Neural Network
RSI Relative Strength Index EMA Exponential Moving Average
MACD Moving Average Convergence
Divergence
ERD Entity Relationship Diagram WSM Weighted Sum Method
Trang 12TOM TAT KHÓA LUẬN
Thị trường ngoại hối (Forex) đóng vai trò quan trọng trong hệ thống tài chính
toàn cầu, là nơi mà các loại tiền tệ quốc gia được trao đối Những nhà giao dịch Forex,
dé xây dựng chiến lược giao dịch hiệu quả, thường phải phụ thuộc vào các phương
pháp phân tích như kỹ thuật, cơ bản và sử dụng các thuật toán hỗ trợ Tuy nhiên,
những phương pháp nay đều gặp hạn ché, đặc biệt là khả năng phân tích dit liệu lịch
sử, điều mà không chi mat thời gian mà còn làm giảm hiệu quả đầu tư
Nghiên cứu hiện đại đã chứng minh sức mạnh của thuật toán học tăng cườngsâu trong nhiều lĩnh vực, đặc biệt là trong tài chính Dé vượt qua những thách thứcnày, tôi đã đề xuất một hướng tiếp cận khác là kết hợp các thuật toán học tăng cườngsâu với công nghệ dữ liệu lớn như Apache Kafka, Spark Streaming nhăm tăng hiệu
quả đầu tư
Apache Kafka được triển khai dé thu thập và lưu trữ dir liệu từ nhiều nguồnvới tốc độ cao, tạo nên một hệ thong thu thập dữ liệu mạnh mẽ va linh hoạt Dữ liệu
này sau đó được chuyên đến Spark Streaming, nơi mà quá trình xử lý thời gian thực
diễn ra một cách hiệu quả Điều này không chỉ giúp tôi hoàn thành xây dựng một hệthống đáp ứng nhanh chóng với biến động của thị trường mà còn giải quyết hiệu quả
van đề lớn về xử ly dit liệu thời gian thực
Một phan quan trong của nghiên cứu là quá trình huấn luyện mô hình học tăng
cường dé dự đoán giá thị trường ngoại hối Tôi áp dụng các mô hình học tăng cường
sâu gồm DQN, A2C, PPO kết hợp với mạng tuần tự LSTM và GRU dé đưa ra đánhgiá, so sánh với mô hình khác gồm ARIMA, LSTM và GRU
Kết quả dự đoán dựa trên 2 thang đo RMSE và MAPE và đánh giá danh mục
đầu tư của tôi trên bộ dữ liệu của tác giả Zhiwen Zeng và bộ dữ liệu tự thu thập của
3 cặp tiền tệ cho thấy rằng phương pháp này mang lại kết quả và lợi nhuận tích cực,
sau đó tôi đã triển khai xây dựng hệ thống có chức năng nhận và xử lý dữ liệu thời
gian thực sau đó hiền thị kết quả ra giao diện ứng dụng Web
13
Trang 13Chương 1 MỞ DAU
1.1 Lý do chọn đề tài
Lựa chọn đề tài "Xây dựng hệ thống giao dịch ngoại hối thời gian thực sử dụng
công nghệ dữ liệu lớn và học tăng cường sâu” không chỉ đem lại thách thức mà còn
mở ra cơ hội to lớn để cung cấp giá trị thiết thực cho cộng đồng nhà giao dịch Quyết
định chọn đề tài này được hỗ trợ bởi những yếu tố chính như: sự phức tạp của thịtrường ngoại hối, khả năng ứng dụng hiệu qua của Big Data va Deep ReinforcementLearning trong trading, nhu cầu của trader và cơ hội nâng cao kỹ năng của bản thân
Về mặt thách thức, thị trường biến động không ngừng yêu cầu các chiến lược
giao dịch phải linh hoạt và nhanh nhẹn Theo IMARC, một công ty nghiên cứu thi
trường hàng dau, kích thước thị trường ngoại hối năm 2023 đạt 805 tỷ đô la và dự
báo sẽ lên đến 1466 tỷ đô la vào năm 2032 Sự phát triển của thị trường cũng đi kèmnhiều thách thức với nhà giao dịch, đặc biệt là khi các quỹ lớn và tô chức gia nhập thi
trường Su tích hop giữa Big Data va Deep Reinforcement Learning tao cơ hội choviệc ứng dụng công nghệ mới vào lĩnh vực giao dịch ngoại hối Các yếu tố như tínhthời gian thực, độ chính xác cao và khả năng thích nghi nhanh là những đặc điểm
quan trọng hiệu suất giao dịch của hệ thống Dé tài này được lựa chọn dé đáp ứng
nhu cầu thực tế của thị trường
Thêm vào đó, việc nghiên cứu đề tài này sẽ trau dồi kỹ năng cá nhân, mở rộnghiểu biết về tài chính và công nghệ, tạo nền móng phát triển bản thân trong tương lai
14
Trang 141.2 Mục đích của đề tài
Mục đích của "Xây dựng hệ thống giao dịch ngoại hối thời gian thực sử dụngcông nghệ dữ liệu lớn và học tăng cường sâu" là tao dựng một nén tảng giao dichngoại hối đột phá Điều này nhằm hỗ trợ các nhà đầu tư đối phó với những thách thức
trong môi trường thi sự phức tạp của thị trường ngoại hối
Trong quá trình phát triển, đề tài tập trung vào việc phân tích sâu sắc hoạt độngthị trường và nhấn mạnh việc xử lý dữ liệu thời gian thực Điều nay đặc biệt quantrọng trong nghiên cứu thị trường Forex, cung cấp nền móng cho việc thiết kế hệ
thống giao dịch có hiệu suất cao Deep Reinforcement Learning được áp dụng để tối
ưu hóa các quyết định giao dịch và dự báo giá, cải thiện khả năng dự đoán và độ linh
hoạt trong việc kiếm soát với những thay đổi khó lường của thị trường, nhằm tăng
cường độ chính xác và giảm rủi ro.
Ngoài ra, đề tài cũng đặt mục tiêu giúp đỡ cộng đồng giao dịch Thông quaviệc đánh giá hiệu suất của hệ thống và so sánh nó với các phương pháp truyền thống,
dé tài không chỉ chứng minh được hiệu quả của mình mà còn khang định sự cải tiến
và đôi mới so với những phương pháp hiện hành trong lĩnh vực giao dịch ngoại hối
Đối tượng và phạm vi nghiên cứu
1.2.1 Đối tượng nghiên cứu
Trong phạm vi khóa luận, tôi tập trung nghiên cứu về những đối tượng sau:
e Dữ Liệu Thị Trường Ngoại Hối
e Hệ Thống Spark Streaming va Kafka
e Thuật Toán Hoc Tăng Cuong Sâu
e Ứng dụng web sử dụng FastAPI và Next.js
1.2.2 Pham vi nghiên cứu
Dựa vào những mục đích đã nêu ở trên, tôi tiền hành xác định phạm vi đề tài:
e Xây dựng hệ thống thu thập và xử lý dữ liệu thị trường ngoại hối sử dụng
Spark Streaming và Kafka.
15
Trang 15e Tìm hiểu cách thức hoạt động của thị trường ngoại hối và dữ liệu thời gian
thực trong lĩnh vực này.
e Tim hiểu các thuật toán hoc tăng cường sâu như A2C, DỌN, PPO kết hợp
LSTM, GRU dé tối ưu hóa các quyết định giao dịch
e Đánh giá hiệu suất và so sánh kết quả của các phương pháp sử dụng
e Tích hợp các thành phan thành một hệ thống hoàn chỉnh có giao diện Web và
thực hiện các thử nghiệm thời gian thực.
1.3 Cấu trúc khóa luận
Cấu trúc của khóa luận được trình bày với các chương sau:
e Chương 1: Mở đầu
e Chương2: Tổng quan
e Chuong 3: Cơ sở lý thuyết và các nghiên cứu liên quan
e Chương 4: Thực nghiệm và đánh giá
e Chuong 5: Xây dựng hệ thống
e Chuong 6: Kết luận
1.4 Kết luận
Trong phần này của báo cáo, tôi đã đề cập đến các lý do chính khiến tôi chọn
dé tài này, thé hiện sự quan tâm chuyên sâu đến cả những thách thức và cơ hội trong
thị trường ngoại hối Với nhu cầu ứng dụng công nghệ mới của thị trường, tôi nhận
ra cơ hội dé đóng góp trong lĩnh vực này và nâng cao kỹ năng cá nhân
Đề tài tập trung vào việc tạo ra một hệ thong giao dich ngoai hối hiệu quả,
chứng minh sự khả thi của việc xử lý dữ liệu thời gian thực và việc áp dụng các thuậttoán Deep Reinforcement Learning Mục tiêu này không chỉ nhằm cải thiện kỹ năng
cá nhân mà còn mong muốn mang lại giá trị cho cộng đồng giao dịch
Đề tài này dựa trên việc nghiên cứu dữ liệu thị trường ngoại hối, sử dụng hệ
thống Spark Streaming và Kafka, cùng với việc triển khai các thuật toán Deep
Reinforcement Learning Khóa luận này hứa hen sẽ cung cap một cái nhìn sâu rộng
16
Trang 16về ngành giao dịch ngoại hôi Phạm vi nghiên cứu không chỉ hạn chê trong việc phát
triên hệ thông và hiệu biét vê thị trường, mà còn bao gôm việc đánh gia và so sánh
hiệu qua của các chiên lược giao dịch khác nhau.
17
Trang 17Chương 2 TONG QUAN
2.1 Deep Reinforment Learning trong lĩnh vực tài chính
DRL là sự kết hợp giữa học tăng cường Reinforcement Learning và Deep
Learning Trong Reinforcement Learning, một "tác tử” hoc cách đạt được mục tiêu
bang cách giao tiếp với môi trường mô phỏng dé đạt "phần thưởng" tương ứng trên
các hành động của mình Khi áp dung Deep Learning, các mạng nơ-ron sâu được sử
dụng dé xác định hành vi của tác nhân, cho phép xử lý dữ liệu phức tạp hơn và đạtđược hiểu biết sâu sắc hơn về môi trường
Trong thị trường tài chính, DRL được áp dụng dé phát triển các chiến lượcgiao dịch tự động, tối ưu hóa portfolio và quản lý rủi ro Sử dụng DRL cho phép các
hệ thống giao dịch kiểm soát và điều chỉnh kết quả linh hoạt với thực tế và các môhình sẽ đưa các hành động hợp lý từ dữ liệu thực tế thị trường
DRL mang lại tiềm năng lớn trong việc phân tích, dự đoán giá cả trong thịtrường tài chính do nhờ khả năng tự học và thích nghi của nó với nhiều trạng thái khólường của thị trường Điểm khác biệt cơ bản của DRL so với các phương pháp khácnhư mạng tuần tự và mô hình thống kê là khả năng tự học và tự cải thiện qua thời
gian Nó không chỉ dựa vào lịch sử của dữ liệu ma còn có thé tự điều chỉnh chiến
lược dựa trên phản hồi thực tế từ thị trường, giúp tối ưu hóa quyết định giao dịch và
quản lý rủi ro một cách hiệu quả.
2.2 Công nghệ Big Data trong lĩnh vực tài chính
Big Data — Dữ liệu lớn là đề cập đến các tập hợp dữ liệu rất lớn và phức tap
mà các phương pháp xử lý dữ liệu truyền thống không còn phù hợp đề áp dụng Nó
bao gồm việc thu thập, lưu trữ, phân tích và trích xuất thông tin hữu ích từ dit liệu
Big Data được đặc trưng bởi "3V" [1]: Volume (quy mô dữ liệu lớn), Variety
(sự đa dạng của dtr liệu, từ cấu trúc đến không cấu trúc), và Velocity (tốc độ xử lý dữ
liệu nhanh chóng).
* Volume: Đại diện cho quy mô lớn của dt liệu.
18
Trang 18» Variety: Phản ánh sự đa dang trong loại đữ liệu.
* Velocity: Phản ánh tốc độ xử lý và tốc độ thu thập dữ liệu
Ngoài ra, trong lĩnh vực Big Data, còn có khái niệm "5V" và "nV", mở rộng
từ 3V truyền thống
Ứng dụng của Big Data xuất hiện trong nhiều lĩnh vực đời sống như chăm sócsức khỏe, lĩnh vực giải trí và quản lý công Big Data không chi làm thay đổi cách
chúng ta thu thập cũng như phân tích dữ liệu mà còn mở ra những cơ hội mới trong
việc hiểu biết và quản lý thông tin ở quy mô lớn
trúc khác Sự liên tục và sự phong phú của dữ liệu này đòi hỏi các giải pháp dữ liệu
lớn dé xử lý và phân tích hiệu quả
19
Trang 19Công nghệ như Apache Spark và Apache Kafka là những công cụ mạnh mẽ trong việc xử lý dữ liệu lớn trong tài chính Spark, với khả năng xử lý dữ liệu nhanh
và hiệu quả, là ly tưởng cho việc phân tích dữ liệu thời gian thực và lịch sử Kafka,một hệ thống xử lý luồng dữ liệu, cho phép thu thập và truyền dữ liệu liên tục, làm
cơ sở cho việc ra quyết định trong thời gian thực Sự kết hợp của Spark và Kafkacung cấp một giải pháp mạnh mẽ cho việc xử lý và phân tích dữ liệu thị trường tàichính, giúp đưa ra những quyết định chính xác và kịp thời trong giao dịch tài chính
2.3 Kết hợp công nghệ Big Data và học tăng cường sâu để xây dựng hệ thống
tính toán thời gian thực
Trong lĩnh vực tài chính, việc kết hợp công nghệ dữ liệu lớn và học tăng cườngsâu (DRL) đã là một hướng tiếp cận mới trong giao dịch tài chính Cách tiếp cận nàygiải quyết các hạn chế mà phương pháp truyền thông gặp phải và đem lại khả năng
phân tích hay dự đoán thông tin nhanh chóng, chính xác hơn.
Phương pháp truyền thông thường dựa vào việc phân tích đữ liệu lịch sử, cóthể không phản ánh chính xác những biến động nhanh chóng và phức tạp của thịtrường hiện tại Việc xử lý dữ liệu có kích thước lớn cũng có thê tốn nhiều thời gian,làm giảm hiệu quả khi đưa ra quyết định đầu tư trong thời gian thực Qua tìm hiểu,tôi thấy việc kết hợp công nghệ dữ liệu lớn đề xử lý dữ liệu thời gian thực với DRL
có tiềm năng tạo ra một giải pháp mạnh mẽ, giúp giảm bớt hạn chế của các phươngpháp giao dịch truyền thống Công nghệ dữ liệu lớn như Spark và Kafka giúp xử lý
và phân tích lượng lớn dữ liệu thị trường một cách nhanh chóng, trong khi DRL cung
cấp khả năng tự học và tự thích ứng với môi trường thị trường thực tế
Ngoài hệ thống chạy trên server, người dùng cũng có nhu cầu so sánh các môhình, xem các kết quả dự đoán thị trường Do đó tôi lựa chọn xây dựng thêm cả giao
diện phục vụ người dùng Sự kết hợp này đã được áp dụng trong việc xây dựng một
web app, nơi người dùng có thé theo dõi kết quả dự đoán giá và hành động dé thực
hiện các quyết định giao dịch dựa trên đữ liệu thị trường thời gian thực và các dự
đoán được cung cấp bởi mô hình DRL
20
Trang 20Chương 3 CƠ SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIEN QUAN
3.1 Tìm hiểu thị trường ngoại hối
Thị trường Forex, một không gian tài chính quốc tế không tập trung, chuyên
dành cho việc trao đôi đa dạng các đơn vị tiền tệ Trader trong lĩnh vực này thường
áp dụng một loạt các phương pháp va công cụ dé hỗ trợ quyết định của mình, baogồm việc nghiên cứu đặc điểm kỹ thuật, phân tích nền tảng và sử dụng các thuật toángiao dịch tiên tiến Mặc dù các phương pháp này rất hữu ích, chúng cũng có các giới
hạn như sự phụ thuộc vào việc phân tích dữ liệu đã qua và thời gian phân tích dài có thé ảnh hưởng đến lợi nhuận từ việc đầu tư [2]
Thông tin trên thị trường Forex được ghi nhận theo chuỗi thời gian, bao gồm
dữ liệu về giá của các đồng tiền và chỉ số kinh tế Nhà đầu tư thường dựa vào mộtdãy chỉ sé kỹ thuật như RSI, MACD, Bollinger Bands, Stochastic Oscillator, vaFibonacci Retracements dé tiễn hành phân tích và ra quyết định mua bán Họ cũngtheo dõi những chỉ số kinh tế lớn và các sự kiện tin tức đáng chú ý để đánh giá ảnhhưởng của chúng đối với mức giá và định hướng của thị trường [3]
Dé so sánh hiệu quả dự báo của mô hình với dữ liệu thực tế, trader thường sửdụng các chỉ số đánh giá như RMSE, MAPE Đồng thời, trong việc quan lý rủi ro và
lợi nhuận, họ thường áp dụng các tiêu chuẩn đo lường như Max Drawdown, Sharpe
Ratio, Sortino Ratio và CAGR.
Trong nghiên cứu hiện tại, tôi sẽ tiến hành đánh giá hiệu qua của các mô hình
thông qua việc sử dụng những chỉ sô và tiêu chuân phô biên mà tôi đã nêu.
3.2 Tìm hiểu về truyền dữ liệu sử dụng Apache Kafka
Apache Kafka là một hệ thống phân tán được xây dựng đặc biệt cho việc xử
lý và truyền dit liệu theo thời gian thực Kafka được thiết kế dé quản lý và truyền tải
kích thước dữ liệu lớn từ nhiều nguồn khác nhau một cách nhanh chóng và đáng tin
cậy Với khả năng xử lý đến hàng triệu tin nhắn mỗi giây và đảm bảo độ sẵn sàng caocũng như tính chịu tải tốt, nền tảng này trở nên quan trọng trong việc xử lý đữ liệu
21
Trang 21thời gian thực và cung cấp độ chính xác cần thiết cho việc đưa ra các quyết định
nhanh chóng trong môi trường tài chính.
Hình 3.1 Kiến trúc tong quan của Apache Kafka
Nguồn:
https://cjrequena.com/assets/pdf/slides-apache-kafka-architecture-fundamentals
Hình minh hoa trên mô tả kiến trúc tong quan của Apache Kafka, nỗi bat bathành phần chính của hệ thống: Producers, Kafka Cluster (cụm Kafka), và
Consumers, cùng với thành phần quản lý cấu hình, Zookeeper Ensemble Dưới đây
là mô tả chỉ tiết về mỗi phần:
1 Producers:
© Các Producers là các ứng dụng hoặc hệ thống phát sinh và gửi thông điệp
đến Kafka
e Trong hình minh họa, có thể thấy nhiều Producers (từ Producer 1 đến
Producer n), điều này phản ánh khả năng của Kafka trong việc xử lý phân
tán cùng lúc.
22
Trang 222 Kafka Cluster (Cum Kafka):
e Một máy chu riêng biệt chứa thông điệp và có kha năng xử lý dữ liệu.
e Các Broker này lưu trữ thông điệp và đảm bảo dữ liệu giữa các nodes được
đồng bộ dé tránh mat mát thông tin khi có sự có.
3 Consumers:
e Các Consumers đăng ký va đọc thông điệp từ một hoặc nhiều topic mà họ
quan tâm.
e Consumers có thé được sắp xếp thành các nhóm dé xử lý thông điệp một
cách hiệu quả, nơi mỗi Consumer trong nhóm xử lý một phần của thông
điệp trong topic.
4 Zookeeper Ensemble:
e Zookeeper là một dịch vụ quản lý cau hình và đồng bộ cho cụm Kafka
e_ Nó giữ thông tin về trạng thái của các Broker và các Consumer, cũng như
giúp quan lý việc phân phối thông điệp giữa các Broker va Consumers
3.3 Xử lý dữ liệu với Apache Spark
Apache Spark là một khung công cụ chuyên biệt cho việc xử lý dữ liệu phân
tán, được tạo ra để quản lý một khối lượng lớn dữ liệu một cách hiệu quả và nhanh
chóng Spark mang lại khả năng tính toán in-memory, nâng cao tốc độ xử lý bằng
việc thực hiện các tác vụ xử lý dữ liệu cùng lúc trên một cụm các máy tính.
Trong khuôn khổ của giao dịch ngoại hối diễn ra theo thời gian thực, Spark cóthé tích hợp dé xử lý dữ liệu thu nhận từ Kafka, thực hiện các phân tích phức tạp nhưtính toán các chỉ số giao dịch, đánh giá rủi ro và xử lý đữ liệu thị trường trong thờigian thực Sự kết hợp này cung cấp khả năng xử lý nhanh chóng và cải thiện đáng kêkhả năng phản ứng của các hệ thống giao dịch tài chính
23
Trang 23Worker Node Executor
e SparkContext: SparkContext kết nối với Cluster Manager và là trungtâm của bat kỳ ứng dụng Spark nào Nó được sử dụng dé thiết lập các nguồn
dữ liệu và phân phối các đơn vị xử lý công việc đến các nodes trong cụm
e Cluster Manager: Đây là trình quản lý tài nguyên của cụm, có thé làYARN, Mesos hoặc Spark Standalone Nó chịu trách nhiệm phân phối và quản
ly tài nguyên máy tính như CPU, bộ nhớ cho các ứng dung Spark.
e Worker Nodes: Các node worker thực sự thực hiện công việc Mỗi
Worker Node chạy các tiến trình Spark có tên là Executors
24
Trang 24e Executors: Executors là các tiến trình chạy trên Worker Nodes, thực
hiện các nhiệm vụ và lưu trữ dữ liệu đầu vào, đầu ra trong bộ nhớ hoặc đĩa
cứng Chúng cũng gửi thông tin về trạng thái nhiệm vụ về cho Driver Program
e - Tasks: Nhiệm vụ là các đơn vị công việc nhỏ nhất được gửi tới Executor
dé thực thi Một nhiệm vu thường là một phần của một giai đoạn (stage) xử lý
dữ liệu.
3.4 Tổng quan về học tăng cường
Học tăng cường là một nhánh của máy học bên cạnh học giám sát và học không
giám sát, nơi các thuật toán được thiết kế để đưa ra quyết định thông minh dựa trên
việc tương tác và học từ kinh nghiệm Trong mô hình học tăng cường, các thành phầnchính bao gồm Agent, Environment, State, Action, Reward va Policy, đóng vai tròtrong viéc hinh thanh va diéu chinh hanh vi cua Agent dé dat duoc muc tiéu cudi
cùng.
Environment
Hình 3.3 Minh họa mô hình hoc tăng cường [4]
¢ Môi trường mô phỏng (Environment): Đây là không gian mà agent tương
tác, cung cấp trạng thái và phản hồi (phần thưởng) dựa trên các hành động
của agent.
e Agent (Máy): Là chủ thé thực hiện tương tác với môi trường thông qua các
hành động Mục tiêu của agent là học cách chọn hành động sao cho tối đahóa phần thưởng thu được trong dài hạn
e Chính sách (Policy): Day là chiến lược hoặc cách thức mà agent sử dụng
dé quyét dinh hanh dong tiép theo dựa trên trang thái hiện tai của nó.
25
Trang 25e Trạng thái (State): Mô tả tình trạng hiện tai của môi trường mà agent đang
quan sát Trong trường hợp của các hệ thống cảm biến như camera, trạngthái có thé là hình ảnh từ camera mô tả môi trường xung quanh
e Phần thưởng (Reward): Đây là tín hiệu để đánh giá hành động của agent
Phan thưởng có thé đương (khích lệ) hoặc âm (ran đe), tùy thuộc vào kết
quả của hành động.
e Hành động (Action): Là những quyết định hoặc hoạt động mà agent có thể
giao tiếp với môi trường Những hành động có thể ảnh hưởng đến trạngthái tiếp theo của môi trường và phần thưởng mà agent nhận được.
3.5 Thuật toán DỌN (Deep Q-Network)
Thuật toán DQN (Deep Q-Network) [5] được phát triển vào năm 2015 Thuậttoán này được phát triển bằng cách cải tiến thuật toán RL cỗ điển có tên Q-Learning
Với mạng nơ-ron sâu.
3.5.1 Q-Learning
Q-Learning dựa trên hàm Q, hay còn gọi là hàm giá trị hành động a - trạngthái s, đo lường kỳ vọng hoặc tông giảm giá của phần thưởng r từ một trạng thái bằngcách thực hiện một hành động rồi tuân theo chiến lược 7r Hàm Q tối ưu là lợi ích tối
đa có thé thu được sau khi thực hiện một hành động a' và tuân theo chiến lược tối ưu
Nó tuân theo phương trình tối ưu Bellman, nghĩa là lợi ích tối đa từ một trạng thái và
hành động là tổng của phần thưởng ngay lập tức và lợi ích thu được sau đó theo chiếnlược tối ưu Q-Learning sử dụng phương trình này như một cập nhật lặp dé hội tụ vềhàm Q tối ưu khi thời gian tiến đến vô cùng
Q”(s,a) = E[r + ymaxg Q”(s,a)]
Điều nay có nghĩa là lợi ích tối đa từ trạng thái s và hành động a là tổng của
phần thưởng ngay lập tức r và lợi ích (được giảm giá bởi y) ) thu được bằng cách
theo sau chiến lược tối ưu cho đến cuối episode (tức là, phần thưởng tối đa từ trạng
thái tiếp theo s” Kỳ vọng được tính toán cả trên phân phối của phần thưởng ngay lập
tức r và các trạng thái tiếp theo có thê có s”
Q¡+¡ (s,a) — E[r +y max,Q;(s',a’) ]
26
Trang 263.5.2 Deep Q-Learning
Dé xây dựng một mạng nơ-ron dé xấp xi ham Q việc thêm bộ tham số Ø vào
trong công thức Q*(s, a; Ø) = Q*(s,a) Điều này được thực hiện bằng cách giảm
thiêu mat mát sau tại step huấn luyện i:
2
L¡(0¡) = Ey ar,s'~p() [ (vi — Q(s,a; 6,)) |
Với yy = r +ymax/Q(s,đ;Øt_¡y) yj được gọi là Temporal
Difference (chênh lệch thời gian), y; — Q là chênh lệch thời gian lỗi, p đại
diện cho sự phân phối hành vi, sự phân phối qua quá trình chuyên đổi mà
{s, a,r, s”} thu thập từ môi trường.
Q-Learning là một thuật toán “off-policy” tìm hiểu về chính sách tham
lam trong khi sử dụng chiến lược, hành vi khác dé thực hiện hành động trong
môi trường và thu thập dữ liệu.
3.6 Thuật toán Proximal Policy Optimization (PPO)
Thuật toán PPO (Proximal Policy Optimization) [6] là thuật toán học tăngcường được phát triển bởi OpenAI Dưới đây là giải thích chi tiết về mô tả thuật toán
Trang 27Hàm mục tiêu với clipping, ký hiệu là được định nghĩa dé giới hạn sự thay đôicủa tỉ lệ r;(Ø) trong một khoảng nhất định [1—c,I+e].
im") = E,[ min (r,(6)Â;,clip(r,(8),1 — e,1 + e)Ã,)],
Hàm mục tiêu này chon giá trị nhỏ hơn giữa tỉ lệ r;(Ø) nhân với lợi ích ước
lượng và tỉ lệ đã được clipping nhân với lợi ích ước lượng A, và tỉ lệ đã được clipping
nhân với A;
Thuật toán PPO có một số đặc điểm:
e PPO là một thuật toán "off-policy", nghĩa là nó có khả năng học từ các mẫu
dữ liệu lịch sử không phải từ chính sách hiện tại.
e Thuật toán này đặc biệt hữu ich trong các trường hợp có ít dữ liệu lịch sử
hoặc khi cần sử dụng lại các mau đữ liệu cũ
3.7 Thuật toán Advantage Actor Critic (A2C)
Thuật toán A2C (Advantage Actor Critic) [7] là một thuật toán tiêu biểu trongnhóm actor-critic, được sử dung dé cải thiện cập nhật gradient của policy A2C tậndụng hàm Advantage, giúp giảm biến động của gradient và làm cho mô hình mạnh
mẽ hơn Mục tiêu của A2C được định nghĩa qua hàm lợi ích mà mạng policy và mạngcritic cùng tối ưu hóa
A(s,,d,) = (St, Seti) +YVGe41) — V(S¿)
A2C sử dung các bản sao của cùng một agent dé cập nhật gradient với các mau
dữ liệu khác nhau, và dùng một coordinator dé truyền trung bình gradient qua tất cả
các agent đến một mạng lưới toàn cầu Thuật toán này hiệu quả về chỉ phí, nhanhchóng và làm việc tốt với kích cỡ batch lớn, làm cho nó trở thành một mô hình tuyệt
vời cho giao dịch tài chính do sự ôn định của nó.
28
Trang 283.8 Mạng Long Short Term Memory (LSTM)
Mạng Long Short-Term Memory (LSTM) là một phiên ban nâng cao củaRecurrent Neural Networks (RNNs), được thiết kế đặc biệt dé khắc phục vấn dégradient biến mat - một van đề lớn trong các RNN truyền thống Khả năng của LSTM
trong việc học các phụ thuộc dài hạn là nhờ vào cơ chế tế bào trạng thái của nó, giống
như một dây chuyền thông tin chạy xuyên suốt mạng, cho phép thông tin dễ dàngtruyền qua mà không bi thay đồi
&) ứ (2
Hình 3.4 Kiến trúc của LSTM [8]
Trái ngược với các RNN chuân mà chỉ có một tầng tanh đơn giản, LSTM sửdụng một cấu trúc phức tạp hơn gồm bốn tầng tương tác với nhau qua một hệ thống
công (gate) thông tin Các công này bao gồm công quên, công nhập và công xuất
-có chức năng lọc và điều chỉnh thông tin được lưu trữ trong trạng thái tế bào
Công quên (forget gate): Mục dich của cổng này dé xóa thông tin khỏi ngữ
cảnh không còn cân thiết.
29
Trang 29Hình 3.5 Cổng quên của LSTM [8]
f= ơ(Urh;_ + W; Xt)
Cổng đầu vào (input gate): Mục đích của cổng này dé chon thông tin dé thêm
vào ngữ cảnh hiện tại:
ty = ơ(U,h;_¡ + W;x,)
Jt = tanh(U,h¿_¡ + W,x;)
Hình 3.6 Công đầu vào của LSTM [8]
Công đầu ra (output gate): Được sử dụng dé quyết định thông tin nào là cần
thiết cho trạng thái an hiện tai
Op = ø(Uạh¿_¡ + Wx)
30
Trang 30h, = 0, © tanh(c,)
Một biến thé đáng chú ý của LSTM là Gated Recurrent Unit (GRU) GRU kếthợp công quên và công đầu vào thành một công cập nhật duy nhất, đơn giản hóa môhình LSTM chuẩn và nhanh chóng trở nên phô biến
Công reset r: Quyét định khía cạnh nào của lớp ân trước đó có liên quan đên
bối cảnh hiện tại và những gì có thể bỏ qua.
Trang 313.9 Giải quyết van đề trạng thái 4n (hidden state) của RL bằng kết hợp RNN
Trong lĩnh vực Reinforcement Learning (RL), việc giải quyết van dé trạng thái
an (hidden states) rat quan trong, nhat 1a trong các nhiệm vụ non-Markovian Trong
môi trường non-Markovian, thông tin cần thiết cho quyết định tối ưu không hoàn toàn
có trong trạng thái quan sát được (observable state) hiện tại, yêu cầu phải xem xét
lịch sử của các hành động (actions) và trạng thái (states) quá khứ [9]
Vấn đề hidden state trong RL xuất hiện khi chỉ có thể quan sát được actions
và kết qua (observations), nhưng không thé xác định chính xác trạng thái tiếp theo
(next state) Điều này tạo ra thách thức trong việc học hành vi tối ưu, vì không thể dự
đoán chính xác hậu quả của các actions.
Mạng nơ-ron lặp lại (Recurrent Neural Networks, RNN), và đặc biệt là kiến
trúc Long Short-Term Memory (LSTM), đã được chứng minh là có hiệu quả trongviệc giải quyết các van đề liên quan đến bộ nhớ trong ngăn hạn LSTM, được thiết kếvới cầu trúc đặc thù bao gồm công quên, cổng nhập và cổng xuất, có khả năng giữ và
xử lý thông tin qua các khoảng thời gian dài Nhờ khả năng này, LSTM có thể giữ lại
thông tin cần thiết trong khi loại bỏ những thông tin không cần thiết, giúp cải thiện
độ chính xác của dự đoán tình hình trong tương lai [10] Cơ chế của LSTM cung cấpkhả năng ghi nhớ trạng thái dựa trên dữ liệu quá khứ và hiện tại, cùng với sự điều
chỉnh từ các tham sô trọng sô và sai sô, cho phép nó trở thành một công cụ mạnh mẽ
32
Trang 32trong việc mô hình hóa các môi quan hệ phụ thuộc dài hạn và giải quyêt các van đê
Mô hình ARIMA, viết tắt của "Autoregressive Integrated Moving Average,"
là một mô hình thống kê tiên tiễn dùng dé phân tích dữ liệu chuỗi thời gian, nhằm dự
báo xu hướng tương lai Mô hình này kết hợp ba khái niệm chính: phần tự hồi quy
(AR), tích phân (1), và trung bình trượt (MA) Day là nền tảng cơ bản cho việc phân
tích dữ liệu và dự đoán xu hướng:
e Tự hồi quy (AR): Phan này liên quan đến việc mô hình hóa dựa trên sự liên
kêt của giá trị hiện tại với các giá tri trước đó.
e Tích hợp (1): Phan này biểu diễn sự khác biệt giữa các giá trị quan sát, cho
phép mô hình xử lý dữ liệu không dừng, tức là điêu chỉnh đê dữ liệu trở nên
ôn định qua thời gian.
e Trung bình trượt (MA): Phan này kết hợp lỗi giữa dự đoán và thực tế, và sử
dụng thông tin này để cải thiện mô hình
Mỗi yêu tô của ARIMA đóng vai trò như một phân của một hệ thông dự báotoàn diện Ký hiệu chuan cho mô hình ARIMA là ARIMA(p, d, q), nơi mà 'p' là số
33
Trang 33lượng hồi quy, 'd' là số lần tích phân cần thiết dé làm cho chuỗi thời gian 6n định, và
'q' là kích thước của MA Những tham số này giúp xác định cấu trúc cụ thé và kha
năng dự đoán của mô hình:
e p: Thứ tự độ trễ.
e d: số lần các quan sát thô khác nhau; còn được gọi là mức độ khác biệt
eq: kích thước của cửa số trung bình động, còn được gọi là thứ tự của đường
trung bình động.
Công thức ARIMA (0ø, d, q) có thé được biéu diễn như sau:
Trong công thức này:
©_ Y/: giá trị của chuỗi thời gian tai thời điểm t
e chang số biểu thị trung bình của chuỗi thời gian
© Óạ, ,Ó : các hệ số AR cho các giá trị trễ trong mô hình
© 0¡, , Øạ: các hệ số MA của các hạng lỗi trễ trong mô hình
e c,: là hạng sai số hoặc phần dư tại thời điểm t
ARIMA được ứng dụng rộng rãi trong dự báo ngắn hạn và thích hợp khi có
dữ liệu chuỗi thời gian lịch sử Nó dựa trên mối quan hệ thống kê giữa các điểm dữliệu liên tiếp, giúp phân tích và dự đoán xu hướng tương lai
3.11 Kết luận
Tại chương 3, tôi đã trình bày một cách chỉ tiết về thị trường ngoại hối cũng
như phương pháp giao dịch hiện đại được áp dụng trong môi trường này Tôi đãnghiên cứu cách thức truyền dữ liệu và phân tích dữ liệu sử dụng áp dụng công nghệBig Data bao gồm việc triển khai mô hình học máy và kỹ thuật học tăng cường trong
không gian tài chính.
Điểm mau chốt tôi muốn ghi nhận trong chương nay là việc triển khai công
nghệ mới như Kafka và Pyspark trong việc xử lý dữ liệu giao dịch Công nghệ nàykhông chỉ tăng tốc độ xử lý dữ liệu mà còn nâng cao khả năng sẵn sàng và độ tin cậy
trong quyết định giao dịch
34
Trang 34Hơn nữa, việc sử dụng các phương pháp học tăng cường như A2C, PPO, và
DQN, cùng với các mô hình học sâu như LSTM va GRU, đã cho thấy tiềm năng trong
việc phân tích và dự báo thị trường Những mô hình này không chỉ nâng cao độ chính
xác trong dự báo mà còn góp phần giảm thiểu rủi ro và tối ưu hóa lợi nhuận trong
giao dịch Do đó, tôi dự định tiếp tục ứng dụng và phát triển những phương pháp này,điều sẽ được thảo luận chỉ tiết trong các phần tiếp theo của công trình nghiên cứu
`
này.
35
Trang 35Chương 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ
4.1 Bộ dữ liệu
4.1.1 Bộ dữ liệu đánh của tác giả Zhiwen Zeng
Bộ dữ liệu cua tác giả Zhiwen Zeng [11] là cặp tiền tệ USD/JPY, khung thời
gian của bộ dữ liệu 5 phút với 75,000 dòng đữ liệu thu thập từ ứng dụng
Dữ liệu để đánh giá mô hình là bộ dữ liệu gồm 3 cặp tiền tệ: EUR/USD,
GBP/USD, USD/JPY Ba cặp tiền tệ với 3 khung thời gian: m5 (5 phút), HI (1 giờ),
D1(1 ngày)
Các dữ liệu cho việc đánh giá và lựa chọn mô hình được thu thập từ nguồn
Tradermate API, đây là trang web uy tín chuyên hỗ trợ, cung cấp các loại dữ liệu liênquan đến lĩnh vực kinh tế, tài chính mới nhất thông qua API và Websockets
Với từng bộ dữ liệu m5, H1, DI được phân chia cho 3 tập train, test, validation với hình minh họa như sau:
36
Trang 36Train Validation Test
ji Ï
| |
Hình 4.2 Cách chia các bộ dữ liệu tự thu thập
Dữ liệu được chia theo khoảng thời gian liên tục, với việc thực hiện train 70%
trên tập dữ liệu của từng cặp tiền tệ, tiếp theo mô hình sẽ thực hiện validation 15%
di liệu tiếp theo và 15% cho test ở những dữ liệu còn lại
4.2 Phân tích, khám phá bộ dữ liệu (Exploratory Data Analysis)
Các cột dữ liệu có ý nghĩa:
datadate: Ngày giao dịch Cột này ghi lại ngày ma dir liệu giao dịch được
thu thập, thường theo định dạng (YY YYMMDDHHMM),.
tic: Mã cặp tiền tệ Đây là mã nhận diện cho cặp tiền tệ được giao dịch, ví
dụ như EUR/USD, GBP/USD, v.v.
adjcp: Giá đóng cửa điều chỉnh Trong forex, đây có thé là tỷ giá hối đoáicuối cùng được ghi nhận trong ngày
open: Giá mở cửa Đây là tỷ giá hối đoái của cặp tiền tệ tại thời điểm thị
trường mở cửa.
high: Giá cao nhất trong ngày Giá trị này cho biết mức ty giá hối đoái cao
nhất mà cặp tiền tệ đã đạt được trong suốt ngày giao dịch
low: Giá thấp nhất trong ngày Day là mức tỷ giá hối đoái thấp nhất mà cặptiền tệ đã giao dịch trong ngày
volume: Khối lượng giao dịch
Các điêm dữ liệu có các cột vê giá gan giông nhau vi thê tôi quyết định lựa
chọn giá đóng, volume và thêm các chỉ báo kinh tế dé giúp bộ dữ liệu đa dạng hơn
37
Trang 374.2.1 Khám phá bộ dữ liệu của Zhiwen Zeng
Bộ dữ liệu của Zhiwen Zeng là cặp tiền tệ USD/JPY có thời gian 01-01-2019đến 31-12-2019 Sau khi tiền xử lý gồm có 74880 dòng Và 6 cột dữ liệu: datadate,
adjcp, open, high, low, volume.
Trang 38EUR/USD 5-minute Adjusted Close Price EUR/USD 5-minute Open Price
12 4 — Adjusted Close Price un — open Price
EUR/USD 5-minute High Price EUR/USD 5-minute Low Price
ne | — High Price 1z 4 — Low Price
Hình 4.4 Biéu đồ đường giá trị Price các column của cặp tiền USD/JPY
khung thời gian 5 phút 4.2.2 Kham phá bộ dữ liệu khung thời gian 5 phút — m5
Tôi đã thu thập được 3 bộ dữ liệu với khung thời gian 5 phút đại diện cho 3cặp tiền tệ EURO/USD, GPU/USD, USD/JPY
Mỗi bộ dữ liệu m5 gồm có 18935 dòng, là bộ dữ liệu có kích thước lớn nhấttrong các bộ các khung thời gian khác nhau (m5, HI, D1) Bộ dữ liệu gồm có 7
thuộc tính chính là datadate, tic, adjcp, open, high, low, volume Thời gian của bộ
dữ liệu này từ ngày 01/09/2023 đến 01/12/2023 Dưới đây là mẫu dữ liệu và biéu đồtrực quan các thuộc tính của cặp tiền tệ EURO/USD cho khung thời gian 5 phút:
39
Trang 39EURUSDS ! 4 4 08810
EURUSDS ! ! 4 08788
35 rows x 7 columns
Hình 4.5 Mẫu bộ dữ liệu m5 (cặp tiền EURO/USD)
EUR/USD 5-minute Adjusted Close Price EUR/USD 5-minute Open Price
tạo | — Adiusted close Price tạo | —— Open Price
EUR/USD 5-minute High Price EUR/USD 5-minute Low Price
tạo | — High Price tao | —— tow Price
Trang 40EUR/USD 5-minute Trading Volume
4.2.3 Khám phá bộ dữ liệu khung thời gian 1 gid - H1
Tôi đã thu thập được 3 bộ dữ liệu với khung thời gian 1 giờ đại diện cho 3
cặp tiền tệ EURO/USD, GPU/USD, USD/JPY
Mỗi bộ dữ liệu m5 gồm có 19808 dòng, là bộ dữ liệu có kích thước lớn nhất
trong các bộ các khung thời gian khác nhau (m5, HI, DI) Bộ dữ liệu gồm có 7
thuộc tính chính là datadate, tic, adjcp, open, high, low, volume Thời gian của bộ
dữ liệu này từ ngày 01/10/2020 đến 01/12/2023 Dưới đây là mẫu dữ liệu và biéu đồ
trực quan các thuộc tính của cặp tiền tệ EURO/USD cho khung thời gian 1 giờ:
41