Chương 1: Giới thiệu Dự đoán giá cổ phiếu đã trở thành một lĩnh vực quan trọng của nghiên cứu tài chính, trong đó các nhà đầu tư không ngừng tìm kiếm các phương pháp để đạt được lợi thế
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ - LUẬT
BÁO CÁO CUỐI KỲ MÔN HỌC
TÊN MÔN HỌC: PHÂN TÍCH DỮ LIỆU
MÃ HỌC PHẦN: DH_HK232
TÊN ĐỀ TÀI: DỰ ĐOÁN GIÁ CỔ PHIẾU GOOGLE
Giảng viên hướng dẫn: TS Nguyễn Thôn Dã
Danh sách thành viên nhóm:
1 K224141731, Nguyễn Trọng Nghĩa
Thành phố Hồ Chí Minh, 2024
Trang 2Mục Lục
Chương 1: Giới thiệu 2
Chương 2: Mô tả dữ liệu, phân tích tổng quan về dữ liệu 3
2.1 About Dataset 3
2.2 Distribution of Data 4
2.3 Descriptive Analysis 6
2.3.1 Moving Average Analysis 6
2.3.2 Volume Analysis 9
2.3.3 Market Cap Analysis 11
2.3.4 Volatility Analysis 13
Chương 3: Phương pháp luận nghiên cứu 14
3.1 Train/test Split 14
3.2 Standard Scaler and build complete dataset 14
3.3 Model Configuration 16
3.4 Result 18
Chương 4: Kết quả thử nghiệm và phân tích 20
4.1 Discussion 20
4.2 Recommendations 20
Chương 5: Kết luận 21
5.1 Ưu điểm 21
5.2 Hạn chế 21
5.3 Hướng phát triển 22
Trang 3Lời cảm ơn của nhóm
Em chỉ xin viết những lời này để ơn cảm thầy Nguyễn Thôn Dã, giảng viên bộ môn đã đồng hành cùng em trong suốt thời gian vừa qua Cảm ơn thầy vì đã tận tâm và tận tình giải đáp các thắc mắc và mang lại không khí vui vẻ cho lớp học
Chương 1: Giới thiệu
Dự đoán giá cổ phiếu đã trở thành một lĩnh vực quan trọng của nghiên cứu tài chính, trong
đó các nhà đầu tư không ngừng tìm kiếm các phương pháp để đạt được lợi thế trên thị trường Phân tích chuỗi thời gian là một công cụ mạnh mẽ để lập mô hình và dự báo xu hướng tương lai của dữ liệu tài chính
Nghiên cứu này nhằm mục đích tận dụng phân tích chuỗi thời gian để dự đoán giá đóng cửa của cổ phiếu Google (GOOG) và đóng góp những hiểu biết có giá trị cho lĩnh vực dự
Trang 4Dự đoán chính xác giá đóng cửa có thể mang lại lợi ích đáng kể cho nhiều bên liên quan Nhà đầu tư có thể sử dụng những dự đoán này để đưa ra quyết định đầu tư sáng suốt, trong khi các tổ chức tài chính có thể tận dụng chúng để quản lý rủi ro và tối ưu hóa danh mục đầu tư của họ Bằng cách đi sâu vào dữ liệu lịch sử về giá cổ phiếu của Google, nghiên cứu này tìm cách phát triển một mô hình chuỗi thời gian mạnh mẽ giúp nắm bắt hiệu quả các
mô hình và xu hướng cơ bản, cuối cùng là cải thiện độ chính xác của dự đoán giá đóng cửa
Chương 2: Mô tả dữ liệu, phân tích tổng quan
về dữ liệu
2.1 About Dataset
Dự án này sử dụng một tập hợp con của bộ dữ liệu S&P 500 Stock Prices1 có sẵn trên Kaggle Bộ dữ liệu toàn diện này bao gồm dữ liệu lịch sử về giá của 500 công ty vốn hóa lớn được niêm yết trên các sàn giao dịch chứng khoán ở Hoa Kỳ
Đối với nhiệm vụ cụ thể là dự đoán giá cổ phiếu đóng cửa của Google, chúng tôi sẽ tập trung vào tệp dữ liệu tương ứng với biểu tượng cổ phiếu của Google, GOOG.csv Tệp này chứa thông tin lịch sử giá hàng ngày của cổ phiếu Google, bao gồm:
Table 1 Mô tả thuộc tính
Open Giá mở cửa của cổ phiếu vào ngày hôm đó
High Giá cao nhất mà cổ phiếu đạt được trong ngày
Low Giá thấp nhất mà cổ phiếu đạt được trong ngày
1 https://www.kaggle.com/datasets/henryhan117/sp-500-historical-data/code
Trang 5Close Giá đóng cửa của cổ phiếu vào ngày hôm đó là biến mục tiêu chính cho
mô hình dự đoán của chúng tôi
Volume Số lượng cổ phiếu được giao dịch trong ngày đó
Dividends Bất kỳ khoản cổ tức nào được Google phân phối vào ngày đó
Stock
Splits Bất kỳ đợt chia tách cổ phiếu nào xảy ra đối với Google vào ngày đó Bằng cách phân tích dữ liệu chuỗi thời gian này về cổ phiếu của Google, chúng tôi mong muốn xác định các mô hình và xu hướng có thể được tận dụng để dự đoán giá đóng cửa trong tương lai và đóng góp những hiểu biết có giá trị cho lĩnh vực dự báo giá cổ phiếu
2.2 Distribution of Data
Phần này mô tả các đặc điểm của tập dữ liệu được sử dụng để dự đoán giá cổ phiếu đóng cửa của Google:
Số lượng mẫu dữ liệu: Tập dữ liệu chứa 4505 điểm dữ liệu, thể hiện các quan sát
về giá cổ phiếu của Google từ 2004 đến 2022
Số lượng cột: Bộ dữ liệu bao gồm 8 cột chứa các thuộc tính tài chính khác nhau
Giá trị khuyết: Bộ dữ liệu không chứa giá trị bị khuyết, đảm bảo tập hợp đầy đủ
các điểm dữ liệu để phân tích
Trang 6Fig 1 Không thiếu giá trị nào
Giá trị không trùng lặp: Tập dữ liệu không chứa giá trị trùng lặp Mỗi điểm dữ
liệu đại diện cho một ngày duy nhất với thông tin giá cổ phiếu tương ứng Đặc điểm này rất quan trọng đối với việc phân tích chuỗi thời gian vì nó đảm bảo rằng chúng tôi đang lập mô hình diễn biến theo trình tự thời gian của giá cổ phiếu Google
Fig 2 Không chứa giá trị trùng lặp
Kiểu dữ liệu: Kiểu dữ liệu của từng cột như sau:
o Date: object (lưu trữ ngày ở định dạng như 'yy-mm-dd')
o Open, High, Low, Close, Stock Splits: float64 (biểu diễn dữ liệu số bằng số thập phân)
o Volume, Dividends: int64 (biểu diễn dữ liệu số nguyên)
Trang 7Fig 3 Kiểu dữ liệu của bộ dữ liệu
Thông tin này cung cấp sự hiểu biết cơ bản về cấu trúc dữ liệu và sự phù hợp của nó để phân tích chuỗi thời gian Việc không có sự xuất hiện cảu các giá trị bị thiếu và kiểu dữ liệu thích hợp cho các đặc tính số giúp đơn giản hóa giai đoạn tiền xử lý dữ liệu và tạo điều kiện thuận lợi cho việc áp dụng các kỹ thuật thống kê và học máy khác nhau để dự đoán giá cổ phiếu hiệu quả
2.3 Descriptive Analysis
2.3.1 Moving Average Analysis
Đường trung bình động (MA) là các chỉ báo kỹ thuật được sử dụng rộng rãi trên thị trường tài chính để xác định xu hướng và đưa ra quyết định giao dịch sáng suốt Chúng được tính bằng cách lấy trung bình giá của một chứng khoán trong một khoảng thời gian xác định, làm mịn đi những biến động ngắn hạn một cách hiệu quả và tiết lộ hướng xu hướng cơ bản
Trang 8Fig 4 Đường trung bình động giá mở cửa của Google (25 ngày)
Hình 4 và 5 cho thấy những giai đoạn suy giảm đáng kể của thị trường chứng khoán, xảy
ra vào cuối năm 2018, đầu năm 2020 và trong suốt năm 2022 Mặc dù những đợt suy thoái này có thể xuất hiện đột ngột và khó đoán, nhưng khi xem xét kỹ hơn sẽ thấy các yếu tố kinh tế vĩ mô riêng biệt ảnh hưởng đến từng sự kiện Bằng cách hiểu những yếu tố này, chúng ta có thể có được những hiểu biết có giá trị về tâm lý nhà đầu tư và thu nhập doanh nghiệp cuối cùng định hình chuyển động thị trường như thế nào
Fig 5 Đường trung bình động giá đóng cửa của Google (25 ngày)
Trang 9Có những sự kiện chính mà chúng ta phải chú ý:
Suy thoái 2018:
Sự suy thoái cuối năm 2018 được thúc đẩy bởi sự kết hợp của những lo lắng xung quanh bối cảnh kinh tế toàn cầu Các nhà đầu tư ngày càng lo ngại về khả năng các ngân hàng trung ương thắt chặt chính sách tiền tệ, có khả năng cản trở tăng trưởng kinh tế Những lo ngại cũng gia tăng liên quan đến sự chậm lại trong hoạt động kinh tế tổng thể, cùng với căng thẳng thương mại leo thang giữa Hoa Kỳ và Trung Quốc Những yếu tố này kết hợp lại tạo ra triển vọng bi quan về lợi nhuận doanh nghiệp và tương lai của thị trường Sự tiêu cực này đã gây ra làn sóng bán tháo trên diện rộng, khiến giá cổ phiếu sụt giảm mạnh
Cú sốc COVID-19 năm 2020:
Năm 2020 chứng kiến một đợt sụp đổ thị trường bất ngờ chưa từng có trong lịch sử gần đây Đại dịch COVID-19 đã gây ra một cú sốc kinh tế toàn cầu, làm gián đoạn hoạt động kinh doanh, cắt đứt chuỗi cung ứng và gây lo lắng lan rộng cho người tiêu dùng Khi các doanh nghiệp buộc phải đóng cửa và hoạt động kinh tế bị đình trệ, thị trường chứng khoán phản ứng bằng sự sụt giảm mạnh và nhanh chóng Tính chất chưa từng có của đại dịch và những hậu quả sâu rộng của nó đã tạo ra bầu không khí cực kỳ bất ổn và sợ hãi trong giới đầu tư, dẫn đến một đợt bán tháo ồ ạt gây chấn động khắp thế giới tài chính
Chiến tranh, khủng hoảng và dư âm của dịch bệnh năm 2022
Sự biến động của thị trường năm 2022 có thể là do sự tương tác phức tạp của các yếu tố Cuộc chiến đang diễn ra ở Ukraine đã tác động đáng kể đến nguồn cung cấp năng lượng
và thực phẩm toàn cầu, gây ra một loạt cuộc khủng hoảng Những tác động kéo dài của đại dịch COVID-19 càng làm trầm trọng thêm những vấn đề này, đẩy tỷ lệ lạm phát lên mức đáng lo ngại và làm dấy lên lo ngại về một cuộc suy thoái tiềm ẩn Những yếu tố kết hợp này đã tạo ra tâm lý e ngại rủi ro cho các nhà đầu tư, dẫn đến áp lực bán gia tăng, gây áp lực giảm giá đáng kể cho thị trường
Nhiều yếu tố có thể có tác động rõ rệt trên thị trường, chẳng hạn như:
Trang 10 Tâm lý nhà đầu tư: Trong cả ba trường hợp, tâm lý nhà đầu tư đều đóng vai trò quan trọng trong việc thúc đẩy thị trường suy thoái Những lo ngại về lợi nhuận, tăng trưởng kinh tế và sự ổn định địa chính trị đã gây ra sự bi quan lan rộng trong các nhà đầu tư, khiến họ phải bán cổ phiếu nắm giữ và đẩy giá
cổ phiếu xuống
Những yếu tố kinh tế: Các yếu tố kinh tế cơ bản khác nhau trong ba thời kỳ,
nhưng tác động của chúng đến tâm lý nhà đầu tư là rõ rệt Dự đoán về việc thắt chặt tiền tệ, đại dịch COVID-19 và chiến tranh ở Ukraine đều tạo ra sự bất ổn kinh
tế đáng kể, từ đó làm xói mòn niềm tin của nhà đầu tư và thúc đẩy biến động thị trường
Phản ứng của thị trường: Phản ứng của thị trường trước những sự kiện này
được đặc trưng bởi giá cổ phiếu giảm mạnh Mức độ nghiêm trọng của các đợt suy thoái rất đa dạng, trong đó vụ sụp đổ năm 2020 là nghiêm trọng nhất Tuy nhiên, cả ba sự kiện đều cho thấy sự nhạy cảm của thị trường chứng khoán trước những cú sốc lớn về kinh tế và địa chính trị
THAM KHẢO:
plummeted.html
về thị trường trong Hình 7
Trang 11Fig 6 Khối lượng cổ phiếu của Google được giao dịch
Fig 7 Khối lượng giao dịch trung bình động của cổ phiếu Google (100 ngày)
Cổ phiếu Google (GOOG) đã trải qua sự sụt giảm đáng kể về khối lượng giao dịch trong giai đoạn từ năm 2005 đến năm 2015 Sự sụt giảm này có thể là do sự kết hợp của nhiều yếu tố hình thành nên tâm lý nhà đầu tư và động lực chung của thị trường
Chuyển trọng tâm sang dịch vụ di động:
Trang 12Trong giai đoạn này, Google đã chuyển hoạt động kinh doanh cốt lõi của mình từ dịch vụ tìm kiếm trên máy tính để bàn sang dịch vụ di động Sự phát triển mạnh mẽ của hệ điều hành Android và các ứng dụng di động của Google đã kéo theo việc sử dụng dịch vụ Google trên thiết bị di động tăng đột biến
Sự xuất hiện của đối thủ cạnh tranh mới:
Trong giai đoạn này, Google phải đối mặt với sự cạnh tranh ngày càng khốc liệt từ các đối thủ như Facebook, Amazon và Microsoft Mức độ cạnh tranh cao khiến Google khó duy trì thị phần và tăng trưởng doanh thu, ảnh hưởng tiêu cực đến tâm lý nhà đầu tư và khối lượng giao dịch
Khủng hoảng tài chính toàn cầu năm 2008:
Cuộc khủng hoảng tài chính toàn cầu năm 2008 2đã tác động tiêu cực đến thị trường chứng khoán toàn cầu, trong đó có cổ phiếu Google Niềm tin của nhà đầu tư giảm sút dẫn đến việc bán tháo cổ phiếu và khối lượng giao dịch giảm
2.3.3 Market Cap Analysis
Mặc dù dữ liệu được cung cấp có thể không bao gồm rõ ràng cột "Vốn hóa thị trường", nhưng bạn vẫn có thể ước tính vốn hóa thị trường bằng cách sử dụng dữ liệu "Open Price"
và "Volume" có sẵn trong công thức sau:
Market Cap = Open Price * Volume
2 https://en.wikipedia.org/wiki/2007–2008_financial_crisis
Trang 13Fig 8 Vốn hóa thị trường của Google
Fig 9 Moving Average of Google’s Market Cap (100 days)
Google đã có giai đoạn từ 2010 đến 2020 vốn hóa thị trường giảm và duy trì ở mức thấp
Đó là vì:
Sự trỗi dậy của mạng xã hội: Các nền tảng truyền thông xã hội như Facebook và
Twitter đã thách thức sự thống trị của Google trong lĩnh vực quảng cáo trực tuyến
Tăng trưởng thương mại điện tử: Sự tăng trưởng của những gã khổng lồ thương
mại điện tử như Amazon và Alibaba đe dọa doanh thu tìm kiếm của Google
Trang 14 Quan ngại về quyền riêng tư: Hoạt động thu thập dữ liệu và sử dụng dữ liệu người
dùng của Google đã được giám sát chặt chẽ, dẫn đến các quy định và cuộc điều tra
về quyền riêng tư Những lo ngại này đặt ra câu hỏi về khả năng kiếm tiền hiệu quả
từ dữ liệu của công ty
Tuy nhiên, vốn hóa thị trường thấp không hẳn là một dấu hiệu tiêu cực Giai đoạn này đã tạo bước đệm đủ lớn để có thể bay cao trong những năm sau giai đoạn 2010-2020, cho thấy tiềm năng tăng trưởng cao, rủi ro thấp và khả năng thu hút các nhà đầu tư có tầm nhìn dài hạn quan tâm tới Google
2.3.4 Volatility Analysis
Sự biến động của cổ phiếu là tần suất và mức độ biến động giá cả lên hoặc xuống Biến động giá càng lớn và thường xuyên thì thị trường càng biến động
Fig 10 Biến động giá cổ phiếu Google
Biểu đồ không quá rộng, điều này chứng tỏ cổ phiếu Google dù gặp nhiều vấn đề khủng hoảng nhưng vẫn khá ổn định khi mức tăng giảm đều nhau
Trang 15Chương 3: Phương pháp luận nghiên cứu
3.1 Train/test Split
Chúng ta cần chuẩn bị một giá trị gọi là look-back value, để tận dụng các giá trị dữ liệu trong quá khứ theo chuỗi thời gian để dự đoán các giá trị trong tương lai Ví dụ: 60
Fig 11 Train/test split
Tập huấn luyện và tập kiểm tra hiện bao gồm giá đóng cửa của Google, cũng bao gồm các giá trị nhìn lại
3.2 Standard Scaler and build complete dataset.
Giá cổ phiếu có thể có nhiều giá trị khác nhau, từ số nhỏ đến hàng nghìn hoặc có thể hàng triệu Việc tính toán bằng các giá trị đó có thể tiêu tốn nhiều dung lượng lưu trữ và thời gian trong quá trình huấn luyện
Fig 12 Apply Standard Scaler
Hơn nữa, nếu không chia tỷ lệ, các đối tượng có giá trị tuyệt đối cao hơn có thể chi phối quá trình học, làm lu mờ tác động của các đối tượng có giá trị tuyệt đối nhỏ hơn Việc
Trang 16chuẩn hóa dữ liệu sẽ đảm bảo tất cả các tính năng đều đóng góp như nhau trong quá trình đào tạo
Fig 13 Thêm lookback value vào dữ liệu
Để đơn giản, chúng tôi sẽ minh họa đoạn mã trên bằng một ví dụ đơn giản:
Giả sử dữ liệu của chúng tôi là X là chuỗi thời gian giá đóng cửa của Google và X = [1, 2,
3, 4, 5]
Sau khi chạy đoạn mã trên, chúng ta thu được hai mảng Xs và Ys làm đầu ra Với look_back
= 2, nó có thể được hiển thị dưới dạng:
Mảng Xs sẽ chứa [1 2], [2 3], [3, 4]
Mảng Ys sẽ chứa [4, 5]
Điều đó có nghĩa là để có được giá trị cuối cùng thì phải có những giá trị hoặc điều kiện trước đó mới có thể dẫn đến những hệ quả hoặc sự kiện tiếp theo trong tương lai Nói cách khác, mọi việc xảy ra trong quá khứ đều ảnh hưởng đến hiện tại và tương lai, đó là lý do tại sao chúng ta phải sử dụng look-back value
Trang 173.3 Model Configuration
Đối với dữ liệu chuỗi thời gian, RNN là cách tiếp cận phổ biến để giải quyết vấn đề này
Có một số loại RNN, bao gồm GRU, LSTM, ARIMA,…
Tuy nhiên, chúng tôi chỉ quyết định xây dựng mô hình GRU3 (Gated recurrent unit) vì nó đơn giản và ít phức tạp hơn
Fig 14 Mô hình GRU
Trang 18
Trong việc xây dựng mạng no-ron, có nhiều siêu tham số khác nhau (learning rate, batch size … và cả look-back value) để điều chỉnh, một mô hình tốt có nghĩa là một tập hợp siêu tham số tối ưu Bây giờ câu hỏi là “Làm thế nào để tự động tìm được một mô hình tốt?”,
và Bayesian Optimization4 là một trong những câu trả lời Thiết lập chi tiết được cung cấp trong code của chúng tôi
Fig 15 Cài đặt Bayesian Optimization
Chúng tôi sử dụng framework tensorflow và môi trường Google Colab để triển khai mô hình và huấn luyện nó trên tập dữ liệu đã được xử lý như trên Sau khi sử dụng Bayesian Optimization, chúng ta có thể thu được mô hình tốt nhất như trong Hình 16
4 https://viblo.asia/p/dinh-train-mldl-model-nhung-khong-biet-chon-tham-so-bayesian-optimization-RnB5pbv6ZPG