Khóa luận Ứng dụng mô hình học máy tiên tiến nhằm tăng cường khả năng dự báo xu thế của thị trường chứng khoán

Ngày nay, cách thức kiếm tiền và sửdụng đồng tiền của các nhà đầu tưcũng có nhiều thay đổi. Hầu hết mọi người đều đầu tưvào chứng khoán, họcho rằng đó là một cách đầu tưthông minh và những đồng tiền ấy là đồng tiền thông minh. Nhưng thịtrường chứng khoán luôn có những yếu tốbất ngờkhông theo ý muốn chủquan của ai, có lúc tăng nhanh sau đó giảm một cách đột ngột, có lúc thì liên tục tăng mà chưa có dấu hiệu giảm xuống. Do vậy dự đoán được xu thếcủa thịtrường chứng khoán là một vấn đề quan trọng đầu tưtài chính. Thịtrường sẽdiễn biến ra sao, đầu tưvào chứng khoán ởthời điểm này có được hay không, phụthuộc rất nhiều vào kết quảdự đoán của chúng ta chính xác ra sao Trong khóa luận này, tôi xin giới thiệu một kỹthuật được sửdụng nhiều trong khai phá dữliệu, có hiệu quảcao trong dự đoán, xây dựng mô hình dựbáo đơn giản, nhanh chóng và dễhiểu. Đó là mô hình cây quyết định, khóa luận đã tìm hiểu cấu trúc, hoạt động của cây quyết định, các độ đo dùng đểchia cắt các thuộc tính và các thuật toán đặc biệt là thuật toán C4.5 mà khóa luận sửdụng đểxây dựng cây. Từ đó, thiết kếmô hình cây quyết định cho dữliệu thời gian thực (time series) áp dụng trong dựbáo xu thếcủa thị trường chứng khoán được trình bày chi tiết. Khóa luận đã thực nghiệm trên dữliệu VnIndex và đã thu được những kết quảbước đầu

pdf74 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2140 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Khóa luận Ứng dụng mô hình học máy tiên tiến nhằm tăng cường khả năng dự báo xu thế của thị trường chứng khoán, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đinh Thị Thùy Trang ỨNG DỤNG MÔ HÌNH HỌC MÁY TIÊN TIẾN NHẰM TĂNG CƯỜNG KHẢ NĂNG DỰ BÁO XU THẾ CỦA THỊ TRƯỜNG CHỨNG KHOÁN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2010 2 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đinh Thị Thùy Trang ỨNG DỤNG MÔ HÌNH HỌC MÁY TIÊN TIẾN NHẰM TĂNG CƯỜNG KHẢ NĂNG DỰ BÁO XU THẾ CỦA THỊ TRƯỜNG CHỨNG KHOÁN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: TS. Nguyễn Hà Nam HÀ NỘI-2010 i LỜI CẢM ƠN “Để hoàn thành khóa luận này, tôi xin gửi lời cảm ơn tới các thầy, cô giáo trong trường Đại học Công nghệ - Đại học Quốc gia Hà Nội. Các thầy cô đã dạy bảo, chỉ dẫn và luôn tạo điều kiện tốt nhất cho tôi học tập trong suốt quá trình học đại học đặc biệt là trong thời gian làm khóa luận tốt nghiệp Tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo TS. Nguyễn Hà Nam, thầy đã tận tình hướng dẫn tôi trong năm học vừa qua. Tôi cũng thầm biết ơn những người bạn của mình, các bạn đã luôn ở bên tôi, giúp đỡ và cho tôi những ý kiến đóng góp quý báu trong học tập cũng như trong cuộc sống. Cuối cùng, tôi xin gửi tới bố mẹ và toàn thể gia đình lòng biết ơn và tình cảm yêu thương nhất. Con xin dành tặng bố mẹ kết quả mà con đã đạt được trong suốt bốn năm học đại học. Con cảm ơn bố mẹ nhiều và cả các em nữa.” Hà nội, ngày 20/05/2010 ii Tóm tắt khóa luận Ngày nay, cách thức kiếm tiền và sử dụng đồng tiền của các nhà đầu tư cũng có nhiều thay đổi. Hầu hết mọi người đều đầu tư vào chứng khoán, họ cho rằng đó là một cách đầu tư thông minh và những đồng tiền ấy là đồng tiền thông minh. Nhưng thị trường chứng khoán luôn có những yếu tố bất ngờ không theo ý muốn chủ quan của ai, có lúc tăng nhanh sau đó giảm một cách đột ngột, có lúc thì liên tục tăng mà chưa có dấu hiệu giảm xuống.…Do vậy dự đoán được xu thế của thị trường chứng khoán là một vấn đề quan trọng đầu tư tài chính. Thị trường sẽ diễn biến ra sao, đầu tư vào chứng khoán ở thời điểm này có được hay không, phụ thuộc rất nhiều vào kết quả dự đoán của chúng ta chính xác ra sao Trong khóa luận này, tôi xin giới thiệu một kỹ thuật được sử dụng nhiều trong khai phá dữ liệu, có hiệu quả cao trong dự đoán, xây dựng mô hình dự báo đơn giản, nhanh chóng và dễ hiểu. Đó là mô hình cây quyết định, khóa luận đã tìm hiểu cấu trúc, hoạt động của cây quyết định, các độ đo dùng để chia cắt các thuộc tính và các thuật toán đặc biệt là thuật toán C4.5 mà khóa luận sử dụng để xây dựng cây. Từ đó, thiết kế mô hình cây quyết định cho dữ liệu thời gian thực (time series) áp dụng trong dự báo xu thế của thị trường chứng khoán được trình bày chi tiết. Khóa luận đã thực nghiệm trên dữ liệu VnIndex và đã thu được những kết quả bước đầu Từ khóa: data mining, decision tree, time series, stock trend prediction, weka…. iii MỤC LỤC LỜI CẢM ƠN.................................................................................................................i TÓM TẮT KHÓA LUẬN .............................................................................................ii  MỤC LỤC ................................................................................................................... iii  DANH MỤC HÌNH VẼ ...............................................................................................vi  DANH MỤC BẢNG BIỂU .........................................................................................vii  Chương 1. Giới thiệu các kiến thức cơ!Äở......................................................................1  1.1.  Khai phá dự liệu ...........................................................................................1  1.1.1. Khai phá dữ liệu là gì ..............................................................................1  1.1.2.  Quá trình khai phá dữ liệu ........................................................................1  1.1.3.  Các phương pháp khai phá dữ liệu...........................................................2  1.1.4.  Sự cần thiết phải có khai phá dữ liệu .......................................................2  1.1.5.  Một số khó khăn gặp phải khi xây dựng quá trình khai phá dữ liệu........3  1.1.6.  Các lĩnh vực ứng dụng .............................................................................4  1.2.  Phân lớp và dự báo .......................................................................................4  1.2.1.  Định nghĩa ................................................................................................4  1.2.2.  Các bước để phân lớp và dự báo ..............................................................5  1.2.3.  Độ chính xác trong phân lớp và dự báo ...................................................8  1.2.4.  Một số bài toán phân lớp và dự báo điển hình .........................................8  1.3.  Bài toán dự báo xu thế thị trường chứng khoán ...........................................9  1.4.  Nội dung và cấu trúc của khóa luận ...........................................................10  Chương 2. Tổng quan về cây quyết định .....................................................................12  iv 2.1.  Định nghĩa ..................................................................................................12  2.2.  Cấu trúc ......................................................................................................12  2.3.  Các kiểu cây quyết định .............................................................................13  2.4.  Các độ đo sử dụng để xác định điểm chia tốt nhất.....................................13  2.4.1.  Độ lợi thông tin (Information Gain).......................................................14  2.4.2.  Độ đo tỷ lệ Gain (Gain ratio)..................................................................15  2.4.3.  Chỉ số Gini (Gini index) .........................................................................15  2.5.  Cắt tỉa cây (thu gọn cây).............................................................................17  2.6.  Rút ra quy tắc phân lớp từ cây quyết định..................................................18  2.7.  Các thuật toán trong cây quyết định...........................................................19  2.8.  Quá trình tạo cây quyết định ......................................................................21  2.8.1.  Khả năng học và tổng quát hóa ..............................................................21  2.8.2.  Các phương pháp huấn luyện cây ..........................................................21  2.9.  Giải thuật C4.5............................................................................................22  Tổng kết ...................................................................................................................25  Chương 3.Mô hình cây quyết định trong dự báo xu thế của thị trường chứng khoán.27  3.1.  Giới thiệu chung về dữ liệu thời gian thực.................................................27  3.1.1.  Các thành phần của dữ liệu thời gian thực .............................................27  3.1.2.  Các phương pháp làm trơn .....................................................................29  3.2.  Dữ liệu chứng khoán ..................................................................................30  3.3.  Mô hình dự báo tài chính............................................................................32  3.4.  Thiết kế cây quyết định cho dữ liệu thời gian thực ....................................33  3.4.1.  Tập hợp dữ liệu.......................................................................................33  3.4.2.  Tiền xử lý dữ liệu ...................................................................................34  3.4.3.  Phân hoạch dữ liệu .................................................................................34  v 3.4.4.  Mô hình hóa cây quyết định ...................................................................36  3.4.5.  Tiêu chuẩn đánh giá................................................................................37  3.4.6.  Triển khai................................................................................................40  Tổng kết ...................................................................................................................40  Chương 4. Thực nghiệm ..............................................................................................41  4.1.  Môi trường thực nghiệm.............................................................................41  4.2.  Xây dựng cơ sở dữ liệu...............................................................................42  4.2.1.  Dữ liệu chứng khoán ..............................................................................42  4.2.2.  Xây dựng dữ liệu cho mô hình ...............................................................42  4.3.  Thực nghiệm mô hình cây quyết định cho dữ liệu thời gian thực .............47  4.3.2.  Đánh giá mô hình ...................................................................................50  4.3.3.  Lựa chọn mô hình tốt nhất......................................................................51  4.4.  Một số mô hình khác ..................................................................................55  4.4.1.  Mô hình mạng nơ ron .............................................................................56  4.4.2.  Mô hình SVM (support vector machine) ...............................................59  Kết luận....................................................................................................................62  Kết quả đạt được của luận văn.............................................................................62  Hướng nghiên cứu tiếp theo.................................................................................62  PHỤ LỤC-MỘT SỐ THUẬT NGỮ ANH –VIỆT......................................................63  TÀI LIỆU THAM KHẢO ...........................................................................................64  vi DANH MỤC HÌNH VẼ Hình 1-0: Bước 1 Học để xây dựng mô hình phân lớp.................................................5  Hình 1-1: Bước 2 Kiểm tra và đánh giá.........................................................................6  Hình 1-2: Ví dụ về học mô hình ....................................................................................7  Hình 1-3 : Ví dụ về phân lớp dữ liệu .............................................................................7  Hình 2-0: Biểu diễn cấu trúc cây quyết định ...............................................................12  Hình 2-1: Một cây quyết định miêu tả khái niệm “mua máy tính” .............................18  Hình 3-0: Thành phần xu hướng dài hạn .....................................................................28  Hình 3-1: Thành phần mùa ..........................................................................................28  Hình 3-2: Thành phần chu kỳ ......................................................................................29  Hình 3-3: Mô hình cây quyết định dự báo chứng khoán ............................................32  Hình 3-5: Tỷ lệ kích thước của tập huấn luyện và tập kiểm chứng.............................35  Hình 4-0: Giao diện chính của weka ...........................................................................42  Hình 4-1: Dữ liệu chứng khoán thu được từ sàn chứng khoán....................................43  Hình 4-2: (a) Một trong số những dữ liệu huấn luyện từ 1/2008-12/2008..................45  (b) Một trong số những bộ kiểm chứng từ 1/2009-3/2009 ..........................45  Hình 4-3: Một trong những file dữ liệu đầu ra của chương trình ................................45  Hình 4-4: Lệnh đọc file CSV và chuyển thành file ARFF ..........................................46  Hình 4-5: Dữ liệu dưới định dạng arff trong weka......................................................47  Hình 4-6: Lệnh huấn luyện dữ liệu..............................................................................49  Hình 4-8: Lệnh đánh giá dựa trên tập kiểm chứng ......................................................50  Hình 4-12: (a) Cấu trúc một nơ ron .............................................................................57  (b) Cấu trúc mạng nơ ron...........................................................................57  vii DANH MỤC BẢNG BIỂU Hình 2-2: Kết quả của cuộc khảo sát..................................................................................21  Hình 3-4: Tổ chức dữ liệu của mô hình..............................................................................34  Hinh 3-6: Bảng ma trận 2 x 2 .............................................................................................39  Hình 4-7: Kết quả qua các lần huấn luyện .........................................................................49  Hình 4-9: Kết quả đánh giá trên tập kiểm chứng ...............................................................51  Hình 4-10: Kết quả khi thay đổi các tham số -C, -M .........................................................54  Hình 4-11: Kết quả khi huấn luyện lại mô hình với tham số tốt nhất ................................55  Hình 4-13: So sánh kết quả giữa Mạng nơ ron và cây quyết định .....................................59  Hình 4-14: So sánh kết quả giữa mô hình Support vector machine và cây quyết định .....60  1 Chương 1. Giới thiệu các kiến thức cơ sở 1.1. Khai phá dự liệu 1.1.1 . Khai phá dữ liệu là gì Khai phá dữ liệu là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá trình trích xuất những thông tin ẩn, trước đây chưa biết và có khả năng hữu ích, dưới dạng các quy luật, ràng buộc, quy tắc trong cơ sở dữ liệu [1]. 1.1.2. Quá trình khai phá dữ liệu Một quá trình KPDL bao gồm năm giai đoạn chính 1) Tìm hiểu nghiệp vụ và dữ liệu : nghiên cứu kiến thức về lĩnh vực sẽ áp dụng, bao gồm cả cấu trúc về hệ thống và tri thức, các nguồn tài liệu hiện hữu, ý nghĩa, vai trò và tầm quan trọng của các thực thể dữ liệu 2) Chuẩn bị dữ liệu: sử dụng các kỹ thuật tiền xử lý để biến đổi và cải thiện chất lượng dữ liệu để thích hợp với những yêu cầu của các giải thuật học. Bước này thường chiếm phần lớn thời gian của toàn bộ quá trình khai phá dữ liệu 3) Mô hình hóa dữ liệu: lựa chọn kỹ thuật phù hợp để giải quyết các vấn đề đặt ra. Các bài toán được phân loại vào một trong những nhóm bài toán chính trong khai phá dữ liệu dựa trên đặc tả của chúng. 4) Hậu xử lý và đánh giá mô hình: các kết quả được biến đổi từ dạng học thuật sang dạng phù hợp với nghiệp vụ và dễ hiểu hơn cho người dùng. Kinh nghiệm cho thấy, các mẫu và các mô hình tìm thấy không phải lúc nào cũng đáng quan tâm và có thể trực tiếp sử dụng được ngay. Vì vậy, quá trình khai phá dữ liệu cần thiết lặp đi lặp lại với việc đánh giá tri thức đã thu được. 5) Triển khai tri thức: các mô hình được đưa vào hệ thống thông tin thực tế dưới dạng các modun hỗ trợ việc đưa ra quyết định. Trong một số trường hợp, người ta có thể sử dụng tri thức phát hiện được mà không cần phải đưa vào một hệ thống máy tính. Mặc khác, người sử dụng lại mong muốn tri thức đã tìm được có thể được đưa vào máy tính và được khai thác bằng một số chương trình. Đưa các kết quả đã thu được vào sử dụng trong thực tế là mục tiêu cuối cùng của một quá trình khai phá dữ liệu 2 Mối quan hệ chặt chẽ giữa các giai đoạn trong quá trình khai phá dữ liệu là rất quan trọng cho việc nghiên cứu trong khai phá dữ liệu. Quá trình này có thể được lặp lại nhiều lần một hay nhiều giai đoạn dựa trên phản hồi từ kết quả của các giai đoạn sau. Tham gia chính trong quá trình KPDL là các nhà tư vấn và phát triển chuyên nghiệp trong lĩnh vực KPDL 1.1.3. Các phương pháp khai phá dữ liệu 1) Phân lớp (classification) : với một tập các dữ liệu huấn luyện cho trước và sự huấn luyện của con người, các giải thuật phân loại sẽ lọc ra bộ phân loại dùng để phân dữ liệu mới vào trong những lớp đã được định trước. Một số phương pháp điển hình là cây quyết định, mạng nơ ron…. 2) Hồi qui (Regression) : là học một hàm ánh xạ dữ liệu nhằm tìm và xác định giá trị thực của một biến 3) Phân cụm (Clustering): thực hiện việc nhóm dữ liệu thành các lớp mới để có thể phát hiện các mẫu phân bố. 4) Tổng hợp (Summarization): Tìm ra các đặc trưng và tính chất của các khái niệm. Ví dụ như tổng quát hóa, tóm tắt, các đặc trưng dữ liệu ràng buộc 5) Mô hình ràng buộc (Dependency modeling): tìm ra một mô hình mô tả sự phụ thuộc có ý nghĩa giữa các biến. Mô hình ràng buộc gồm hai mức: mức cấu trúc của mô hình mô tả và mức định lượng 6) Dò tìm biến đổi và độ lệch (change and deviation dectection) : phát hiện sự thay đổi có ý nghĩa dưới dạng độ đo đã biết trước hoặc giá trị chuẩn 1.1.4. Sự cần thiết phải có khai phá dữ liệu Có rất nhiều lý do khiến chúng ta cần phải có khai phá dữ liệu, một số lý do tiêu biểu đó là: - Nhiều tổ chức, trong một thời gian dài đã thu thập được một lượng lớn dữ liệu, họ phải làm gì với những dữ liệu này? - Người ta thu thập và lưu trữ dữ liệu vì nghĩ rằng có thể thu được những thông tin có giá trị từ những dữ liệu này 3 - Trong kinh doanh, thu giữ các dữ liệu về thị trường, đối thủ cạnh tranh và về khách hàng. Trong các ngành sản xuất, thu giữ các dữ liệu về hiệu suất, tối ưu hóa các cơ hội, cũng như nguyên tắc cải tiến các quy trình và các rắc rối gặp phải - Chỉ có một lượng nhỏ dữ liệu đã thu thập được phân tích - Với ý nghĩ tiếp tục phân thu thập dữ liệu để không bỏ qua điều gì đó quan trọng, mà dữ liệu này lại không được phân tích gây ra tốn kém - Các phương pháp phân tích dữ liệu cổ điển tỏ ra không còn mấy phù hợp khi lượng dữ liệu lên - Nhiều khi người phân tích dữ liệu không phải là những chuyên gia về dữ liệu, đó đó cần phải có công cụ để họ thực hiện công việc phân tích dữ liệu - Trong môi trường cạnh tranh việc phát hiện ngay những dấu hiệu bất thường và nhanh chóng đưa ra quyết định phù hợp là điều hết sức quan trọn 1.1.5. Một số khó khăn gặp phải khi xây dựng quá trình khai phá dữ liệu Trong quá trình khai phá dữ liệu chúng ta luôn gặp phải những trở ngại, chúng ta phải tìm cách khắc phục và vượt qua những trở ngại này để thu được kết quả mong muốn. Một trong những khó khăn cơ bản đó là: - Kích thước lớn: Không chỉ có nhiều bản ghi trong cơ sở dữ liệu mà trong các bảng cũng có rất nhiều thuộc tính, vì thế kích thước của vấn đề lớn. Một tập dữ liệu có kích thước lớn làm tăng không gian tìm kiếm theo cách bùng nổ tổ hợp. Hơn nữa, sẽ làm tăng khả năng làm cho thuật toán khai phá dữ liệu tìm ra những mẫu sai, không có giá trị khái quát. Để giải quyết vấn đề, người ta sử dụng phương pháp làm giảm kích thước ảnh hưởng đến vấn đề và sử dụng tri thức ưu tiên (có trước) để nhận ra và loại bỏ những trường không liên qua - Hiện tượng quá khớp: Khi thuật toán tìm kiếm tham số tốt nhất cho một mô hình cụ thể sử dụng một tập dữ liệu học hạn chế, có thể xảy ra hiện tượng dữ liệu quá khớp, làm cho mô hình kém hiệu quả trên tập dữ liệu thử. Giải quyết vấn đề này sử dụng phương pháp kiểm tra chéo, thực hiện theo đúng các nguyên tắc và chiến lược thống kê phức tạp khác - Tri thức và dữ liệu thay đổi: Dữ liệu thay đổi nhanh chóng có thể làm cho các mô hình tìm thấy trước đây không còn giá trị. Hơn nữa, các trường đã được chọn trong 4 một ứng dụng cơ sở dữ liệu cụ thể có thể bị thay đổi, bị xóa, hay được thêm vào. Giải pháp có thể sử dụng là tăng cường phương thức cho việc cập nhật các mô hình và xem sự thay đổi như là một cơ hội cho việc khám phá bằng cách sử dụng chúng một cách thích hợp để chỉ tìm phải kiếm lại cho các mô hình bị thay đổi. - Dữ liệu bị nhiễu và bị mất. Vấn đề này đặc bi