` „ Với lòng to mo va 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 trinh nay voi niém tin rang nam bat được xu hướng giá của Bitcoin khong chi la một t
Trang 1
O DUC VA DAO TAO TRUONG G3 DA ah OCN NGUYEN TAT THANH
A°CONG NGHE THONG TIN
NGUYEN TAT THANH
DO AN MON HOC
Giang vién giang day: Ha Minh Tan
Sinh viên thực hiện : Phan Thanh Phong
MSSV : 2100006611
Môn học : Chuyên đề chuyên sâu Khoa Học Dữ Liệu Khóa :2021
Tp.HCM, tháng 1 năm 2024
Trang 2LOI CAM ON Lời đầu tiên cho phép chúng em gửi lời cảm ơn tới các thầy cô trong khoa Công nghệ thông tin - Trường Đại học Nguyễn Tắt Thành, những người đã hết mình truyền đạt và chỉ dẫn cho chúng em những kiến thức, những bài học quý báu và bồ ích Đặc biệt chúng em xin được bày tỏ chân thành cảm ơn giảng viên Hà Minh Tân người trực tiếp hướng dẫn, chỉ bảo chúng em trong suốt quá trình học tập, nghiên cứu và hoàn
thành được đồ án
Gan đây chắc hăn các bạn đã nghe nhiều tới các khái niệm chứng khoáng va mua bán những cô phiêu chứng khoáng qua ứng dụng điện tử Nếu như trước đây, khách hàng muốn mở tài khoản ngân hàng, mở thẻ ATM sẽ phải đến trực tiếp quầy giao dịch đề thực hiện các thủ tục đăng kí, xác mình thông tm, thì giờ đây các thao tác
này đều có thể thực hiện qua chiếc điện thoại nhờ Và bài toán PHÂN TÍCH THỊ TRƯỜNG CHỨNG KHOÁNG VA SOFT MOBILE ~ MUA BÁN
Đây là một bài toán rất thường gặp trong thực tế và đã có rất nhiều mô hình được đưa ra để giải quyết như: mô hình Naive Bayes, KNN (K-Nearest- Neighbor), Cây quyết dinh (Decision Tree), Mang Neuron nhan tao (Artificial Neural Network) va SVM (Support Vector Machine) Méi m6 hinh déu cho két quả khá tốt cho bài toán này,
tuy nhiên mô hình phân loại hình ảnh bằng thuật toán CNN được sử dụng phô biên hơn
cả và dễ đàng cài đặt Chính vì vậy chúng em lựa chọn đề tài “ PHÂN TÍCH THỊ TRƯỜNG CHỨNG KHOÁNG VÀ SOFT MOBILE ~ MUA BÁN” làm đề tài kết thúc
môn học của mình
Trong quá trình nghiên cứu và làm đề tài, do năng lực, kiến thức, trình độ bản thân chúng em còn hạn hẹp nên không tránh khỏi những thiếu sót và chúng em mong mỏi nhận được sự thông cảm và những góp ý từ quý thầy cô cũng như các bạn trong lớp
Chúng em xin chân thành cảm ơn !
Sinh viên thực hiện
Phan Thanh Phong
` _ ` KY THI KET THUC HOC PHAN TRUGNG DAI HOC NGUYEN TAT THANH HQC KY I NAM HOC 2023 - 2024 TRUNG TAM KHAO THi
Trang 3
1 Phan Thanh Phong
2 Đỗ Nguyễn Tùng Dương
3 Diệp Anh Tuần
4 Ngô Thủy Tiên
5 Lương Công Thuận
6 Trương Thanh Tin
7 Nguyễn Đức Lương
Ngày thị: 18/01/2024
Đề tài tiêu luận/báo cáo của sinh viên :
KHOANG VA SOFT MOBILE — MUA BAN
Câu trúc của báo cáo | Su hhren 1
Đồ á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 nhằm mục 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á Bifcoin, từ các yếu tô kỹ thuật như cung và cầu đến
Trang 4mô hình dự đoán chính xác và đáng tin cậy ` „ Với lòng to mo va 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 trinh nay voi niém tin rang nam bat được xu hướng giá của Bitcoin khong chi la mộ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
Ngày nay 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 img ứ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ự độn hoá, thị giác máy tính, lIrí tuệ nhân tạo ngày cảng trờ thành một phân không thê thiêu của cuộc sông Sự tồn tại và phát 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 đã chon de tai “PHAN TICH THI TRUONG CHUNG KHOANG VA SOFT MOBILE — MUA BAN” dé nghién cứu và việt bao cáo
NHAN XET CUA GIANG VIEN GIANG DAY
OE Tp.IICM, Ngày „ thang nam
iang viên giảng dạy (Ký tên và ghi rõ họ tên)
Hồ Mình Tâm
Trang 6
CHUONG 1
GIOI THIEU
1.1 Giới thiệu đề tài
Dự đoán giá Bitcoin là một đề tài quan trọng trong lĩnh vực tài chính và tiền điện tử, đặc biệt là trong bối cảnh Bitcom trở thành một phan quan trong của hệ thống tài chính toàn cầu Gia cua 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
Trang 7Đề tài này có ý nghĩa lớn trong việc đánh gia rủi 1o và cơ hội đầu tư trong lĩnh vực tiền điện tử Chúng ta hy vọng răng, việc nghiên cứu về dự đoán giá Bitcom 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ý do 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
Mục tiêu của đề tài "Dự đoán giá Bitcoin" la tập trung vào việc nghiên cứu và phát 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ệ nhan tao nhu hoc sau (deep learning) dé xay
dựng mô hình dự đoán dựa trên đữ liệu lịch sử và thông tm thị trường liên quan Mạn:
nơ-ron, LSTM (Long Short-Term Memory), và 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 vi nghiên cứu
Đối tượng nghiên cứu:
Thị trường bitcoin
Trang 8Pham vi cua dé tai :
Sử dụng dữ liệu lịch sử từ năm 2010-2023 về giá Bitcoin, giao dị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
dựng các mô hình dự đoán gia Bitcoin
CHƯƠ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ử đụ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 dạng, chuỗi (sequence/ time- series), có thé mang thong tin của ñame (ảnh) từ state trước tới các state sau, rồi 6 state cudi la sw kết hợp của tat ca các ảnh đề đự đoán hành động
LSTM (Long Short-Term Memory): Cải tién của RNN, giải quyét van dé vanishing gradient bang cach sử 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 thu 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ử
Trang 9=+ +) va =+)
Véi,,,, lacac hé s6 duoc chia sé tam thoi va 1a cac ham kich hoat
Zo
Hình 2 Mạng Neu-ron hỗi quy
Hinh 3 Các loại bài toán RNN
2.2.2 Phân loại bài toán RNN
- One to one: mẫu bài toán cho Neural Network (NN) và Convolutional Neural Network (CNN), | input va | output, vi du voi CNN input la anh va output la anh duoc segment
- One to many: bai toan co | input nhung nhiéu output, vi du: bai toan caption cho anh, input la 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, ví dụ bài toán phân loại hành động trong video, mput là nhiều ảnh (frame) tách ra từ viđeo, ouptut là hành động trong video
- Many to many: bài toán có nhiều input va nhiéu output, vi dy bai toan dich tir tiéng anh sang tiếng việt, input la | cau gom nhiều chữ: “I love Vietnam” và output cũng là Ï câu 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
-Ổ = Hàmtốiưu
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 giá trị nhỏ nhất (trong trường hợp tối thiêu hóa) Hàm mất mat thuong 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 đảo tạo
Các hàm tối ưu thông dụng:
- Adam:
Trang 10Trong đó 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ỏ đề tránh chia cho 0
- Gradient Descent (GD):
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 tạo
Cac ham mat mat (loss function) được sử dụng đề đo lường sự chênh lệch giữa giá trị dự
đoán của mô hinh 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
là tôi thiêu hóa giá trị của hàm mat mat, tue là làm cho dự đoán của mô hình càng gân giá
trị thực tề càng tôt
Các hàm mắt mát thường dùng :
- Mean Squared Error (MSE):
Trang 11- Mean Absolute Error (MAE):
Với là giá trị thực tế, là giá trị dự đoán ứng với mẫu thứ trong đữ liệu
2.2.4 GRU/LSTM
- GRU: La mét kién tric mang no-ron hồi quy (RNN) được thiết kế để giải quyết vấn đề gradient biến mắt Sử 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 đài hạn trong đữ liệu tuần tự
Trang 12tương lai đều quan trọng đề dự đoán một giá 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 14Hinh 7 Deep (DRNN) 2.3 Xây dựng bộ dữ liệu
Bộ đữ liệu được lây từ trang Finance với các đữ liệu sau:
Date: Ngay thang nam
Price: Gia cua bitcoin đây là dữ liệu muốn dự đoán
Open: Giá bitcom khi mở phiên giao dịch
High: Gia cao nhất
3.1.1 Lên kế hoạch thiết kế
Mục tiêu: thiết kế ứng đụng dùng thuật toán RNN /LSTM đề dự đoán giá cô phiếu của
ngày tiếp theo
- Cho phép chọn file đữ 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)
Trang 15- 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
- Khoi tao chuong trinh:
Đề khởi tạo chương trình dùng tkinter ta thực hiện như sau:
Trang 16Khoi tao m6t ctra s6 tén la ‘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:
+ Bảng dữ liệu
Trang 17Tao table véi scrollbar bang tkinter Treeview nam trong frame data
Vị phải sửa lại heading (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
Định dạng lại cho table đề chỉ sử 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 18
Tao mot lable rong (chưa có text) dùng đề hiện đường dẫn ñle
Tạo một nút đê mở cửa sô chọn file
file mput() cho việc lây dữ liệu từ file và xử lý dữ liệu đê đưa đữ liệu về dạng phù hợp cho chương trình (được lưu đưới biến toan cuc df )
show_table() dimg cho viéc chuyén dé liéu trong bién toan cyc df biéu dién dudi dang ban:
+ Lay dữ liệu từ Internet
Trang 19
Đề lấy dữ liệu từ internet thông qua thư vién yfinance ta can 3 thanh phan bao gom: Tén -> input _label_name : Dung Textbox đề nhận dữ liệu
Ngày bắt dau -> date start -> cal start: Dùng DateEntry từ thư viện tkcalendar
Ngày kết thúc -> dafe_end -> cal_end: Dùng DateEntry từ thư viện tkcalendar
Iinput 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 diễn dữ liệu đưới
dạng bảng
+ Xử ly dữ liệu:
Trang 20Đôi khi sẽ có những đữ liệu do số quá lớn nên trên các nên tảng dữ liệu họ sẽ chuyển các con sô thành những chữ cái như K dé biéu thị cho nghìn, M cho hàng triệu và B cho hàng
tỷ Ngoài ra họ còn có thê thêm các đấu chấm hoặc phây đề biểu diễn các con số cho để nhìn hơn
Nhưng như thé thì mô hình máy học không thê hiểu được và sẽ gặp lỗi khi huấn luyện vậy nên ta cần chuyển các chữ cái và ký tự đó về dạng phù hợp
Vì cần biểu diễn hai phần khác nhau một phân sẽ biểu diễn biêu đồ phần còn còn lại sẽ là phần huấn luyện và dự đoán nên ta sẽ chia phần bên dưới thành hai tab: “Plot' và
‘Predict’
- Biều đồ dữ liệu: