nguyên cứu và xây dựng hệ thống quản lý và dự đoán xu thế giá chứng khoán dựa trên nền tảng mã nguồn mở - Pdf 22

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vũ Đức Việt
NGUYÊN CỨU VÀ XÂY DỰNG HỆ THỐNG QUẢN LÝ
VÀ DỰ ĐOÁN XU THẾ GIÁ CHỨNG KHOÁN DỰA
TRÊN NỀN TẢNG MÃ NGUỒN MỞ
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
1
TÓM TẮT
Bài toán dự báo tài chính ngày càng được nhiều người quan tâm trong bối cảnh phát
triển kinh tế xã hội ở Việt Nam hiện nay. Đầu tư vào thị trường chứng khoán đòi hỏi
nhiều kinh nghiệm và hiểu biết của các nhà đầu tư. Các kĩ thuật khai phá dữ liệu được áp
dụng nhằm dự báo sự lên xuống của thị trường là một gợi ý giúp các nhà đầu tư có thể ra
các quyết định giao dịch. Khóa luận này giới thiệu một kỹ thuật khai phá dữ liệu hiệu quả
được sử dụng rộng rãi trong nhiều lĩnh vực đó là mô hình mạng nơ ron và cách áp dụng
vào dữ liệu thời gian thực. Cấu trúc và hoạt động cũng như cách thiết kế mạng cho dữ liệu
thời gian thực áp dụng trong bài toán dự báo tài chính được trình bày chi tiết nhằm làm rõ
cách áp dụng mô hình vào bài toán thực tế.
2
MỤC LỤC
TÓM TẮT
MỤC LỤC
DANH MỤC HÌNH VẼ
DANH MỤC BẢNG BIỂU
Chương 1. GIỚI THIỆU 1
Chương 2. GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC . 2
2.1. Khai phá dữ liệu và phát hiện tri thức 2
2.2 Tại sao phải tiến hành khai phá dữ liệu? 4

5.1. Vài nét về các phần mềm nguồn mở được sử dụng 35
5.1.1. Weka 35
5.1.2. Jstock 37
5.2. Mô hình kết hợp giữa hai gói phần mềm mã nguồn mở 38
5.2.1. Chuyển dữ liệu thời gian thực 39
5.2.2. Xác định mô hình phù hợp 40
5.2.3. Chuyển kết quả cho stock hiển thị 43
5.3. Đánh giá với một số mô hình khác 43
5.3.1. Mô hình cây quyết định 44
5.3.2. Mô hình phân lớp xác suất ngây thơ naïve bayes 46
4
Chương 6. KẾT LUẬN 49
TÀI LIỆU THAM KHẢO 50
5
DANH MỤC HÌNH VẼ
Hình 2.1 – Quá trình khai phá tri thức [1] 3
Hình 2.2 – Kiến trúc điển hình của một hệ thống khai phá dữ liệu [2] 5
Hình 2.3 – Bảng thống kê xu thế phát triển khai phá dữ liệu [1] 8
Hình 3.1 - Mô hình của một noron[2] 10
Hình 3.2 – Mô hình của một noron được vẽ lại [2] 11
Hình 3.3 – Hàm ngưỡng 12
Hình 3.4 – Hàm vùng tuyến tính 13
Hình 3.5 – Hàm tuyến tính 13
Hình 3.6 – Hàm sigma với các độ dốc khác nhau 14
Hình 3.7 – Mô hình mạng tiến đơn mức 15
Hình 3.8 – Mô hình mạng tiến đa mức 16
Hình 3.9 – Mô hình mạng tiến có sự phản hồi 17
Hình 4.1 – Mô hình dự đoán sử dụng mạng noron 23
Hình 4.2 – Tỷ lệ kích thước giữa các tập huấn luyện [9] 27
Hình 4.3 – Độ hội tụ: 3 tầng, 20 nơ ron ẩn, 50 bước 29

Có nhiều kỹ thuật để khai phá dữ liệu trong đó kỹ thuật dựa vào mạng Noron khá là
phổ biến [2]. Một trong những ứng dụng kinh điển của mạng Noron là lớp các bài toán dự
đoán vì mạng Noron ngoài khả năng dự đoán với độ chính xác cao nó còn có ưu điểm là
mềm dẻo và thích nghi cao với môi trường, rất thích hợp cho bài toán dự đoán với dữ liệu
thay đổi nhanh theo thời gian. Chính vì vậy, khóa luận sẽ sử dụng mạng Noron để dự
đoán xu thế của giá chứng khoán.
Các hệ thống chứng khoán thường là những hệ thống rất phức tạp vì vậy rất khó có
thể dự đoán được dữ liệu của nó. Nó phụ thuộc vào rất nhiều yếu tố trong đó có những
yếu tố không thể định lượng được như: tâm lý, sự mù quáng của nhà đầu tư…. Mặc dù
vậy thị trường chứng khoán không phải là một quá trình ngẫu nhiên và nó có quy luật của
nó và có thể dự đoán được. Tìm ra được xu hướng của thị trường chứng khoán sẽ là chìa
khóa giúp cho quá trình hỗ trợ quyết định của nhà đầu tư.
Trước sự hấp dẫn của các ứng dụng của mạng noron, sự phát triển đi lên của thị
trường chứng khoán, cùng sự động viên khuyến khích của thầy hướng dẫn, tôi đã quyết
định thực hiện những nghiên cứu về mạng noron để dự báo xu thế thị trường chứng khoán
nhằm đưa ra những gợi ý cho nhà đầu tư. Do thời gian làm khóa luận có hạn nên tôi mới
chỉ xây dựng được các thành phần cơ bản nhất của phần mềm. Các tính năng nâng cao tôi
sẽ cố hoàn thiện sau này.
1
Chương 2. GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU
VÀ PHÁT HIỆN TRI THỨC
2.1. Khai phá dữ liệu và phát hiện tri thức
Phát hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery in Databases – KDD)
(đôi khi còn được gọi là khai phá dữ liệu) là một quá trình không đơn giản nhằm nhận
dạng ra những mẫu có giá trị, mới, hữu ích tiềm năng và hiểu được trong dữ liệu. Đây là
lĩnh vực nghiên cứu và triển khai được phát triển rất nhanh chóng và có phạm vi rất rộng
lớn, lại được rất nhiều nhóm nghiên cứu tại nhiều trường đại học, viện nghiên cứu, công
ty ở nhiều quốc gia trên thế giới quan tâm, cho nên có rất nhiều cách tiếp cận khác nhau
đối với lĩnh vực phát hiện tri thức trong CSDL. Chính vì lý do đó các nhà khoa học trên
thế giới đã dùng nhiều thuật ngữ khác nhau, mà các thuật ngữ này được coi là mang cùng

trình đó không
chỉ nhiều bước mà còn được thực hiện lặp, và quan trọng hơn quá trình đó
bao hàm một
mức độ tìm kiếm tự động. Trong mô hình chúng ta đã coi KDD là một quá
trình bao gồm
nhiều bước thực hiện, trong đó, khai phá dữ liệu là một bước thực hiện
chính yếu. Cách
hiểu như vậy đã quy định có sự phân biệt giữa hai khái niệm khai phá dữ
liệu và KDD.
Từ đây có thể đi đến một khái niệm về khai phá dữ liệu:
Khai phá dữ liệu là một bước trong quá trình phát hiện tri thức trong
cơ sở dữ liệu,
thi hành một thuật toán khai phá dữ liệu để tìm ra các mẫu từ dữ liệu theo
khuôn dạng
thích hợp.
3
Có thể nhận xét rằng, khái niệm khai phá dữ liệu là khá rộng lớn, nhưng không
phải tất cả mọi công việc liên quan đến dữ liệu đều được coi là khai phá dữ liệu, chẳng
hạn như những việc xử lý truy vấn đơn giản như tra cứu một số điện thoại, hay thống kê
ra những học sinh giỏi của một lớp, thì không thể coi đó là khai phá dữ liệu. Nhưng
những công việc như gom nhóm các tài liệu trả về từ máy tìm kiếm theo từng ngữ cảnh
thì lại được xem là khai phá dữ liệu [1] . Chính vì sự phong phú và đa dạng này mà dẫn
đến thực trạng là tồn tại một số quan niệm khác nhau về chuyên ngành nghiên cứu gần
gũi nhất với lĩnh vực khai phá dữ liệu.
2.2 Tại sao phải tiến hành khai phá dữ liệu?
Trong những năm gần đây, khai phá dữ liệu trở thành một lĩnh vực nghiên cứu rộng
rãi trong ngành công nghiệp thông tin, nguyên nhân chủ yếu là do khối lượng khổng lồ
của dữ liệu mà con người tạo ra, đi kèm với nó là sự cần thiết của việc rút trích tri thức từ
những dữ liệu đó. Thông tin và tri thức có thể được áp dụng vào nhiều lĩnh vực từ phân
tích thị trường tài chính, phát hiện giả mạo, cho đến điều khiển sản xuất và nghiên cứu

để làm tăng tính hiệu quả của thành phần này. Một số tham số của thuật toán khai phá dữ
liệu tương ứng sẽ được tinh chỉnh theo tri thức miền sẵn có từ cơ sở tri thức trong hệ
thống. Cơ sở tri thức còn được sử dụng trong việc đánh giá các mẫu đã khai phá được
xem chúng có thực sự hấp dẫn hay không, trong đó có việc đối chứng mẫu mới với các tri
thức đã có trong cơ sở tri thức. Nếu mẫu khai phá được là thực sự hấp dẫn thì chúng được
bổ sung vào cơ sở tri thức để phục vụ cho hoạt động tiếp theo của hệ thống. Như vậy,
nguồn tri thức bổ sung vào cơ sở tri thức ở đây không chỉ từ lập luận lôgic theo các hệ
toán lôgic để có tri thức mới, không chỉ do con người hiểu biết thêm về thế giới khách
quan để bổ sung vào mà còn là tri thức được phát hiện một cách tự động từ nguồn dữ liệu
[1].
2.4. Các bài toán khai phá dữ liệu điển hình
Mô tả khái niệm/lớp (concept/class description):
Dữ liệu có thể được kết hợp với khái niệm hoặc lớp. Ví dụ ta có chia dữ liệu về sản
phẩm điện tử thành các lớp sản phẩm như máy tính, máy in, máy chiếu… Mỗi lớp/khái
niệm được miêu tả riêng một cách tổng quan và chính xác. Việc miêu tả này có được
thông qua: sự mô tả tính chất của dữ liệu (data characterization) hoặc phân biệt dữ liệu
(data discrimination) hoặc kết hợp cả hai.
Mô tả tính chất dữ liệu (data characterization): là sự tổng hợp những đặc tính chung
nhất của lớp dữ liệu. ví dụ: đối với những người khách hàng tiêu nhiều tiền ta có thể tổng
hợp những đặc điểm của người đó như sau: tuổi đời trung niên, có việc làm ổn định, có
khả năng thanh toán cao.
Phân biệt dữ liệu (data discrimination): là sự so sánh những đặc tính chung một lớp
đối tượng dữ liệu với những đặc tính chung của một lớp đối tượng dữ liệu khác từ một tập
những lớp tương phản. ví dụ: so sánh hai đối tượng khách hàng, một đối tượng thường
xuyên mua điện thoại còn một đối tượng ít khi mua điện thoại. điều này đem đên một sự
so sánh giữa hai đối tượng, đối tượng thứ nhất thường là những người trẻ tuổi còn đối
tượng thứ 2 thường là những người trung tuổi.
Phân tích kết hợp (association analysis):
6
Từ một hoặc một vài sự kiện của đối tượng xảy ra kết hợp với nhau có thể kéo theo

Hình 2.3 – Bảng thống kê xu thế phát triển khai phá dữ liệu [1]
2.6. Kết luận
Trong chương này tôi đã trình bày những nét cơ bản về khai phá dữ liệu và những
ứng dụng của nó. Có thể nói lĩnh vực khai phá dữ liệu là khá mới mẻ và có xu hướng tăng
trưởng cao trong những năm tới. Trong chương tới, tôi sẽ giới thiệu một kỹ thuật được sử
dụng khá phổ biến trong khai phá dữ liệu đó là kỹ thuật sử dụng mạng noron.
8
Chương 3. CƠ SỞ LÝ THUYẾT CỦA MẠNG
NORON CHO VẤN ĐỀ DỰ BÁO
3.1. Khái niệm về mạng noron.
Lý thuyết về mạng noron [3] [2] được xuất phát từ ý tưởng mô phỏng cấu trúc bộ
não con người. Thực tế có thể coi bộ não con người là một máy tính hay một hệ thống xử
lý thông tin song song, phi tuyến và cực kỳ phức tạp. Nó có khả năng tự tổ chức các bộ
phận cấu thành nó như là các tế bào thần kinh (noron) hay các khớp nối thần kinh
(synapse). Việc mô phỏng này dựa trên những nghiên cứu về thần kinh sinh học. Bộ não
con người có khả năng nhận dạng mẫu và điều khiển vận động rất tốt, do đó điểm mạnh
của mạng noron cũng chính là những khả năng này.
Định nghĩa mạng noron [6]: mạng nơ ron nhân tạo, artificial neural network,
(thường được gọi ngắn gọn là mạng nơ ron, neural network) là mạng các phần tử (gọi là
nơ ron) kết nối với nhau thông qua các liên kết (gọi là trọng số liên kết) để thực hiện một
công việc nào đó. Khả năng xử lý của mạng nơ ron được hình thành thông qua quá trình
hiệu chỉnh trọng số liên kết giữa các nơ ron, nói cách khác là học từ tập hợp các mẫu huấn
luyện.
Như vậy một mạng noron được cấu thành từ các noron riêng biệt. Cách thức kết hợp
các noron này với nhau sẽ tạo ra một mạng có tính chất riêng. Do đó để hiểu về mạng
noron trước tiên chúng ta sẽ tìm hiểu về cấu trúc của một noron.
3.2. Mô hình của một noron nhân tạo và hàm truyền
3.2.1. Mô hình của một noron
Một noron nhân tạo là một đơn vị tính toán hay đơn vị xử lý thông tin cơ sở cho hoạt
động của một mạng. Chúng có khả năng nhận đầu vào, xử lý đầu vào đó, đưa dữ liệu đã

=
(j = 0,m tức là ta đã thêm một liên kết mới)
Mô hình được vẽ lại như sau:
.
)
Hình 3.2 – Mô hình của một noron được vẽ lại [2]
11
= ( + )
= (
3.2.2. Hàm truyền
Như ở trên đã giới thiệu và sơ qua về hàm truyền, dưới đây tôi sẽ đưa ra một vài
hàm truyền cơ bản:
a. Hàm ngưỡng
Công thức
Đồ thị:
= ( )=
1
ế
ế
≥0
Hình 3.3 – Hàm ngưỡng
b. Hàm vùng tuyến tính
Công thức
Đồ thị
= ( )=
⎧1
⎪0
ế
1
ế>

3.3. Mô hình của mạng noron
Mô hình của mạng noron chính là cách kết nối các noron lại với nhau. Có hai mô
hình chính là mạng tiến (feed forward network) và mạng hồi quy (recurrent network).
3.3.1. Mạng tiến
Mạng tiến là mạng mà ở trong đó luồng dữ liệu từ đầu vào tới đầu ra của các noron
được truyền thẳng, không có sự phản hồi nào. Quá trình xử lý dữ liệu trong mạng có thể
mở rộng ra nhiều lớp do đó ta có thể chia thành mạng tiến đơn mức và mạng tiến đa mức
a. Mạng tiến đơn mức
14
= ( )=
Mạng tiến đơn mức chỉ gồm các đầu vào (input) được truyền trực tiếp cho một lớp
noron xử lý và đưa ra kết quả luôn.
Mô hình:
Hình 3.7 – Mô hình mạng tiến đơn mức
b. Mạng tiến đa mức
Trong mạng tiến đa mức thì ở giữa các inputs và lớp noron output có thêm một hoặc
nhiều lớp noron xử lý trung gian nữa – những lớp noron xử lý trung gian này được gọi là
lớp ẩn (hidden units). Việc thêm này giúp cho mạng tăng khả năng xử lý, thống kê và ghi
nhớ. Tuy nhiên nếu có quá nhiều lớp ẩn mạng sẽ trở nên phức tạp trong tính toán và dễ
gây ra hiện tượng overfitting ( hiện tượng học quá).
Mô hình:
15
Hình 3.8 – Mô hình mạng tiến đa mức
3.3.2. Mạng hồi quy
Khác với mạng tiến, mạng hồi quy có sự kết nối phản hồi lại từ đầu ra quay ngược
trở lại làm tham số đầu vào. Việc này làm cho các thuộc tính của mạng là động tức là có
khả năng thay đổi trong quá trình hoạt động. Như vậy mạng sẽ có khả năng thích nghi cao
hơn.
16
Mô hình:


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status