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

báo cáo bài tập lớn trí tuệ nhân tạo chủ đề ứng dụng trí tuệ nhân tạo trong dự báo chỉ số vn index

29 2 0
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

Trên thế giới cũng như Việt Nam, công nghệ thông tin có ảnh hưởng rấtmạnh mẽ đến sự phát triển của đất nước và thế giới đặc biệt là trí tuệ nhân tạo.Nó trở thành một yếu tố không thể thi

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

HỌC VIỆN QUẢN LÝ GIÁO DỤC************************

BÁO CÁO BÀI TẬP LỚN

Môn: Trí tuệ nhân tạoChủ đề: Ứng dụng trí tuệ nhân tạo trong dự báo chỉ số VN-Index

Sinh viên thực hiện:1 210174802010195 _ Nguyễn Thị Thắm 2 210174802010194 _ Nguyễn Thị Thảo3 210174802010184 _ Nguyễn Yến Nhi4 210174802010164 _ Trần Thị Hương Giang5 210174802010169 _ Nguyễn Thị Thu Huyền

Hà Nội - 2023

Trang 2

2 Mục tiêu nguyên cứu 4

3 Phạm vi nghiên cứu và cấu trúc bài tiểu luận 4

2 Các mô hình trong Deep Learning thường được sử dụng 8

3 Các khái niệm cơ bản khác phục vụ bài báo cáo 10

CHƯƠNG 3: Xây dựng mô hình dự đoán và đánh giá hiệu suất mô hình 17

Trang 3

LỜI MỞ ĐẦU

Ngày nay, chúng ta đã bước vào thế kỷ 21, kỷ nguyên của Công nghệthông tin, đặc biệt là trí tuệ nhân là yếu tố quan trọng nhất quyết định sự thànhcông của mỗi ngành hay mỗi quốc gia Trí tuệ nhân tạo đã và đang làm thay đổicuộc sống của chúng ta, với sự phát triển mạnh mẽ của việc áp dụng các nghiêncứu về trí tuệ nhân tạo áp dụng cho cuộc sống Tất cả các ngành như: Quân đội,y tế, giáo dục, kinh tế thương mại, tài chính,…Đều có thể áp dụng trí tuệ nhânmột cách rộng rãi Việc áp dụng trí tuệ nhân tạo để giải quyết các vấn đề trongxã hội và việc phát triển kinh tế đang được nhà nước khuyến khích và đầu tư rấtlớn

Trên thế giới cũng như Việt Nam, công nghệ thông tin có ảnh hưởng rấtmạnh mẽ đến sự phát triển của đất nước và thế giới đặc biệt là trí tuệ nhân tạo.Nó trở thành một yếu tố không thể thiếu và có tính quyết định đến sự thành cônghay thất bại của nhiều ngành ở nước ta, công nghệ thông tin đang phát triển vớitốc độ khá mạnh mẽ và được ứng dụng rộng rãi trong tất cả các lĩnh vực, đặcbiệt là trong công tác ứng dụng công nghệ vào trong cuộc sống

Việc đưa trí tuệ nhân tạo (Artificial Intelligence _ AI đang được ưu tiên )

và phát triển mạnh mẽ là một bước tiến mới trong quá trình toàn cầu hóa, trởthành xu thế trong cuộc cách mạng công nghiệp lần thứ tư

Chính vì vậy thông qua việc học môn trí tuệ nhân tạo (AI) nhóm em đãxây dựng ý tưởng “Ứng dụng trí tuệ nhân tạo trong dự báo chỉ số VN-Index”mang lại lợi ích, tiết kiệm thời gian, công sức cho con người

Với sự hướng dẫn, động viên tận tình của thầy Đỗ Quang Hưng, chúngem đã hiểu được cách thức hoạt động của thuật toán và hoàn thành bài báo cáobài tập lớn này Do chưa có nhiều kinh nghiệm nghiên cứu, thực hành nên chúngem cũng không tránh khỏi những thiếu sót Chúng em rất mong nhận được sựthông cảm và góp ý của thầy để đề tài của chúng em được hoàn thiện hơn

Trang 4

PHẦN MỞ ĐẦU1 Lý do chọn đề tài

Thị trường chứng khoán Việt Nam đang trở thành một trong những tâmđiểm thu hút sự quan tâm của nhà đầu tư và các tổ chức tài chính trên khắp thếgiới Sự phát triển ngày càng nhanh chóng và tiềm năng tăng trưởng lớn của thịtrường này đã thu hút nhiều những quan tâm đến tài chính và đầu tư Tuy nhiên,thị trường chứng khoán không phải lúc nào cũng trải qua những thời kỳ ổn định,và nó thường biến động theo thời gian dưới sự ảnh hưởng của nhiều yếu tố khácnhau nữa

Những yếu tố này không chỉ bao gồm tình hình kinh tế và chính trị củaViệt Nam, mà còn bao gồm cả tin tức quốc tế và tâm lý thị trường chứng khoántoàn cầu Sự biến động và không chắc chắn trong thị trường này là điều khôngtránh khỏi và nhà đầu tư đang phải đối mặt với những quyết định đầy rủi ro khitham gia

2 Mục tiêu nguyên cứu

- Xây dựng một mô hình dự đoán giá cổ phiếu Công ty sử dụng (nhữngthuật toán của AI )

- Đánh giá hiệu suất của mô hình dự đoán so với các phương pháp truyềnthống khác

- Tìm hiểu yếu tố ảnh hưởng đến giá cổ phiếu và đưa ra các khuyến nghịcho nhà đầu tư khi đầu tư vào cổ phiếu của Tập đoàn

- Củng cố lại kiến thức đã học về môn Trí tuệ nhân tạo

3 Phạm vi nghiên cứu và cấu trúc bài tiểu luận - Dự đoán giá cổ phiếu dựa trên dữ liệu lịch sử và các yếu tố tác động như

chỉ số kinh tế, tin tức, tâm lý thị trường …- Sử dụng các phương pháp …

- Đánh giá hiệu suất của mô hình dự đoán bằng cá chỉ số

Trang 5

- Tìm hiểu và phân tích các yếu tố ảnh hưởng đến giá cổ phiếu của Tậpđoàn như chỉ số kinh tế, tin tức… và đưa ra các khuyến nghị đầu tư- Những dữ liệu được phân tích và thiết kế bằng ngôn ngữ Python trên phần

mềm Pycharm, cùng với những chứng minh thực tiễn qua những quan sát,phỏng vấn trên thị trường

- Cấu trúc bài tiểu luận chia ra làm 3 chương: ….o Chương 1: Giới thiệu khái quát về ngôn ngữ Python và chỉ số

chứng khoán VN-Indexo Chương 2: Cơ sở Lý thuyếto Chương 3: Xây dựng mô hình dự đoán và đánh giá hiệu suất mô

hình

Trang 6

- Những lợi ích của Python bao gồm: Các nhà phát triển có thể dễ dàng đọc và hiểu một chương trình

Python vì ngôn ngữ này có cú pháp cơ bản giống tiếng Anh  Python giúp cải thiện năng suất làm việc của các nhà phát triển vì so

với những ngôn ngữ khác, họ có thể sử dụng ít dòng mã hơn để viếtmột chương trình Python

 Python có một thư viện tiêu chuẩn lớn, chứa nhiều dòng mã có thể táisử dụng cho hầu hết mọi tác vụ Nhờ đó, các nhà phát triển sẽ khôngcần phải viết mã từ đầu

 Các nhà phát triển có thể dễ dàng sử dụng Python với các ngôn ngữlập trình phổ biến khác như Java, C và C++

 Cộng đồng Python tích cực hoạt động bao gồm hàng triệu nhà pháttriển nhiệt tình hỗ trợ trên toàn thế giới Nếu gặp phải vấn đề, bạn sẽcó thể nhận được sự hỗ trợ nhanh chóng từ cộng đồng

 Trên Internet có rất nhiều tài nguyên hữu ích nếu bạn muốn họcPython Ví dụ: bạn có thể dễ dàng tìm thấy video, chỉ dẫn, tài liệu vàhướng dẫn dành cho nhà phát triển

 Python có thể được sử dụng trên nhiều hệ điều hành máy tính khácnhau, chẳng hạn như Windows, macOS, Linux và Unix

Trang 7

- Đặc điểm của Python:  Python là một ngôn ngữ thông dịch Python là một ngôn ngữ dễ sử dụng  Python là ngôn ngữu linh hoạt  Python là ngôn ngữu cấp cao  Python là ngôn ngữ lập trình hướng đối tượng

2 Chỉ số chứng khoán VN-Index

Chỉ số chứng khoán Việt Nam VN-Index là chỉ số thể hiện xu hướng biếnđộng giá của tất cả cổ phiếu niêm yết và giao dịch tại sàn giao dịch chứng khoánThành phố Hồ Chí Minh (HOSE) Ở đây, giá chỉ số VN-Index được hiểu là giáđóng cửa chỉ số VN-Index sau mỗi ngày giao dịch trên TTCK Việt Nam Đâycũng chính là giá tham chiếu (hay giá mở cửa) cho chỉ số VN-Index trong ngàygiao dịch kế tiếp Dưới đây là công thức tính chỉ số VN-Index:

Trong đó CMV là tổng giá trị thị trường của các cổ phiếu niêm yết hiệntại, BMV là tổng giá trị của các cổ phiếu niêm yết cơ sở tính ở thời điểm gốcngày 28/07/2000, ngày đầu tiên thị trường chứng khoán chính thức đi vào hoạtđộng Giá trị vốn hóa thị trường cơ sở tính trong công thức chỉ số được điềuchỉnh trong các trường hợp như niêm yết mới, hủy niêm yết và các trường hợpcó thay đổi về vốn niêm yết Gọi M là số lượng công ty niêm yết trên sànHOSE; p , q tương ứng là giá và số lượng cổ phiếu niêm yết của công ty thứ iitit

trên sàn HOSE tại thời điểm hiện tại; pio, qio tương ứng là giá và số lượng cổphiếu niêm yết của công ty thứ i trên sàn HOSE tại thời điểm cơ sở Công thứctính CMV và BMV như sau:

Trang 8

CHƯƠNG 2: Cơ sở lý thuyết1 Deep Learning

Deep Learning hay còn được gọi là học sâu Đây là một lĩnh vực con của Machine Learning, trong đó máy tính sẽ học hỏi và cải tiến bản thân thông qua các thuật toán Deep Learning cơ bản được tạo ra dựa trên các khái niệm phức tạp hơn nhiều, chủ yếu làm việc với các mạng nơ-ron nhân tạo để bắt chước khả năng suy nghĩ và tư duy của bộ não con người

Cách thức hoạt động của Deep Learning đó là sử dụng mạng lưới nơ-ronnhân tạo để mô phỏng khả năng tư duy của bộ não con người Một mạng nơ-ronđược tạo thành từ nhiều lớp khác nhau, càng có nhiều lớp, mạng càng “sâu”.Mỗi lớp chứa các node (nút) được liên kết với các lớp khác liền kề nó Mỗi kếtnối node sẽ được gán một trọng số, trọng số càng cao thì ảnh hưởng của kết nốinày đối với mạng nơ-ron càng lớn Mỗi nơ-ron sẽ có một hàm đảm nhiệm chứcnăng kích hoạt, đầu ra từ nơ-ron này có nhiệm vụ “chuẩn hóa” Dữ liệu sau khiđược người dùng nhập vào mạng nơ-ron trước khi trả về kết quả trong lớp cuốicùng sẽ đi qua tất cả các lớp, được gọi là Output Layer Các trọng số sẽ đượcthay đổi trong quá trình huấn luyện, và nhiệm vụ của mô hình sẽ là tìm ra tậphợp các giá trị trọng số tạo ra để phán đoán là tốt nhất Hệ thống học sâu yêu cầuphần cứng cực kỳ mạnh mẽ để xử lý một lượng lớn dữ liệu và thực hiện cácphép tính phức tạp Trên phần cứng tiên tiến nhất hiện nay, nhiều mô hình họcsâu có thể mất vài tuần hoặc thậm chí vài tháng để triển khai

2 Các mô hình trong Deep Learning thường được sử dụng

a.Mang Nơ-ron cổ điển

Kiến trúc cổ điển của mạng nơ-ron là một mạng được kết nối đầy đủ đượcxác định bởi các Perceptron nhiều lớp (Perceptron là một thuật toán đơn giản đểtìm ranh giới siêu phẳng trong các bài toán phân loại nhị phân.) Mạng nơ-ron cổđiển, do Frank Rosenblatt phát minh năm 1958, chủ yếu được sử dụng để giảicác bài toán phân loại nhị phân

Trang 9

Mô hình này thường sử dụng các loại hàm sau: Hàm tuyến tính

 Hàm phi tuyến tính: gồm có hàm tanh, hàm sigmoid và hàm ReLU(Rectified Linear Unit)

Ta thấy kiến trúc mạng nơ-ron truyền thống tương đối đơn giản và nó phùhợp nhất cho các tập dữ liệu dạng bảng hoặc các vấn đề phân loại và hồi quy vớicác đầu vào giá trị thực

b Mạng nơ-ron tích chập (CNN_ Convolutional Neural Network)

Là một kiến trúc mạng nơ-ron nhân tạo nâng cao được thiết kế để giảiquyết các vấn đề phức tạp, đặc biệt là những vấn đề có liên quan đến việc xử lýhình ảnh

Tích chập là một khái niệm trong xử lý tín hiệu kỹ thuật số biến đổi dữliệu đầu vào bằng cách sử dụng một phép chập với bộ lọc để tạo ra một tín hiệumới như một đầu ra Tín hiệu này sẽ làm giảm các tính năng mà bộ lọc khôngquan tâm, trong khi vẫn giữ lại các tính năng chính và quan trọng nhất

Ngoài các lớp đầu vào và đầu ra, mô hình CNN bao gồm một lớp lấy mẫuđể giới hạn số lượng nơ-ron tham gia vào các lớp khác nhau Các ứng dụng phổbiến nhất của CNN, dựa trên các đặc điểm của nó, bao gồm nhận dạng hình ảnh,phân tích video, phân tích và phân đoạn, xử lý ngôn ngữ tự nhiên,…

c Mạng nơ-ron hồi quy (RNN_ Recurrent Neural Network)

Mạng nơ-ron hồi quy (RNN) là một loại thuật toán xử lý ngôn ngữ tựnhiên nổi tiếng Đầu vào và đầu ra của các mô hình mạng nơ ron truyền thống làđộc lập với nhau Tuy nhiên, RNN thực hiện cùng một nhiệm vụ cho tất cả cácphần tử của một chuỗi, với đầu ra phụ thuộc vào cả hai phép tính trước đó Kếtquả là RNN có thể nhớ lại thông tin đã tính toán trước đó

Trang 10

d Mạng sinh đối nghịch (GAN_ Generative Adversarial Network)

Mạng sinh đối nghịch (GAN) là một lớp mô hình có mục tiêu là tạo ra dữliệu giả mạo có vẻ giống thật Tên của mạng dựa trên kiến trúc kết hợp hai mạngcó mục tiêu đối lập nhau: Generator và Discriminator Generator học cách tạodữ liệu giả để đánh lừa mô hình Discriminator và Discriminator học cách phânbiệt giữa dữ liệu giả và dữ liệu thực

Cả hai mô hình đều cải thiện khả năng của chúng thông qua đào tạo Mộtsố ứng dụng GAN phổ biến bao gồm: tạo khuôn mặt người, tạo hình ảnh đốitượng, thay đổi độ tuổi của khuôn mặt, tạo nhân vật hoạt hình,…

3 Các khái niệm cơ bản khác phục vụ bài báo cáo

a Mô hình chuỗi thời gian

Chuỗi thời gian là một chuỗi các điểm dữ liệu, được đo theo từng khoảnhkhắc thời gian liền nhau theo một tần suất thời gian thống nhất Một ví dụ chochuỗi thời gian là giá đóng cửa của chỉ số VN-Index qua các ngày giao dịch GọiYt là chuỗi thời gian đầu vào Chuỗi thời gian này có thể phân tích thành bốnthành phần:

Thành phần xu thế (gọi là Tt): Xu thế mang tính chất dài hạn, thể hiện

mẫu hình tăng hay giảm của các giá trị trong chuỗi thời gian Kỹ thuật để xácđịnh giá trị thành phần xu thế tại vị trí k trong chuỗi thời gian là lấy trung bìnhgiá trị tại các điểm liên tiếp trong chuỗi thời gian xung quanh lân cận của điểmđó sao cho độ dài bằng khoảng chu kỳ, và xem đó là giá trị xu thế của chuỗi thờigian tại điểm đó Trong trường hợp chu kỳ lẻ có dạng (2C+1), công thức tính giátrị thành phần xu thế như sau:

Trong công thức trên k là vị trí của điểm đang xét trong chuỗi thời gian.Tk là giá trị thành phần xu thế tại điểm k Y là giá trị chuỗi thời gian đầu vàoi+k

Trang 11

tại điểm (i+k) Ví dụ với chu kỳ năm ngày, giá trị thành phần xu thế tại điểm k =10 được tính theo công thức triển khai sau:

Thành phần thời vụ (gọi là S ): t Tính thời vụ thể hiện sự tuần hoàn của dữ liệuchuỗi thời gian trong một khoảng thời gian xác định Thành phần này thể hiệnảnh hưởng của mùa vụ như tuần, tháng, quý, năm lên giá trị chuỗi dữ liệu

Thành phần chu kỳ (gọi là Ct): Thành phần này được đặc trưng bởi hệ số biến

đổi mùa, thể hiện sự tăng giảm lặp lại của các giá trị trong chuỗi thời gian theomột giai đoạn không cố định Khoảng thời gian chu kỳ thường lớn hơn nhiều sovới khoảng thời gian mùa vụ trong chuỗi thời gian

Thành phần ngẫu nhiên (gọi là Rt): Là thành phần còn lại sau khi loại bỏ đi ba

thành phần ở trên từ chuỗi thời gian ban đầu Thành phần ngẫu nhiên có tínhdừng Tính dừng thể hiện ở hàm tự tương quan (ACF) giữa một điểm với các

điểm trong quá khứ là nhỏ, thường nằm trong khoảng với N là kích thướcchuỗi thời gian Giá trị 1.96 thể hiện khoảng tin cậy 95% của phân phối Gausschuẩn kỳ vọng 0 và phương sai 1

Có hai cách cơ bản để tổng hợp các thành phần của chuỗi thời gian để thu đượcchuỗi ban đầu Một là phương pháp cộng, thực hiện bằng cách lấy tổng cácthành phần (Y = T + S + C + R ) Hai là phương pháp nhân, thực hiện bằngttttt

cách lấy tích các thành phần (Y = T * S * C * R ) Trên thực tế các thư viện hỗttttt

trợ phân tách chuỗi thời gian thường không phân biệt thành phần T và C , và gọitt

chung đó là thành phần xu thế Trong luận văn này tác giả lựa chọn phươngpháp cộng khi thực hiện phân tách chuỗi thời gian đầu vào

Trang 12

b Mô hình cơ bản RNN

Ý tưởng chính của RNN (Recurrent Neural Network) là sử dụng chuỗi cácthông tin Trong các mạng nơ-ron truyền thống tất cả các đầu vào và cả đầu ra làđộc lập với nhau Tức là chúng không liên kết thành chuỗi với nhau Nhưng các môhình này không phù hợp trong rất nhiều bài toán Ví dụ, nếu muốn đoán từ tiếp theocó thể xuất hiện trong một câu thì ta cũng cần biết các từ trước đó xuất hiện lần lượtthế nào chứ nhỉ? RNN được gọi là hồi quy (Recurrent) bởi lẽ chúng thực hiện cùngmột tác vụ cho tất cả các phần tử của một chuỗi với đầu ra phụ thuộc vào cả cácphép tính trước đó Nói cách khác, RNN có khả năng nhớ các thông tin được tínhtoán trước đó Trên lý thuyết, RNN có thể sử dụng được thông tin của một văn bảnrất dài, tuy nhiên thực tế thì nó chỉ có thể nhớ được một vài bước trước đó (ta cùngbàn cụ thể vấn đề này sau) mà thôi Về cơ bản một mạng RNN có dạng như sau:

Mô hình trên mô tả phép triển khai nội dung của một RNN Triển khai ở đâycó thể hiểu đơn giản là ta vẽ ra một mạng nơ-ron chuỗi tuần tự Ví dụ ta có một câu

gồm 5 chữ “Đẹp trai lắm gái theo”, thì mạng nơ-ron được triển khai sẽ gồm 5 tầng

nơ-ron tương ứng với mỗi chữ một tầng Lúc đó việc tính toán bên trong RNN đượcthực hiện như sau:

xt là đầu vào tại bước t Ví dụ 1 là một vec-tơ one-hot tương ứng với từ thứx2 của câu (trai).

Trang 13

st là trạng thái ẩn tại bước t Nó chính là bộ nhớ của mạng được tính toánstdựa trên cả các trạng thái ẩn phía trước và đầu vào tại bước đó: st=f(Uxt Wst+ −1).Hàm f thường là một hàm phi tuyến tính như hàm tanh, ReLU Để làm phép toáncho phần tử ẩn đầu tiên ta cần khởi tạo thêm −1, thường giá trị khởi tạo được gắns

bằng 0. ot là đầu ra tại bước Ví dụ, ta muốn dự đoán từ tiếp theo có thể xuất hiệnttrong câu thì ot chính là một vec-tơ xác xuất các từ trong danh sách từ vựng của ta :ot=softmax(Vst)

 Một điểm nổi bật của RNN chính là ý tưởng kết nối các thông tin phía trướcđể dự đoán cho hiện tại Việc này tương tự như ta sử dụng các cảnh trước của bộphim để hiểu được cảnh hiện thời Nếu mà RNN có thể làm được việc đó thì chúng

sẽ cực kì hữu dụng, tuy nhiên liệu chúng có thể làm được không? Câu trả lời là còntùy.

 Đôi lúc ta chỉ cần xem lại thông tin vừa có thôi là đủ để biết được tình huống

hiện tại Ví dụ, ta có câu: “các đám mây trên bầu trời” thì ta chỉ cần đọc tới “cácđám mây trên bầu” là đủ biết được chữ tiếp theo là “trời” rồi Trong tình huống này,

khoảng cách tới thông tin có được cần để dự đoán là nhỏ, nên RNN hoàn toàn cóthể học được

Trang 14

Nhưng trong nhiều tình huống ta buộc phải sử dụng nhiều ngữ cảnh hơn để

suy luận Ví dụ, dự đoán chữ cuối cùng trong đoạn: “I grew up in France… I speakfluent French.” Rõ ràng là các thông tin gần (”I speak fluent”) chỉ có phép ta biết

được đằng sau nó sẽ là tên của một ngôn ngữ nào đó, còn không thể nào biết được

đó là tiếng gì Muốn biết là tiếng gì, thì ta cần phải có thêm ngữ cảnh “I grew up inFrance” nữa mới có thể suy luận được Rõ ràng là khoảng cách thông tin lúc này có

thể đã khá xa rồi Thật không may là với khoảng cách càng lớn dần thì RNN bắt đầukhông thể nhớ và học được nữa Tuy nhiên, rất cám ơn là LSTM không vấp phảivấn đề đó Chúng em chọn mô hình này cho bài tập của mình

c Mô hình LSTM trong RNN

Mạng bộ nhớ dài-ngắn (Long Short Term Memory networks), thường đượcgọi là LSTM - là một dạng đặc biệt của RNN, nó có khả năng học được các phụthuộc xa LSTM được giới thiệu bởi Hochreiter & Schmidhuber (1997), và sau đóđã được cải tiến và phổ biến bởi rất nhiều người trong ngành Chúng hoạt động cựckì hiệu quả trên nhiều bài toán khác nhau nên dần đã trở nên phổ biến như hiện nay

LSTM được thiết kế để tránh được vấn đề phụ thuộc xa (long-termdependency) Việc nhớ thông tin trong suốt thời gian dài là đặc tính mặc định củachúng, chứ ta không cần phải huấn luyện nó để có thể nhớ được Tức là ngay nội tạicủa nó đã có thể ghi nhớ được mà không cần bất kì can thiệp nào

Mọi mạng hồi quy đều có dạng là một chuỗi các mô-đun lặp đi lặp lại củamạng nơ-ron Với mạng RNN chuẩn, các mô-dun này có cấu trúc rất đơn giản,

thường là một tầng tanh.

Ngày đăng: 29/08/2024, 12:55

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

TÀI LIỆU LIÊN QUAN