Sự khảo sát sâu rộng về các yếu tố ảnh hưởng đến giá Bitcoin, từ các yêu tô kỹ thuật như cụng và cầu đến những ảnh hưởng ngoại vi như chính trị và kinh tê, sẽ được thực hiện dé xây dựng
Trang 1
BỘ GIÁO DỤCVÀ ĐÀOTẠO
TRƯỜNG ĐẠI HỌC NGUYÊN TẤT THÀNH
KHOA CONG NGHE THONG TIN
NGUYEN TAT THANH
CHUYEN DE CHUYEN SAU VE KHOA HOC DU LIEU 1 PHAN TICH THI TRUONG CHUNG KHOAN
VA
SOFT MOBILE-MUA BAN
Giảng viên giảng dạy: Hà Minh Tân
Sinh viên thực hiện: Lương Công Thuận
Chuyên ngành : KHOA HỌC DỮ LIỆU
Tp.HCM, ngay 18 thang 1 Nam 2024
Trang 2
BỘ GIÁO DỤCVÀ ĐÀOTẠO
TRƯỜNG ĐẠI HỌC NGUYÊN TẤT THÀNH
KHOA CONG NGHE THONG TIN
NGUYEN TAT THANH
CHUYEN DE CHUYEN SAU VE KHOA HOC DU LIEU 1 PHAN TICH THI TRUONG CHUNG KHOAN
VA
SOFT MOBILE-MUA BAN
Giảng viên giảng dạy: Hà Minh Tân
Sinh viên thực hiện: Đỗ Nguyễn Tùng Dương
Chuyên ngành : KHOA HỌC DỮ LIỆU
Tp.HCM, ngay 18 thang 1 Nam 2024
Trang 3Họ vàtên: Lương Công Thuận MSSV: 2100011144
Chuyén nganh: KHOA HOC DU LIEU Lép: 21DTH2C
Email: luongcongthuann@gmail.com SDT : 039418613
Tên đề tài: Phân tích thị trường chứng khoáng và soft mobile-mua bán
Giảng viên giảng dạy: Hà Minh Tân
Thời gian thực hiện: 9/10/2023 đến 18/1/2024
Nhiệm vựw/nội dung (mô tả chỉ tiết nội dung, yêu cầu, phương pháp ):
Nội dung và yêu cầu đã được thông qua bộ môn
Đồ án này không chỉ là một nỗ lực để hiểu rõ hơn về cơ chế hoạt động của thị 4rường Bitcom ma con nham muc tiêu dự đoán giá của nó trong tương lai Sự khảo sát sâu rộng
về các yếu tố ảnh hưởng đến giá Bitcoin, từ các yêu tô kỹ thuật như cụng và cầu đến
những ảnh hưởng ngoại vi như chính trị và kinh tê, sẽ được thực hiện dé xây dựng một
mô hình dự đoán chính xác và đáng tin cậy
Với lòng tò mỏ và sự hứng thú với sự phức tạp của thị trường tiền điện tử, chúng tôi bắt đầu hành trình này với niềm tin rằng nắm bắt được xu hướng giá của Bitcoin không chí là
Trang 4một thách thức mà còn là cơ hội đề hiệu sâu hơn về bản chất của tiền tệ sô và tác động của nó đôi với thê giới tài chính
Với sự phát triên ngày càng mạnh mẽ của trí tuệ nhân tạo Nó đã đem lại những ứng dụng
to lớn trong nhiêu lĩnh vực khác nhau như xử lý ngôn ngữ tự nhiên, tự động hoá, thị giác máy tính, Trí tuệ nhân tạo ngày cảng trờ thành một phân không thê thiêu c của cuộc sông Sự ton tai va phat triển của một doanh nghiệp, cơ quan, tô chức nhà nước, Không thê thiêu sự trợ giúp của trí tuệ nhân tạo Trong việc thu nhận và xử lý thông tin với khôi lượng ngày cảng lớn, nhiều lúc với những việc thủ công không đem lại hiệu quả mong muôn, lại tôn nhiêu công sức và thời gian Nhằm đem lại sự nhanh chóng và chính xác, giảm _ thiêu công sức của con người Nhóm em đã chọn đề tài “PHÁN TÍCH THI TRUONG CHUNG KHOANG VA SOFT MOBILE —- MUA BẢN” để nghiên cứu và viét bao cao
LOI CAM ON
Đề thực hiện và hoàn thành bài đề tài này, em đã nhận được sự hỗ trợ, giúp đỡ cũng như
là quan tâm, động viên từ quý Thây cô trường Đại học Nguyên Tat Thanh, dac biet là khoa Công nghệ thông tin, đã tận tình hướng dân, BIÚp đỡ Trước hết, em xin bày tỏ tắm lòng biết ơn sâu sắc với Th.S H6 Khéi — giang viên b6 mén “Deep Learning trong khoa hoc đữ liệu” người trực tiếp hướng dẫn, cung, cấp cho em những kiến thức, kỹ năng cần thiết để hoàn thành đề tài đã cung, cấp một số tải liệu liên quan đến đề tài mà em đang nghiên cửu và nhắc nhở em đến tiến độ thực hiện đồ án này, mặc dù lịch giảng dạy dày nhưng luôn đành nhiều thời gian, công suc hướng dẫn em trong suốt quá trình thực hiện nghiên cứu và hoàn thành đề tài này Xin gửi lời cảm ơn chân thành đến thây cô khoa CNTT, với sự quan tâm, dạy dỗ, chỉ bảo tận tình chu đáo thầy cô đã truyền đạt những kiến thức quý báu cho em trong suốt thời gian vừa qua Giúp em hiểu thêm nhiều kiến thức bồ ích, tinh than học tập hiệu quả và nghiêm túc, để hoàn thành được đồ án môn học này Tuy có nhiều có gắng trong bài tiêu luận môn học nhưng em còn nhiều hạn chế và bỡ ngỡ nên không tránh khỏi những thiếu sót Em rất mong nhận được những ý kiến đóng góp, giúp đỡ của thầy để bài tiêu luận của em được hoàn thiện hơn đồng thời tạo điều kiện để em bồ sung, nâng cao ý thức và trình độ chuyên môn của mình trong lĩnh vực này
Một lần nữa em xin chân thành cảm ơn!
Trang 5Sinh viên thực hiện
TRUNG TÂM KHẢO THÍ HQC KY I NĂM HỌC 2023 - 2024
Môn thi: Chuyên Đề Chuyên Sâu Khoa Học Dữ Liệu Lớp học phần: 2IDTH2D
Nhóm sinh viên thực hiện :
1 Phan Thanh Phong Tham gia dong gop: 10%
3 Diệp Anh Tuần Tham gia đóng góp: 10%
4, Ngô Thủy Tiên Tham gia đóng góp: 10%
5 Lương Công Thuận Tham gia dong gop: 15%
6 Truong Thanh Tin Tham gia đóng góp: 15%
7 Nguyễn Đức Lương Tham gia đóng góp 5%
Đề tài tiểu luận/báo cáo của sinh viên :PHÂN TÍCH VÀ DỰ ĐOÁN GIÁ BITCOIN
Phân đánh giá của giảng viên (căn cứ trên thang rubries của môn học):
Cấu trúc của | Gồm 7 chương I
Trang 6Giảng viên chấm thi (ky, ghỉ rõ họ tên)
h 1 Mang RNN
NHAN XET CUA GIANG VIEN GIANG DAY
Tp.HCM, Ngày 18 tháng 1 năm 2024
Giảng viên giảng dạy
(Ký tên và ghi rõ họ tên)
Trang 7
KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
Chữ viết tắt Ý nghĩa
RNN Recurrent Neural Network
GRU Gated Recurrent Unit
LSTM Long Short-Term Memory
BRNN Bidirectional Recurrent Neural Network
DRNN Deep Recurrent Neural Network
CNN Convolutional Neural Network
NN Neural Network
Trang 8
GD Gradient Descent
SGD Stochastic Gradient Descent
MSE Mean Squared Error
MAE Mean Absolute Error
CHUONG 1 GIOI THIEU
1.1 Giới thiệu đề tài
Dự đoán giá Bifcoin là một đề tài quan trọng trọng lĩnh vực tài chính và tiền điện tử, đặc biệt là trong bối cảnh Bitcoin trở thành một phan quan trọng của hệ thông tài chính toàn cầu Gia của Bitcom biến đôi mạnh mẽ theo thời gian và được ảnh hưởng bởi nhiều yếu
tố khác nhau, bao gồm cầu và cung, sự quan tâm từ phía các nhà đầu tư, tin tức và sự kiện thị trường, cũng như tình hình kinh tế toàn cầu
Dự đoán giá Bitcoin là một nhiệm vụ phức tạp đòi hỏi sự hiểu biết về nền kinh tế, thị trường tài chính, và công nghệ blockchain Các nhà nghiên cứu và chuyên gia tài chính
đã áp dụng nhiều phương pháp khác nhau để cô gắng dự đoán giá của loại tiền điện tử này, bao gôm phân tích kỹ thuật, phân tích cơ bản, mô hình hóa toán học, và sử dụng trí
tuệ nhân tạo
Đề tài này có ý nghĩa lớn trong việc đánh giá rủi 1o và cơ hội đầu tư trong lĩnh vực tiền điện tử Chúng tạ hy vọng răng ` việc nghiên cứu về dự đoán giá Bitcoin sẽ đóng góp vào
sự hiểu biết về tiền điện tử và tiền tệ kỹ thuật số giúp người dùng đưa ra quyết định thông minh trong việc quản lý tài sản và đầu tư trong thị trường này
1.2 Lý do chọn đề tài
Lý đo chọn đề tài "Dự đoán giá Bitcoin" là để hiểu biết thêm về tiền điện tử, cách thức
hoạt động cũng những ảnh hưởng đến tiên điện tử, giúp hiểu rõ thị trường tiền điện tử và tài chính kỹ thuật sô Nó có thê giúp đôi tượng nghiên cứu và người đầu tư đưa ra quyết định thông minh, tôi ưu hóa lợi nhuận và giảm rủi ro trong môi trường đầu tư đây thách thức này
1.3 Mục tiêu đề tài
Trang 9Mục tiêu của đề tài "Dự đoán giá Bitcoin” là tập trung vào việc nghiên cứu và phat triển phương pháp dự đoán giá của loại tiên điện tử này Nghiên cứu sâu về yêu tô ảnh hưởng đến giá Bitcoin, phát triển mô hình dự đoán sử dụng các phương pháp phân tích kỹ thuật,
mô hình hóa toán học, và trí tuệ nhân tạo đê xây dựng các mô hình dự đoán giá Bitcoin
1.4 Phương pháp đề tài
Áp dụng các phương pháp học máy và trí tuệ nhân tạo như học sâu (deep leaming) để xây
dựng mô hình dự đoán dựa trên đữ liệu lịch sử và thông tin thị trường liên quan Mạn,
no-ron, LSTM (Long Short-Term Memory), va RNN (RecurrentNeural Network) có thê
được sử dụng trong việc dự đoán gia
Phương pháp kết hợp các khía cạnh của phân tích kỹ thuật, phân tích cơ bản, mô hình
toán học và trí tuệ nhân tạo có thê giúp tạo ra các dự đoán giá Bitcoin đáng tin cậy và hữu
ích cho người dùng cuôi trong việc đưa ra quyết định đầu tư
1.5 Đối tượng và phạm vỉ nghiên cứu
Đối tượng nghiên cứu:
Thị truong bitcoin
Pham vi của đề tài :
Sử dụng dữ liệu lịch sử từ năm 2010-2023 về giá Bitcoin, giao địch, cầu và cung, và các yếu tố thị trường liên quan đề phát triển mô hình dự đoán
Sử dụng phân tích kỹ thuật, phân tích cơ bản, mô hình toán học, và trí tuệ nhân tạo dé xây
Trang 10CHƯƠNG 2
ỨNG DỤNG VÀ THUẬT TOÁN
2.1Giới thiệu bài toán
RNN (Mạng Nơ-ron Hồi Quy): Sử dụng kiến trúc vòng lặp đề duy trì thông tin trạng thái trước đó RNN có thể xử lý thông tin dang chuỗi (sequence/ time- series), có thé mang thong tin của frame (ảnh) từ state trước tới các stafe sau, rôi ở sfafe cuôi là sự kết hợp của tất cả các ảnh đề dự đoán hành động
LSTM (Long Short-Term Memory): Cai tién của RNN, giải quyết vấn đề vanishing gradient bang cach str dụng các công (gates) để kiểm soát luéng thông tin
Dự đoán giá Bitcoin là một thách thức quan trọng trong thị trường tài chính và tiền điện
tử Bài toán này đặt ra đề hứng thủ nhà đầu tư, giao dịch viên, và những người quan tâm đến thị trường tiền điện tử
2.2 Mô tả thuật toán
2.2.1 Mạng RNN
Kiến trúc mạng RNN truyền thông: Các mạng neural hồi quy, còn được biến đến như là RỊNNs, là một lớp của mạng ncural cho phép đầu ra được sử dụng như đầu vào trong khi
CÓ các tạng thai ân Thông thường là như sau: |
Tại mối bước t, giá trị kích hoạt và đâu ra duoc biéu diễn như sau:
Voi, ,,, là các hệ s6 duoc chia sé\tam—thoi va la cac ham kích hoạt
Trang 112.2.2 Phân loại bài toán RNN
- One to one: mẫu bài toán cho Neural Network (NN) va Convolutional Neural Network (CNN), | input va | output, vi du voi CNN input la anh va output là ảnh duoc segment
- One to many: bai toan co | input nhung nhiéu output, vi du: bai toan caption cho anh, input là l ảnh nhưng output là nhiều chữ mô tả cho ảnh đấy, dưới dạng một câu
- Many to one: bài toán có nhiều input nhung chi co | output, vi du bai toan phan loai hành động trong video, input là nhiều anh (frame) tach ra từ video, ouptut là hành động trong video
- Many to many: bài toán có nhiều input va nhiéu output, vi du bài toán dịch từ tiếng anh sang tiêng việt, input là Ï câu gôm nhieu chit: “I love Vietnam” va output cting la 1 cau gôm nhiêu chữ ““Tôi yêu Việt Nam”
2.2.3 Hàm tối ưu, hàm mắt mát
+ Ham téi vu
Hàm tối uu(optimization function) la một hàm được sử dụng trong quả trình tối ưu hóa Mục tiêu chính của quá trình tôi ưu hóa là tìm ra giá trị của các tham sô của mô hình sao cho ham mat mat dat gia trị nhỏ nhất (trong trường hợp tối thiêu hóa) Hàm mất mat
thường là một đo lường của sự chênh lệch giữa giá trị mô hình dự đoán và giá trị thực tế của đữ liệu dao tao
Các hàm tối ưu thông dụng:
- Adam:
Trong đó và là các véc-tơ trung bình chuyển động, và là các ước lượng được điều chỉnh, là tỉ lệ học, và là các hệ số trọng số, là gradient, là một giá trị nhỏ dé tránh chia cho 0
Trang 12- Gradient Descent (GD):
Trong đó là vector tham số tại bước thời gian là tỉ lệ học, là đạo hàm của hàm mất mát
theo
- Stochastic Gradient Descent (SGD):
Trong đó là một chỉ số ngẫu nhiên, thường được chọn từ tập dữ liệu đào tao
+ Ham mat mat
Cac ham mat mat (loss function) duoc su dung đề đo lường sự chênh lệch giữa giá tri dự đoán của mô hình và giá trị thực tế của đữ liệu Mục tiêu chính của một mô hình máy học
la toi thiéu hóa giá trị của hàm mắt mát, tức là làm cho đự đoán của mô hình càng gần giá trị thực tế càng tot
Các hàm mắt mát thường dùng :
- Mean Squared Error (MSE):
Với là giá trị thực tế, là giá trị dự đoán ứng với mẫu thứ trong đữ liệu
- Mean Absolute Error (MAE):
Trang 132.2.4 GRU/LSTM
- GRU: Là một kiến trúc mạng nợ-ron hồi vn (RNN) được thiết kế đề giải quyết van dé
ề gradient bién mat Str dụng các công (gates) đề kiêm soát dòng thông tin qua thời gian và giữ cho mô hình có khả năng học các phụ thuộc dài hạn trong đữ liệu tuân tự
Trang 14tương lai đều quan trọng đê dự đoán một gia trị tại một thời điểm cụ thê BRNN giúp cải
thiện khả năng dự đoán trong các tình huông như vậy
Trong đó là trạng thái ân từ hướng trái sang phải và là trạng thái ân từ hướng phải sang trái
Trang 15- Deep RNN mô hình mạng nơ-ron hồi quy (RNN) mà có nhiều tầng (layers) hơn so với RNN thông thường Mỗi tâng trong mang thường tương ứng với một lớp RNN Ý tưởng
là sử dụng nhiều tầng để học các mức biểu diễn phức tạp và hierarchical từ đữ liệu đầu
vào
2.3 Xây dựng bộ dữ liệu
Trang 16Bộ đữ liệu được lấy từ trang Finance với các đữ liệu sau:
Date: Ngày tháng năm
Price: Gia cua bitcoin day là dữ liệu muốn dự đoán
Open: Gia bitcoin khi mo phién giao dich
High: Gia cao nhat
Low: Gia thap nhat
Vol.: Chênh lệch tỉ giá có thể giúp đo lường mức độ biến động của giá
CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG NGÔN NGỮ PYTHON
3.1 Xây dựng ứng dụng và giải thích
3.1.1 Lên kế hoạch thiết kế
Mục tiêu: thiết kế ứng dụng dùng thuật toán RNN / LSTM đề dự đoán giá cỗ phiếu của ngày tiếp theo
- Thiết kế UI bằng tkinter va customtkinter
- Cho phép chọn file dữ liệu (csv) hoặc nhập mã đề lây dữ liệu từ internet
- Hiển thị biểu đồ tông quan
- Thiết kế model ( batch size, epoch, optimizer, loss function, layer, unit per layer)
- Hién thị biêu đồ huấn luyện
-Dự đoán giá cho ngày tiếp theo
3.1.2 Thiết kế từng phần
Trang 17Đề khởi tạo chương trình dùng tkinter ta thực hiện như sau:
Khởi tạo một cửa số tên là ‘window’ voi 1280 x 720 pixel va phan tiéu dé la ‘Predict MaketPlace’
Hàm on closing sẽ được thực hiện khi đóng chương trình và trong ứng dụng này nó sẽ xóa những hình biêu đồ khi thoát chương trình
- Thành phân đưa dữ liệu vào:
Trang 18Tạo table với scrollbar bằng tkinter Treeview nam trong frame data
Sửa lại định dạng và kiêu mầu của table băng tkinter Style ; Ộ
Vì phải sửa lại headimng (dòng đầu của bảng) và phân đữ liệu hiện thị nên sẽ cân 2 câu lệnh configure ,
Dinh dang lai cho table dé chi su dụng không gian bên trong frame_ data mà không ảnh hưởng đên kích thước cửa sô
+ Nút và đường dân file dữ liệu
Trang 19rr | : |
|
Tao mot lable rong (chưa có text) dùng đề hiện đường dẫn file
Tạo một nút đề mở cửa sô chọn file
Đê thực hiện việc chọn file và xử lý dữ liệu ta tạo 2 hàm: - ‹
file mput() cho viéc lây dữ liệu từ file và xử lý dữ liệu đề đưa dữ liệu về dạng phù hợp
cho chương trình (được lưu dưới biện toàn cục df) —ˆ ; -
show _ table() dùng cho việc chuyên dữ liệu trong biên toàn cục đỀ biêu điền dưới dạng
Trang 20bảng
+ Lay đữ liệu từ internet
Trang 21Đề lấy đữ liệu từ internet thông qua thư viện yfnance ta cần 3 thành phần bao gồm: Tên -> mput label_ name : Dùng Textbox đề nhận dữ liệu
Ngày bat đầu -> date start -> cal start: Dùng DateEntry từ thư viện tkcalendar
Ngày kết thúc -> đate_end -> cal_end: Dùng DateEntry từ thư viện tkcalendar
Hai hàm get stock data() va get date from_cal() dung để lấy đữ liệu từ input label_name, date_start và date_end chuyên đỡ liệu date thành dạng phù hợp và bắt đầu lây đữ liệu và gán vào df cuối cùng là gọi hàm show _ table() đề biêu điển dữ liệu đưới
Trang 23Tao hai nút với hai cách tạo biêu đồ khác nhau từ thư viện plotly
- Dự đoán :
Trang 24+ Optimizer: Cho phép chon cac optimizer dé huan luyén va dự đoán
+ Loss function: Cho phép chon loss function cho mô hình
Trang 25+ Batch size : Cho phép tùy chỉnh kích thước mỗi batch
+ Epoch : Điều chỉnh số bước lặp quá trình train
+ Layer : Có thé thêm số lượng các lớp LSTM tối thiểu là 1 tối đa là 15 ( trong lớp mô
hình đã có sẵn I lớp)
Trang 26+ io 5 A ° = oO 5 3 5 @ ° 5 2 gz = 5 5 ou E- @ ° a Oo = 5
+ Checkbox: Tuy chon xem biéu đồ huấn luyện mô hình ( Có chọn: Mở xem ở browser,
Không chọn: Xem dưới dạng ảnh)
x x
+ Processbar: Biéu diễn quá trình huấn luyện mô hình