THU THẬP, XỬ LÝ DỮ LIỆU – THIẾT KẾ PHẦN MỀM

Một phần của tài liệu Xây dựng công cụ dự đoán chứng khoán ứng dụng datamining báo cáo nghiên cứu khoa học (Trang 31)

3.1.1, Nhận định tổng quan về dữ liệu chứng khoán

Nguồn dữ liệu và cách thức thu thập:

Download dữ liệu chứng khoán tại [12] , hoặc một số website cho phép download dữ liệu lịch sử chứng khoán và dữ liệu chứng khoán theo ngày.

Trong đề tài nghiên cứu khoa học này ta sử dụng dạng dữ liệu cần thu thập là file Excel , download trực tiếp tại [12] một trang web uy tín về việc cung cấp dữ liệu TTCK tại Việt Nam.

Dữ liệu đƣợc lƣu trữ theo từng ngày và từng loại chứng khoán bao gồm các thông tin sau: Ticker, Date, Open, High, Low, Close, Volume, … (Mã chứng khoán, Ngày, Giá mở cửa, Giá khớp lệnh cao nhất , Giá khớp lệnh thấp nhất, Giá đóng cửa, Khối lƣợng giao dịch, …). Chúng ta sẽ download dữ liệu gồm dữ liệu tổng hợp sàn “Hose vs HNX”

3.1.2, Giới thiệu về dữ liệu chứng khoán thu thập

Dữ liệu đƣợc download bằng tay từ [12] trên trang này dữ liệu đƣợc đóng gói sẵn dƣới dạng excel, là dữ liệu sử dụng cho Metastock gọi là dữ liệu EOD(End Of Day) từ dữ liệu excel ta phân thành các bảng nhƣ sau:

Thuộc tính dữ liệu ban đầu

Tên thuộc tính Kiểu dữ liệu

MaCK Text Ngay Date/Time GiaMoCua Number GiaThapNhat Number GiaCaoNhat Number GiaDongCua Number KhoiLuongGD Number Bảng 3.1: Bảng dữ liệu tổng hợp “ChitietGD”

Diễn giải nội dung bộ dữ liệu Thuộc tính Giải thích MaCK

(primary key)

Mã của các loại chứng khoán có mặt trên HOSE –HXN đƣợc niêm yết tại Trung tâm giao dịch chứng khoán tp.Hồ Chí Minh và Hà Nội.

Ngay

(primary key)

Ngày giao dịch của các mã chứng khoán. Các ngày giao dịch của các chứng khoán diễn ra trong tuần ngoại trừ thứ 7, chủ nhật và các ngày lễ đặc biệt. Thuộc tính “Ngày” đƣợc thu thập từ năm 2000 đến tháng 05/2010

GiaMoCua Lá mức giá thực hiện đầu tiên trong ngày giao dịch

GiaThapNhat Là mức giá khớp lệnh thấp nhất từ đầu phiên đến thời điểm hiện tại.

GiaCaoNhat Là mức giá khớp lệnh cao nhất từ đầu phiên đến thới điểm hiện tại.

GiaDongCua Là mức giá thực hiện cuối cùng trong ngày giao dịch.

KhoiLuongGD Khối lƣợng mà các mã chứng khoán đƣợc giao dịch trong ngày

Bảng 3.2: Bảng diễn giải dữ liệu tổng hợp “ChitietGD”

3.1.3, Xử lý và lƣu trữ cơ sở dữ liệu chứng khoán

Sử dụng SQL Server 2005 và nguồn dữ liệu đầu vào cần ở dạng file Excel.

Sau khi download dữ liệu trên các website về:

Tạo một Database trong sql server 2005 sau đó import data từ file Excel vào trong Database vừa tạo đặt tên table là DLTongHop. Do dữ liệu thu thập có nhiều thông tin không cần thiết ta sẽ lọc ra một bảng gồm các thành phần dữ liệu (MaCK, NgayGD, GiaMo, GiaTran, GiaSan, GiaDong, KhoiLuongGD) đặt tên ChitietGD.

Dữ liệu sau khi import vào sql server ta sẽ xử lý gồm các nhóm nhƣ sau :

 Nhóm dữ liệu lọc theo ngành: từ bảng ChitietGD ta lấy tất cả các thành phần và lọc lấy tất cả các mã chứng khoán theo từng nhóm ngành ra các table tƣơng ứng đặt tên dạng “Ntên ngành tƣơng ứng”, và lọc thêm một table tên

“PhienGD” sẽ lọc lấy các ngày giao dịch có trong dữ liệu để sử dụng chạy thuật toán luật kết hợp.

 Nhóm dữ liệu lọc theo từng cổ phiếu: từ bảng ChitietGD ta cũng lọc đầy đủ các thành phần thuộc tính nhƣng ta chỉ lấy dữ liệu thuộc một mã cổ phiếu nào đó và đƣơc đặt tên với dạng “CP_mã tƣơng ứng” với nhóm dữ liệu này ta sử dụng chạy thuật toán chuỗi thời gian.

 Nhóm dữ liệu sử dụng chạy thuật toán cây quyết định: tử bảng ChitietGD ta tạo ra một bạng khác có tên “CayQD” và có thêm hai thuộc tính (QuyetDinh, TangGiam) . Thuộc tình „TangGiam‟ ta dựa trên GiaMo và GiaDong (nếu GiaMo> GiaDong là Giảm , nếu GiaMo< GiaDong là Tăng còn lại là OnDinh), thuộc tính „QuyetDinh‟ ta đánh giá dựa trên GiaMo,GiaDong, KhoiLuongGD ( nếu GiaDong<GiaMo and (GiaMo-GiaDong) > (GiaMo/100*2) thì Mua, ngƣợc lại GiaDong>GiaMo and (GiaDong-GiaMo)>(GiaMo/100*2) thì Ban còn lại là Khong GD.

3.1.4, Phân tích thiết kế hệ thống 3.1.4.1, Sơ đồ nghiệp vụ 3.1.4.1, Sơ đồ nghiệp vụ

Hình 3.1: Sơ đồ nghiệp vụ

3.1.4.2, Đặc tả yêu cầu

 Yêu cầu chức năng

 Áp dụng phƣơng pháp Luật kết hợp (Association Rules) để phân tích sự phụ thuộc giữa các loại chứng khoán

o Khai phá luật kết hợp từ sự tăng giảm giá chứng khoán và khối lƣợng giao dịch

o Tìm ra luật giữa các chứng khoán sau đó đƣa ra mô hình dự báo giá chứng khoán

 Áp dụng phƣơng pháp Cây quyết định (Decision Trees) để phân tích mức độ ảnh hƣởng của các loại chứng khoán vào 1 chứng khoán đầu tƣ

o Tìm ra các quy luật về sự tăng giảm giá chứng khoán

o Đƣa ra mô hình dự báo giá chứng khoán

 Dò tự động, tìm ra các luật kết hợp theo mức xác suất yêu cầu

o Tìm ra các tập quy luật về sự tăng giảm giá chứng khoán

o Thống kê các tập luật dò tìm đƣợc

 Vẽ đồ thị

o Đồ thị biến động giá theo thời gian của 1 mã chứng khoán nào đó cho phép dự báo giá trong quá khứ và tƣơng lai.

 Yêu cầu phi chức năng

 Chƣơng trình thân thiện dễ sử dụng

 Cấu hình máy đủ để chạy đƣợc Sql Server 2005 (ram 512mb trở lên, hệ điều hành tối thiểu win XP trở lên)

 Để chạy chƣơng trình cần cài đặt NetFramework 3.5

3.1.4.3, Sơ đồ phân rã chức năng Chương trình dự Chương trình dự

đoán chứng khoán

Luật kết hợp Cây quyết định Time serial

3.1.4.4, Thiết kế cơ sở dữ liệu

Từ điển cơ sở dữ liệu

Tên thuộc tính Diễn giải Kiểu dữ liệu

NgayGD Ngày giao dịch Date

Mack Mã chứng khoán Char(10)

Tencty Tên công ty tham gia chƣng khoán NVarchar (255) GiaMo Lá mức giá thực hiện đầu tiên trong

ngày giao dịch Float

GiaSan Là mức giá khớp lệnh thấp nhất từ đầu

phiên đến thời điểm hiện tại. Float GiaTran Là mức giá khớp lệnh cao nhất từ đầu

phiên đến thới điểm hiện tại. Float GiaDongCua Là mức giá thực hiện cuối cùng trong

ngày giao dịch. Float

KhoiLuongGD Khối lƣợng mà các mã chứng khoán

đƣợc giao dịch trong ngày Integer QuyetDinh Quyết định giao dịch hay Char TangGiam Sự thay đổi gia chứng khoán đầu và cuối

ngày giao dịch Char

Bảng3.3: Từ điển cơ sở dữ liệu

Mô tả thực thể

+ Thực thể “PhienGD” : phiên giao dịch Khóa chính: NgayGD

Thuộc tính:

NgayGD Ngày giao dịch

+ Thực thể “CoPhieu” : cổ phiếu Khóa chính: Mack

Thuộc tính:

Mack Mã chứng khoán

Mô tả mối kết hợp

+ Mối kết hợp “ChitietGD”: mỗi cổ phiếu sẽ tham gia giao dịch trong một và nhiều ngày khác nhau và trong 1 ngày sẽ có nhiều cổ phiếu tham gia giao dich

1,n 1,n Cophieu MaCK Tencty <pi> Characters (255) Variable characters (255) Identifier_1 <pi> PhienGD NgayGD <pi> Identifier_1 <pi> ChiTietGD GiaMo GiaTran GiaSan GiaDong KLGiaoDich ... Float Float Float Float Integer Hình 3.3: Mối kết hợp "ChitietGD" 1,n 1,n Cophieu MaCK Tencty <pi> Characters (255) Variable characters (255) Identifier_1 <pi> PhienGD NgayGD <pi> Identifier_1 <pi> ChiTietGD GiaMo GiaTran GiaSan GiaDong KLGiaoDich ... Float Float Float Float Integer Hình 3.4: Mô hình thực thề kết hợp (ERD) Mô hình quan hệ FK_CHITIETG_CHITIETGD_COPHIEU FK_CHITIETG_CHITIETGD_PHIENGD Cophieu MaCK Tencty char(255) varchar(255) <pk> PhienGD NgayGD date <pk> ChiTietGD MaCK NgayGD GiaMo GiaTran GiaSan GiaDong KLGiaoDich char(255) date float float float float integer <pk,fk1> <pk,fk2> Hình 3.5: Mô hình quan hệ 3.2. KẾT QUẢ ĐẠT ĐƢỢC

3.2.1, Mô tả chung về chƣơng trình

Công cụ hỗ trợ dự đoán chứng khoán mà nhóm thực hiện đề tài đang xây dựng là một phần mềm cho phép các nhà đầu tƣ chứng khoán có đƣợc thông tin về phân tích chứng khoán tìm ra các qui luật biến dộng giá và sự tƣơng tác ảnh hƣởng của các cổ phiếu với nhau từ đó giúp nhà đuầ tƣ có thêm sự hỗ trợ trong quyết định giao dịch.

Công cụ gồm hai phần: client và server. Client là phần chƣơng trình tƣơng tác với ngƣời sử dụng, Server là phần chƣơng trình xử lí dữ liệu bằng các thuật toán trong KPDL và trả về kết quả cho client.

Hình 3.6: Giao diện chính chương trình

3.2.2 Các chức năng chính

Chƣơng trình cho phép xem kết quả dữ liệu đã đƣợc huấn luyện bằng các thuật toán KPDL, dữ liệu đã đƣợc huấn luyện trƣớc trong SQL Server Business Intelligence Development Studio, chƣơng trình thiết kế theo giao diện tab bằng các controls của DotNetBar 9.4, trong chƣơng trình chia làm 3 thuật toán chính là luật kết hợp, chuỗi thời gian, và cây quyết định. Sau khi kết nối với server các kết quả sẽ đƣợc phân về các combobox theo đúng các thuật toán, mỗi thuật toán có 1 đặc điểm riêng tạo cho ngƣời dùng có cái nhìn đa chiều về kết quả.

3.2.2.1 Chức năng xem kết quả tƣơng tác giữa các cổ phiếu

Chức năng này chia làm 3 tab, tab đầu hiển thị cái phần tử (item) có độ hỗ trợ(support) mong muốn, độ hỗ trợ càng cao thì khả năng sinh ra luật có độ tin cậy càng lớn tuy nhiên nếu không hợp lí sẽ dẫn tới luật vô nghĩa, trong gia diện có các option khác hỗ trợ xem nhƣ show long name(hiện tên đầy đủ của phần tử), maximum rows(số dòng đƣợc hiển thị), show(hiện hoặc không hiện các thuộc tính của phần tử).

Hình 3.7: Giao diện kết quả luật tương tác các cổ phiếu

Tab thứ 2 hiển thị các luật đƣợc sinh ra, các luật này sinh ra dựa trên độ hỗ trợ và độ lớn của dữ liệu, chỉ số độ quan trọng (importance) đo lƣờng tính hữu dụng của luật, giá trị này càng cao thì luật kết hợp càng tốt.

3.2.2.2 Chức năng xem kết quả các điều kiện quyết định giao dịch

Chức năng này gồm 2 tab, tab đầu tiên hiển thị kết quả thuật toán dƣới dạng cây, các tính năng hỗ trợ xem là show level, default expression cho phép xem cây theo từng lớp có thể phóng to thu nhỏ, chức năng tree cho phép ngƣời dùng xem kết quả theo thuộc tính mong muốn

Hình 3.8: Giao diện cây quyết định điều kiện giao dịch

3.2.2.3 Chức năng xem kết quả dự đoán xu hƣớng biến động của cổ phiếu

Chức năng này chia làm 2 tab, tab đầu tiên biểu thị kết quả dạng cây, ở thuật toán này không phải so sánh mối tƣơng quan giữa các phần tử mà chỉ trong 1 phần tử trong trƣờng hợp cụ thể là trong 1 cổ phiếu, thuật toán sẽ phân tích hƣớng phát triển của cổ phiếu dựa trên lịch sử.

Tab thứ 2 cho phép ngƣời dùng xem biểu đồ, biểu đồ biểu thị màu rất bắt mắt với các tính năng show history prediction(dự đoán dựa vào lịch sử), show deviations(độ lệch dự đoán của thuật toán), prediction step( dùng để nâng cao thời gian dự đoán, step càng cao thì độ lệch càng lớn), cột bên phải chứa các thuộc tính mà thuật toán dự đoán theo.

3.2.3 Hƣớng dẫn sử dụng

Chƣơng trình đƣợc hƣớng dẫn dạng hình ảnh trực quan dễ hiểu, các chú thích chỉ thẳng vào các control, ngƣời dùng nên tham khảo tab này trƣớc để có thể dễ đàng sử dụng chƣơng trình. Ngoài ra trong chƣơng trình các control còn đƣợc thiết kế với watermark và baloon chỉ cho nguoi dùng chính xác các tính năng của từng control, các điều lƣu ý, các chỗ phải điền đều đƣợc làm đầy đủ.

Hình 3.10: Giao diện hướng dẫn sử dụng

3.2.4 Đánh giá kết quả

Chƣơng trình đƣợc thiết kế dựa trên sample analysis service do microsoft cung cấp, bƣớc đầu tạm đáp ứng chƣơng trình phía client, các tính năng đƣợc việt hóa gần hoàn toàn, giao diện bắt mắt, đơn giản dễ sử dụng, giảm thiểu tối đa các thao tác cho ngƣời dùng. Tuy nhiên vẫn còn thiếu sót là chƣa

hoàn thành phần server qua đó phần nào chƣa đạt hoàn toàn mục tiêu ban đầu. Thế nhƣng dữ liệu đƣợc thiết kế qua nhiều công đoạn đã có thể phù hợp chạy trên mọi thuật toán góp phần thuận tiện cho bƣớc phát triển về sau.

3.3. KẾT LUẬN CHƢƠNG 3

Qua khoảng thời gian tìm hiểu và nghiên cứu nhóm thực hiện đề tài đã xây dựng đƣợc phần mềm ứng dụng trong dự báo phân tích TTCK. Để làm đƣợc điều đó nhóm đã phải cố gắng nỗ lực hết khả năng trong việc tìm hiểu lĩnh vực liên quan cũng nhƣ xử lý các vấn đề trong khi xây dựng phần mềm.

Để sử dụng đƣợc chƣơng trình, máy tính ngƣời dùng cần đƣợc cài đặt Net Framework phiên bản 3.5 trở lên. Chƣơng trình đã đƣợc chạy thử nghiệm trên nhiều loại máy tính đơn có phạm vi cấu hình của chúng khá rộng từ Core Duo 2,0GHz và 1GB RAM tới các dòng máy cấu hình mạnh hơn. Chƣơng trình load kết quả mất thời gian từ 5 đến 10 giây, đối với xử lý thuật toán tại sever mất khoảng 30 giây với khoảng 10000 record, nếu với dữ liệu khoảng 450000 record mất khoảng 1.5 phút trở lên. Tuy nhiên, là phiên bản đầu nên sản phẩm đề tài dừng lại trong phạm vi, giới hạn nhất định:

- Hình ảnh chƣa thật sự chuyên nghiệp.

- Tính năng chƣơng trình chƣa nhiều chƣa mang tính chuyên nghiệp. - Độ chính xác chƣa cao cần thu thập thêm mẫu.

Vì lý do thời gian hạn chế nên chƣơng trình chƣa hoàn thiện nhƣ mong muốn. Trong tƣơng lai, chƣơng trình có thể sẽ đƣợc tiếp tục cải tiến cho dễ sử dụng và nâng cấp nâng cao tính hiệu quả hơn.

KẾT LUẬN

KẾT QUẢ ĐẠT ĐƢỢC

Trọng tâm đề tài nghiên cứu về cách ứng dụng Data Mining qua các thuật toán nhằm huấn luyện dữ liệu để xây dựng công cụ hỗ trợ dự đoán chứng khoán đƣa ra những kết quả tiên đoán gần đúng nhất, mà dữ liệu ở đây tập trung vào dự báo chứng khoán. Qua thực nghiệm trên các dữ liệu lịch sử nhóm đã làm các đánh giá với các khoảng thời gian khác nhau để so sánh kết quả dự báo biến động giá, kết quả sau khi kiểm tra gần giống với thực tế qua đó góp phần giúp ngƣời đầu tƣ có thêm nguồn tham khảo để đƣa ra quyết định đúng đắn với sự đầu tƣ của mình.

Với thực tế các phần mềm hiện nay sử dụng các thuật toán của ngành phân tích kĩ thuật, việc ứng dụng DataMining mở ra một hƣớng mới hơn tạo nên sự đa đạng phong phú trong lĩnh vực phân tích, hơn nữa phần mềm thiết kế việt hóa mong phần nào tạo sự thuận tiện cho ngƣời dùng.

Thông qua chƣơng trình, nhóm phát triển đã hiểu đƣợc thêm về chứng khoán về các kĩ thuật phân tích, về cách thức hoạt động, và phát triển của chứng khoán, cũng những kiếm thức kinh tế khá mới mẻ và lạ lẫm với nhóm thực hiện.

NHỮNG HẠN CHẾ

Với mục đính ban đầu là hoàn toàn tự động, nhóm phát triển đã cố gắng nhƣng do hạn chế về kĩ năng cũng nhƣ tài liệu, chƣơng trình còn cần đòi hòi ngƣời dùng thao tác phức tạp, hiện chƣơng trình tạm dừng ở mức ngƣời dùng có thể xem kết quả từ dữ liệu đã đƣợc huấn luyện.

HƢỚNG KHẮC PHỤC VÀ PHÁT TRIỂN MỞ RỘNG

Hi vọng trong thời gian tới phần mềm sẽ đƣợc hoàn thiện và nâng cấp đúng với mục tiêu ban đầu và thêm các tính năng nhƣ: xem thông tin cổ phiếu, tỷ giá ngoại tệ, tỷ giá vàng trực tuyến. Nhóm phát triển cũng hi vọng có điều kiện để khám phá hơn nữa bộ môn khoa học (Data Mining).

MỤC LỤC ------ TRANG PHỤ BÌA LỜI CÁM ƠN MỤC LỤC DANH MỤC VIẾT TẮT DANH MỤC HÌNH DANH MỤC BẢNG LỜI MỞ ĐẦU ... 1 CHƢƠNG 1 : THỰC TRẠNG ... 5 1.1 TÌNH HÌNH CHUNG ... 5 1.2. THỰC TRẠNG PHẦN MỀM ĐÃ CÓ ... 5 1.2.1, Các phần mềm trong nƣớc ... 5 1.2.2, Các phần mềm nƣớc ngoài ... 6 1.2.2.1, Amibroker ... 6 1.2.2.2, Metastock ... 6

1.2.3, Ƣu, nhƣợc điểm các chƣơng trình trên ... 7

1.3 KẾT LUẬN CHƢƠNG 1 ... 7

CHƢƠNG 2: CƠ SỞ LÝ LUẬN ... 8

2.1. TỔNG QUAN THỊ TRƢỜNG CHỨNG KHOÁN VÀ CÁC PHƢƠNG PHÁP PHÂN TÍCH ... 8

2.1.1, Khái niệm chứng khoán[1] ... 8

2.1.2, Tham gia thị trƣờng chứng khoán ... 9

2.1.3, Các phƣơng pháp phân tích chứng khoán ... 11

2.1.3.1, Phƣơng pháp phân tích cơ bản [10] ... 11

2.1.3.2, Phƣơng pháp phân tích kĩ thuật ... 13

2.2. TỒNG QUAN VỀ KHAI PHÁ DỮ LIỆU ... 17

2.2.1, Khái niệm về khai phá dữ liệu ... 17

2.2.2, Các ứng dụng của khai phá dữ liệu ... 18

Một phần của tài liệu Xây dựng công cụ dự đoán chứng khoán ứng dụng datamining báo cáo nghiên cứu khoa học (Trang 31)

Tải bản đầy đủ (PDF)

(45 trang)