1. Trang chủ
  2. » Luận Văn - Báo Cáo

phân tích dữ liệu chứng khoán của 5 ngân hàng nhà nước việt nam bằng trực quan hóa dữ liệu và phân tích dữ liệu

26 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

NGAN HÀNG NHÀ NUOC VIETNAM BỘ GIÁO DỤC VÀ ĐÀO TAO TRƯỜNG ĐẠI HỌC NGÂN HÀNG THÀNH PHỎ HÒ CHÍ MINH

Lép hoc phan: DAT708_ 222 9 L14

Hoc ky 2 nam hoc 2022-2023

TPHCM - Tháng 4 năm 2023

Trang 2

BANG PHAN CONG CONG VIEC

2 Nguyễn Thị Uyên | 050609212098 Nội dung + Tiểu 100%

5 Neguyén Ngoc Minh | 050609211147) Thu thap dit liéu 100%

Trang 3

5 Cơ sở lý thuyết về Python cho bài fOáh - +22 S2 S2E2E2E2EEE2E2EErrxree 6

6 Kết quả thực hiỆn: nnn cc S1 SSS S11 S1 HH TT TT nh TT kg 8 6.1 Thu thập và làm sạch dữ liệu: cc c2 nnnnn Hee 8 6.2 Phân tích dữ liệu: . c1 SH SH ng ng kg 9

6.3 Xây dựng mô hình dự đoán giá cô phiẾu: 2 2+2 se sezecsxsessei 9

6.4 Kết qua thre HIG: 011 - aa 10 7 Kết luận: chì LH HH HH2 re 23

Trang 4

LOI MO DAU

Ngày nay trong cuộc sống 4.0 của chúng ta gần như không thể thiếu được những khái niệm liên quan đến công nghệ thông tin, từ các phương tiện truyền thông, xã hội cho đến lĩnh vực kinh doanh, quản lý Mọi thứ đều cần những phần mềm cũng như sản phẩm của công nghệ thông tin để hỗ trợ giúp nâng cao phát triển vững mạnh hơn Cùng với sự phát triển của nhiều ngôn ngữ lập trình web như PHP, Ruby, Scheme thì Python là một cái tên đáng chú ý Hiện nay ngôn ngữ Python được xếp hạng thứ | trong Top 10 các ngôn ngữ lập trình phô biến nhất đang được thế giới sử dụng Trong quá trình học tập môn học Lập trình python cho phân tích dữ liệu, dưới sự chỉ dẫn tận tình của thầy củng với sự tìm hiểu nhiệt tình, năng nô và làm việc ăn ý của nhóm thì chúng em đã làm một đô án đề hoàn thành môn học

Thông qua đỗ án này, nhóm em xin trình bày về những kiến thức và kỹ năng mà nhóm em đã thu hoạch được trong suốt quá trình học tập Lần đầu tiếp cận nghiên cứu đề tài nên trong quá trình thực hiện đồ án sẽ có những thiếu sót Vì vậy, chúng em rất mong nhận được những lời nhận xét từ thầy đề góp phần hoàn thiện đồ án kết thúc

môn học tốt nhất

Trang 5

NOI DUNG 1 Muc tiêu nghiên cứu của đồ án

Sự phát triển mạnh mẽ của thị trường chứng khoán trên thế giới cũng như ở nước ta như hiện nay thì vấn đề ứng dụng công nghệ Internet vào các hoạt động chứng khoán là rất quan trọng Việc xây dựng một hệ thống phân tích các dữ liệu đầu tư chứng khoán qua mạng Internet sẽ giúp các nhà đầu tư đưa ra những quyết định nhanh chóng và sáng

suốt

Xuất phát từ những vấn đề nêu trên, nhóm em đã tìm hiểu, nghiên cứu xây dựng hệ thống “Phân tích đữ liệu chứng khoán của các ngân hàng nhà nước Việt Nam từ năm

01/01/2021 đến 10/03/2023, đánh giá sự biến động và xu hướng của giá cô phiếu trong

thời gian này” để xây dựng mô hình dự đoán giá cô phiếu của các ngân hàng nhà nước Việt Nam trong tương lai

Đưa ra những kết luận và gợi ý cho nhà đầu tư về cách thức quản lý và đầu tư vào cô phiêu của các ngân hàng nhà nước Việt Nam, giúp các ngân hàng ra quyết định đầu tư trong thị trường chứng khoán một cách hiệu quả nhất

e Tập trung vào các đữ liệu về thời gian, số lượng, giá mở và đóng (ATO và ATC) cua các ngân hàng nêu trên

3 Mô hình nghiệp vụ bài toán thực tế, miền ứng dụng

Trang 6

Mô hình nghiệp vụ của đồ án là phân tích và dự đoán giá cỗ phiêu của các ngân hàng nhà nước Việt Nam dựa trên dữ liệu lịch sử và các yếu tố kinh tế, chính trị Ngoài ra còn có các yếu tô đữ liệu về thời gian, số lượng, giá mở và đóng (ATO và ATC) của

các ngân hàng nêu trên

Đồ án có thể áp dụng trong lĩnh vực đầu tư chứng khoán có thể dự báo được giai đoạn đỉnh và đáy của thị trường bằng hệ thống phân tích đữ liệu giao dịch trong phiên từ đó có thê đánh giá các hoạt động liên quan đến quản lý tài chính như hiệu quả hoạt động đầu tư chứng khoán của các ngân hàng nhà nước

4 Quá trình thu thập và làm sạch dữ liệu

Dữ liệu chứng khoán của các ngân hàng nhà nước Việt Nam sẽ được thu thập tử các trang web tai chinh nhu Tradingview, Investing, Vnstock , Vietstockfinance, Cafef, Dstock

Dữ liệu sẽ được làm sạch bằng các phương pháp tiền xử lý dữ liệu như loại bỏ giá trị thiếu, loại bỏ các giá trị trùng lặp hoặc không liên quan, sửa lỗi cau trúc, kiểm tra và xử lý ngoại lệ, chuyền đổi định dạng dữ liệu Việc kiêm tra dữ liệu sạch sẽ và chất lượng cuối cùng chắc chắn sẽ tăng năng suất tông thê và cho phép thông tin chất lượng cao để ra quyết định nhanh chóng và đúng

Sau đó, các chỉ số kỹ thuật như giá đóng cửa, giá mở cửa, khối lượng giao dịch, giá trung bình của các ngân hàng, tỷ lệ thay đối giá của các ngân hàng sẽ được tính toán

và thêm vào

5 Cơ sở lý thuyết về Python cho bài toán

Python là một trong những ngôn ngữ lập trình phô biến nhất hiện nay, có thé được coi là ngôn ngữ lập trình đễ sử dụng và dễ tiếp cận trong thời đại 4.0 này Nó được sử dụng trong nhiều lĩnh vực khác nhau như khoa học dữ liệu, trí tuệ nhân tạo, web development, đặc biệt là trong lĩnh vực phân tích tài chính và đầu tư chứng khoán Với sự phát triển của các thư viện và công cụ hỗ trợ phân tích dữ liệu như NumPy, Pandas, Matplotlib,Seaborn Python trở thành một công cụ đắc lực cho các nhà phân tích tài chính và nhà đầu tư, từ đó giúp cho họ có cái nhìn tổng quát hơn Ngoài ra Python cho tài chính có thể giúp họ đưa ra quyết định ước tính và có rủi ro thấp hơn khi đầu tư vào thị trường chứng khoán

Trang 7

Trong đồ án này, Ngôn ngữ lập trình Python sẽ được sử dụng đề phân tích dữ liệu chứng khoán của các ngân hàng Việt Nam và xây dựng mô hình dự đoán giá cô phiếu của các ngân hàng này Các thư viện được sử dụng bao gồm:

“+ Pandas: Thu vién Pandas duoc str dung để đọc, xử lý, phân tích và thao tác với dữ liệu Thông thường Pandas cung cấp 2 cấu trúc đữ liệu chính để thao tác với dữ liệu là: Series và DataFrame Tuy nhiên trong đồ án này Pandas sử dụng đdataframe để cung cấp nhiều tính năng hỗ trợ cho việc phân tích đữ liệu như tạo, sửa đôi, thêm và xóa các hàng và cột, tính toán các chỉ số thông kê, đọc và ghi các file dữ liệu

+ Matplotlib: Là một thư viện rất hữu ích của Python nhằm cung cấp các công cụ vẽ đồ thị cho việc trực quan hóa dữ liệu Đây là một thư viện dé họa 2D va 3D tuyệt vời để tạo ra các số liệu khoa học Nó cung cấp các hàm đề vẽ đồ thi, biểu đồ và biểu đỗ tương tác Công việc trực tiếp hóa thông tin qua các thi dé, biểu đỗ giúp chúng ta hiểu được các mối quan hệ trong đữ liệu đễ dàng hơn rất nhiều

+ Seaborn: Là một thư viện trực quan hóa dữ liệu thông trị, là một lý do khác để các lập trình viên hoàn thành các dự án một cách hiệu quả Thư viện Python Seaborn được sử dụng để giảm bớt nhiệm vụ trực quan hóa dữ liệu day thach thức và nó dựa trên Matplotlib Seaborn cho phép tạo đồ họa thống kê thông qua các chức năng sau:

e® Một API dựa trên tập đữ liệu cho phép so sánh giữa nhiều biến e©_ Hỗ trợ lưới nhiều ô để đễ dàng xây dựng các hình ảnh trực quan phức tạp e®_ Hình ảnh hóa đơn biến và lưỡng biến có sẵn để so sánh giữa các tập hợp

Trang 8

“+ Numpy: la mét thu vién 16i phuc vu cho khoa hoc may tinh cua Python, hé tro cho việc tính toán các mảng nhiều chiều, có kích thước lớn với các hàm đã được tôi ưu áp dụng lên các mảng nhiêu chiêu đó

+ Json: JSON (JavaScript Object Notation): La mét dinh dang dit liéu rat phô biến, được dùng để lưu trữ và thể hiện các dữ liệu có cấu trúc JSON là định dạng dữ liệu phô biến được sử dụng để truyền và nhận dữ liệu giữa ứng dụng

web và web server Python cho phép thao tác với JSON dưới dạng chuỗi hoặc

lưu đối tượng JSON vào trong file Đề có thê làm việc với JSON, ta cần import module json Ta cần import module trước khi gọi các hàm để thao tác với json Đề có thể parse một JSON string, ta gọi method json.loads() Phương thức này sẽ trả về một đối tượng dictionary chứa dữ liệu được chứa trong JSON string Các tính năng của Python như tính năng đa nền tảng, cú pháp đơn giản, hỗ trợ đầy đủ cho các thư viện phân tích dữ liệu và học máy, cộng đồng lập trình viên phát triển sôi động

6 Kết quả thực hiện:

Đề thực hiện phân tích đữ liệu chứng khoán của các ngân hàng nhà nước Việt Nam, đầu tiên cần thu thập và làm sạch dữ liệu Sau đó, sử dụng các thư viện vả công cụ hỗ trợ phân tích dữ liệu của Python để phân tích dữ liệu và xây dựng mô hình dự đoán giá cô phiếu

6.1 Thu thập và làm sạch dữ liệu:

Dữ liệu được thu thập từ trang web của HOSE (Hỗ Chí Minh Stock Exchange) và các trang web chuyên về tài chính như Trading View và Investing.com Dữ liệu bao gồm các thông tin về giá cô phiếu, khối lượng giao dịch, tỷ lệ lãi suất và các chỉ số tài chính của các ngân hàng

Sau khi thu thập dữ liệu, cần làm sạch và chuẩn hóa dữ liệu trước khi sử dụng Các bước làm sạch và chuân hóa dữ liệu bao gồm:

® Xóa các dòng dữ liệu trồng hoặc thiểu thông tin ® Xử lý các giá trị bị trùng lặp hoặc sai lệch ® Kiểm tra và xử lý các giá trị ngoại lai (outliers)

@ Chuẩn hóa các giá trị đầu vào để đảm bảo tính nhất quán và hiệu quả cho việc phân tích đữ liệu

Trang 9

6.2 Phân tích dữ liệu:

Sau khi đã làm sạch và chuẩn hóa dữ liệu, tiếp theo là phân tích dữ liệu để hiểu rõ hơn về các thông tin về giá cô phiếu và các chỉ số tài chính của các ngân hàng Một số kỹ thuật phân tích đữ liệu được sử dụng bao gồm:

® Biểu đồ giá: Biểu đồ giá được sử dụng để trực quan hóa giá cô phiếu của các ngân hàng trong thời ø1an

® Tống hợp khối lượng giao dịch: Tổng hợp khối lượng giao dịch dé hiểu rõ hơn về sự lưu thông của cô phiếu

® Phân tích tỷ lệ lãi suất: Tỷ lệ lãi suất được sử dụng để đánh giá tác động của chính sách tiền tệ lên giá cô phiếu

® Phân tích các chỉ số tài chính: Phân tích các chỉ số tài chính của các ngân hàng đề hiểu rõ hơn về sức khỏe tài chính của các ngân hàng

6.3 Xây dựng mô hình dự đoán giá cỗ phiếu:

Sau khi đã phân tích dữ liệu tiếp theo là xây đựng mô hình dự đoán giá cô phiếu Mô hình được xây dựng dựa trên các thuật toán hoc may nhu Linear Regression, Random Forest va Gradient Boosting

Đề xây dựng mô hình, dữ liệu được chia thành hai phần: tập huấn luyện và tập kiểm tra Tập huấn luyện được sử dụng để huấn luyện mô hình va tap kiểm tra được sử dụng để đánh giá hiệu quả của mô hình Sau đó, mô hình được sử dụng để dự đoán giá cô phiếu trong tương lai và tính toán các thông số tài chính

Trang 10

~ Áp dụng hoc máy để dự đoán giá đóng CTS, VCB, BSI, AGR, TCB

, 3 1mport thư viện học máy

ry sklearn.model selection train test split #thưa

sklearn.preprocessing StandardScaler # thu vie

# Chọn giá đóng cửa của tiếp theo lam biến đầu ra

= df CIS[ ]- shift(-1).values[ : -1 ].reshape(-1,1) liệu thành tập huấn luyện và tập kiểm tra

train, X test, y train, y test = train test split(X, y, test_size=0.2, random state=9)

# Chuan hoa dif liéu

scaler = Standardscaler()

x_train = scaler fit_transform(xX_train)

X test = scaler.transform(X test)

# Xây dựng mô hình Linea gressior

model = LinearRegression()

# Hudn luyén m6 hinh trén tap t

mode] fit(x_train, y_train) y_pred = model.predict(x_test)

nh toan MSE va ca : ` APE, AE

mse = mean_squared _error(y_test, y_pred) mae = mean absolute error(y_test,y pred)

mape = np.mean(np.abs((y_test - y_pred) / y_test)) * 100 print( » mse)

print(f {mape} print( »mae)

MSE: 445841.7915376286 MAPE: 2.9224917658432314 MAE: 473.37559754548977

Tương tự với các mã cô phiếu còn lại đề tính các théng s6 MAPE, MAE 6.4 Kết quả thực hiện:

Sau khi thực hiện phân tích dữ liệu và xây dựng mô hình, đồ án đã đạt được các kết quả sau:

® Phân tích dữ liệu chứng khoán của các ngân hàng Việt Nam từ năm 01/01/2021 đến 10/03/2023

Trang 11

e Hiéuré hon vé cac thong tin vé gid cé phiéu va cae chỉ số tài chính của các

ngan hang

® Xây dựng mô hình dự đoán giá cỗ phiếu với độ chính xác đạt trên 90%

Đầu tiên nhóm em dùng doan code “!pip install vnstock” dé cai dat thư viện vnstock

pip install vnstock

Tiếp theo import cac thư viện mà chúng em sử dụng như là: vn stock; numpy;

pandas; matplotlib.puplot; seaborn; warnings; json

Vé “Function Hién thị” gồm có các đoạn code chính như:

show infor ticke df_infor =

i range(len(tickers)):

df_infor = pd.concat([df_infor,ticker_overview(tickers[i])],ignore_index= Ohm kee

che

Hiển thị và so sánh thông tin giao dịch của một danh sách mã chứng khoán Ở đây tham số tickers giá trị truyền vào chính là mảng danh sách mã chứng khoán Và

Trang 12

dòng code name = ',' join(tickers) cé chức năng sẽ đưa về nam có giá trị là name = VVS, XDC, HSV, CST

pe(len(tickers)):

f_infor = pd.concat([df_infor, financial_ratio(symbol = tickers[ df_infor

Dùng để xem tỷ số tài chính của một mã chứng khoán nào đó Trong đó

len(tickers) là độ dài của mảng = 4, pd.concat là kết nói giữ 2 bảng dữ liệu thành 1 bang

duy nhất

Về “Function Vẽ biểu đồ” gồm có vài code chính như: Biéu do Histogram:

draw_histogram( attributes = [

plt.subplots(figsize=(20

1, col enumerate(attributes): plt.subplot(2;3,1+1)

plt.title( format( sb.distplot(dataFrame[col])

plt.show()

draw hist

attributes = [ F plt.subplots(figsize=(20,10))

i, col enumerate(attributes): plt.subplot(2,3,i+1)

plt.title( format( sb.distplot(dataFrame[col],hist= ) plt show()

Trong đó dataFrame là tham số truyền vào chính là bảng dữ liệu mã chứng khoán và plt.subplot(2,3,i+1) là để hiền thị đồ thị con (subplot) trên 2 dòng, mỗi dòng hiển thị 3 đồ thị

Biểu đồ boxplot:

Trang 13

draw_pie_chart(dataFrame):

attributes = ['Open', ‘High’, ‘Low’, 'Close' ] data = []

for attribute attributes:

data.append(dataFrame[ attr1bute ] sum() ) palette color = sb.color_palette( ‘bright’ )

plt.title('Trading Data {} to {}'.format("2021-01-01", ‘2022-03-10')) plt.pie(data, labels=attributes, colors=palette color, autopct='%.0f%%')) plt.show()

Va line graph cho yéu cau 4:

draw line graph vi(dat >

attributes = ['Open', 'High', ‘Low’, ‘Close’, 'Volume" ] plt.subplots(figsize=(20,10))

for i, col enumerate(attributes): plt.subplot(2,3,i+1)

plt.title( ‘Trading Data {} to {}°.format("2021-01-01", '2022-03-10')) plt.plot(dataFrame[col])

plt.ylabel( "Price 1n VND ') plt.xlabel(attributes[i]) plt.show()

draw_line_graph(name,dataFrame): plt.figure(figsize=(15,5)) plt.plot(dataFrame[ ‘Close’ ])

plt.title( name+' close price.', fontsize=15) plt.ylabel( "Price in VND ')

plt show()

Ngày đăng: 16/08/2024, 17:47

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w