Các nhà nghiên cứu đã áp dụng rất nhiều thuật toán như: Moving average của nhóm tác giả Lauren trong [12], Giải thuật di truyền của Thomas và cộng sự trong [14], Support Vector Machine c
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP CHUYÊN ĐÊ
HỆ HỖ TRỢ QUYẾT ĐỊNH
Đề Tài:
DỰ ĐOÁN XU HƯỚNG CHỨNG KHOÁN TẠI
SÀN HOSE DỰA TRÊN TIN TỨC TÀI CHÍNH
▪ Khóa: 09
▪ Giảng viên hướng dẫn:
PGS.TS ĐỖ PHÚC
▪ Nhóm học viên thực hiện:
Dương Thị Xuân Thoại CH1301061
Tháng 08, Thành phố Hồ Chí Minh.
Mục Lục
Trang 2Chương 1. GIỚI THIỆU
Chứng khoán là kênh đầu tư có khả năng sinh lợi cao và cũng
tiềm ẩn nhiều rủi ro Do đó, việc dự báo xu hướng vận động của thị
trường và giá cổ phiếu luôn được quan tâm Một mô hình dự đoán có
hiệu quả có thể được các nhà đầu tư sử dụng để đưa ra quyết định hoặc
có thể được sử dụng bên trong một hệ thống giao dịch tự động Việc dự
đoán đúng giá một chứng khoán có thể tăng hoặc giảm trong khoảng
thời gian tới sẽ giúp đưa ra các quyết định đầu tư đúng đắn
Kỹ thuật dự báo phổ biến được thực hiện dựa trên dữ liệu giá
trong quá khứ Các nhà nghiên cứu đã áp dụng rất nhiều thuật toán như:
Moving average của nhóm tác giả Lauren trong [12], Giải thuật di
truyền của Thomas và cộng sự trong [14], Support Vector Machine của
nhóm tác giả Lin trong [13] và các kỹ thuật khác để phân tích xu hướng
chứng khoán và đạt được kết quả khả quan Vấn đề của các hướng tiếp
cận này là các nhà nghiên cứu cố gắng dự đoán xu hướng chứng khoán
từ mức giá trong lịch sử Tuy nhiên, vấn đề ở đây là thị trường chứng
khoán có sự dịch chuyển của chính nó nên dự đoán chỉ dựa vào giá
trong quá khứ là chưa đủ Một số sự kiện có thể gây tác động tốt hoặc
xấu đến thị trường chứng khoán Ví dụ, nếu giá xăng giảm mạnh thì sẽ
tác động đến các nhà đầu tư, họ có thể bán tất cả các cổ phiếu của
chứng khoán dầu khí và kết quả là giá chứng khoán dầu khí sẽ đi
xuống Một giải pháp khác cho vấn đề trên đó là xem xét các tác động
của tin tức tài chính để dự báo cho xu hướng chứng khoán
Trước khi đến với bài báo cáo của em, chúng ta cần phải xác
định rằng việc dự đoán thị trường chứng khoán có khả thi hay không?
Theo học thuyết Efficient Market Hypothesis (EMH), trong thị trường
tài chính, cơ hội lợi nhuận được khai thác ngay sau khi phát sinh, do đó
Trang 3giá cổ phiếu bao gồm dữ liệu lịch sử và thông tin tổng quát của công ty
cũng như tin tức trong nội bộ sẽ gây khó khăn trong việc dự đoán của
nhà đầu tư Tuy nhiên, theo như các bài báo của nhóm tác giả Kaya
trong [5] và nhóm tác giả Lauren trong [12] chúng ta hoàn toàn có thể
dự báo được thị trường chứng khoán Trong thực tế, phải mất một thời
gian để thị trường tự điều chỉnh theo tác động của tin tức Vì vậy,
hướng tiếp cận của em sẽ thích hợp hơn trong việc tạo ra một tín hiệu
hành động (mua, bán) tương ứng với các thông tin từ thị trường so với
việc dự đoán chính xác giá tương lai của các cổ phiếu
Tại Việt Nam, sàn giao dịch chứng khoán thành phố Hồ Chí
Minh (HOSE) được thành lập từ năm 2000 và việc dự đoán xu hướng
chứng khoán sử dụng tin tức tài chính chưa được nghiên cứu Hơn nữa,
ngôn ngữ tiếng Việt có cấu trúc khác với tiếng Anh [3], nên việc xử lý
ngôn ngữ sẽ phức tạp hơn Đó là động lực để em làm nghiên cứu này
và đề xuất một mô hình dự đoán xu hướng chứng khoán cho thị trường
Việt Nam thông qua sử dụng tin tức tài chính và dữ liệu giá chứng
khoán
Chương 2. QUÁ TRÌNH NGHIÊN CỨU
Trong việc xác định xu hướng lên, xuống của thị trường chứng
khoán Cần phải xem xét nhiều yếu tố:
• Dữ liệu đầu vào: Phương pháp tiếp cận thứ nhất là dựa trên giá lịch
sử của chứng khoán và sử dụng các phương thức phân tích kĩ thuật
để dự đoán thị trường chứng khoán, phương thức tiếp cận thứ hai là
dựa vào việc sử dụng tin tức tài chính, em sẽ kết hợp cả hai phương
pháp trên với hy vọng tăng độ chính xác khi dự đoán
Trang 4• Mục tiêu: Mục tiêu chương trình có thể rất đa dạng có thể là dự
đoán giá chứng khoán trong tương lai, xu hướng chứng khoán hoặc
biến động thị trường Xu hướng chứng khoán đơn giản là sự dịch
chuyển của giá cổ phiếu đi lên hoặc đi xuống Biến động thị trường
thể hiện sự giao động không ổn định của thị trường Thị trường
càng biến động đồng nghĩa với việc biến động về giá của cổ phiếu
tương ứng
• Khoản thời gian xem xét: Khoản thời gian xem xét có thể là dự
đoán trong ngắn hạn hoặc dài hạn Dự đoán ngắn hạn có thể bắt đầu
từ 5 phút đến một ngày sau khi tin tức được đưa ra, dự đoán dài hạn
có thể bắt đầu từ một tuần, tháng hoặc năm sau khi tin tức được đưa
ra Trong bài nghiên cứu này em sẽ sử dụng việc dự đoán ngắn hạn
cụ thể là theo ngày vì khi tin tức được đưa ra nhà đầu tư sẽ đọc, cập
nhật trong thời gian ngắn khi tin tức được đưa ra và có xu hướng
mua hay bán cổ phần mình đang nắm giữ dựa vào tính tích cực hay
tiêu cực của bài báo vì thế ảnh hưởng trực tiếp đến giá cổ phiếu
Nên em kết luận, tin tức sẽ ảnh hưởng giá cổ phiếu trong thời gian
ngắn hạn
2.1 Các bước chính trong việc dự đoán xu hướng chứng khoán
Dự đoán xu hướng chứng khoán dựa vào tin tức tài chính có thể
được xem đơn giản là việc phân loại tin Mục tiêu cuối cùng của hệ
thống là dự đoán xu hướng thị trường chứng khoán dựa vào nội dung
tin tức Dựa trên các yếu tố ảnh hưởng đến việc dự đoán được mô tả
trong mục trước, một tập các phân lớp được định sẵn Ví dụ như: “+1”
tương ứng với xu hướng tăng của giá cổ phiếu, “-1” tương ứng với xu
hướng giảm của giá cổ phiếu Em giả thuyết rằng mỗi tin tức đưa ra
đều có ảnh hưởng đến giá cổ phiếu theo chiều hướng tốt hoặc xấu Vì
Trang 5vậy, em không đưa lớp trung lập vào hệ thống Tất cả các tin tức đưa
vào hệ thống sẽ được phân vào một trong hai lớp được đề cập ở trên
Hệ thống của em được chia làm 2 bước chính: bước huấn luyện và
bước kiểm tra Trong bước huấn luyện, em sẽ chuẩn bị một tập dữ liệu
huấn luyện, chính là các tin tức được phân lớp sẵn dựa vào dữ liệu giá
cổ phiếu theo ngày Tập dữ liệu này sẽ là đầu vào cho phương pháp
huấn luyện máy học để xây dựng ra một mô hình được sử dụng trong
bước kiểm tra để tìm độ chính xác của việc dự đoán Mô hình dự đoán
chứa các thành phần cơ bản được mô tả như hình 1 gồm:
Hình 1. Mô hình hệ thống
• Lấy dữ liệu giá chứng khoán và tin tức tài chính
• Tiền xử lý nội dung văn bản
• Gán nhãn văn bản
• Xây dựng bộ từ điển mức độ ảnh hưởng tích cực, tiêu cực
của từ
• Đánh trọng số của từ trong văn bản
• Giảm số chiều của từ trong văn bản
• Phân lớp cho văn bản
Trang 62.1.1 Lấy dữ liệu giá chứng khoán và tin tức tài chính
Giá chứng khoán
Trong bài nghiên cứu này, em chọn giá chứng khoán theo ngày
của rổ chứng khoán VN30 trong khoản thời gian từ tháng 01/2014 đến
tháng 5/2015
Tin tức tài chính
Tin tức tài chính được thu thập chủ yếu từ nguồn tin tức của
trang web VIETSTOCK.VN và hai trang cung cấp tin chính thức của
các doanh nghiệp niêm yết là HSX.VN và HNX.VN trong khoản thời
gian từ tháng 01/2014 đến tháng 05/2015
2.1.2 Tiền xử lý nội dung văn bản
Tất cả tin tức thu thập được đều ở dưới dạng html nên chứa rất
nhiều thẻ không cần thiết của ngôn ngữ HTML Vì thế, đầu tiên cần
loại bỏ tất cả các thẻ không cần thiết để trích lấy nội dung chính và lưu
dưới định dạng văn bản
Đến bước này thì mỗi văn bản chứa nhiều câu, bước tiếp theo
của hệ thống là tách từ từ các câu trong văn bản Em sử dụng chương
trình tách từ Tiếng Việt VNTOKENIZER của nhóm tác giả Dien Dinh
và Hoang Kiem trong [3] Công cụ này được chứng minh đem lại độ
chính xác hơn 90% trong việc tách từ Tiếng Việt Tất cả các từ thu
được sẽ là đầu vào cho bước tiếp theo
Trong bước cuối cùng của giai đoạn này, hệ thống sẽ lấy từ được
tách từ tất cả các văn bản và cải thiện mức độ hiệu quả và tài nguyên hệ
thống bằng cách loại bỏ các từ không cần thiết mà không đem lại thông
tin có ích gì cho việc phân loại: các từ dừng (và, của, là, ), số, kí hiệu
Vì mục đích này mà một danh sách các từ dừng trong Tiếng Việt với
hơn 900 từ đã được em thu thập bằng tay
Trang 72.1.3 Gán nhãn văn bản
Trong các nghiên cứu trước đây, có hai cách tiếp cận trong việc
gán nhãn văn bản Cách tiếp cận thứ nhất là gán nhãn cho từng văn bản
bằng tay dựa vào ý kiến của chuyên gia về nội dung của bài báo ảnh
hưởng thế nào đến xu hướng chứng khoán Mặc dù đạt tỉ lệ chính xác
cao khi sử dụng phương pháp này, tuy nhiên số lượng bài báo là một
vấn đề cần quan tâm Cách tiếp cận thứ hai là gán nhãn bài báo tự động
dựa vào ảnh hưởng của chúng vào giá cổ phiếu Phương pháp này
không chính xác bằng phương pháp thứ nhất vì sự thay đổi giá không
chỉ ra nhãn thực sự của bài báo trong nhiều trường hợp Ví dụ, mặc dù
bài báo là tích cực ảnh hưởng đến sự tăng giá cổ phiếu, tuy nhiên
khủng hoảng tài chính có thể làm rớt giá cổ phiếu Ngoài ra, do áp dụng
nghiên cứu tại thị trường chứng khoán Việt Nam nơi tin tức không
phản ánh chính xác tình hình hoạt động của công ty như ở nước ngoài,
tin tức tại thị trường chứng khoán Việt Nam có thể bị thao túng bởi một
số cá nhân tung tin đồn làm cho giá cổ phiếu giảm hoặc tăng theo ý
muốn của họ nên việc tìm được một nguồn tin tức đáng tin cậy là việc
vô cùng quan trọng
2.1.4 Xây dựng bộ từ điển đánh giá mức độ quan trọng của từ
Trong các nghiên cứu gần đây của nhóm tác giả Mizumoto trong
[15] và nhóm tác giả Yang Gao trong [16], hướng tiếp cận là dự đoán
xu hướng chứng khoán có sử dụng phương pháp Sentiment dictionary –
là một từ điển đánh giá mức độ tác động tích cực hay tiêu cực của từ
đến bài báo nhằm mục đích tăng thêm mức độ chính xác cho việc đánh
trọng số từ
Nhóm đã tìm hiểu và đề xuất việc xây dựng một bộ từ điển
sentiment được xây dựng với mục đích tìm cách nâng cao độ chính xác
Trang 8của bài báo tiếng Việt Đầu tiên nhóm sử dụng bộ từ điển tiếng Việt
của tác giả Duc Ho (Viet74k), sau đó sử dụng công cụ VNTagger của
tác giả Phuong Le trong [17] nhằm mục đích gán nhãn từ loại (tính từ,
danh từ, động từ,…) cho từ điển và chỉ lọc ra tính từ và động từ (tăng,
mạnh,…) Cuối cùng, tiến hành gán nhãn các bài báo dựa vào giá cổ
phiếu và duyệt qua tất cả các bài báo trong văn bản, đếm số lần từ trong
từ điển xuất hiện trong bài báo với phân lớp tăng và số lần từ trong từ
điển xuất hiện trong bài báo với phân lớp giảm và áp dụng công thức
(1) (2) để tính chỉ số của từng từ trong từ điển:
Với tp,wi là điểm ứng với ảnh hưởng tích cực của từ wi trong từ
điển, tn,wi là điểm ứng với ảnh hưởng tiêu cực của từ wi trong từ điển |
P| là số văn bản được gán nhãn tăng mà từ t xuất hiện, |N| là số văn bản
được gán nhãn giảm mà từ t xuất hiện
Sau khi đã duyệt qua tất cả các bài báo, những từ trong từ điển
mà không xuất hiện ở trong bài báo nào của phân lớp tăng và giảm sẽ
bị loại bỏ để giảm thời gian xử lý
2.1.5 Đánh trọng số của từ trong văn bản
Sau khi đã loại bỏ bớt các từ không cần thiết, sau đó tạo ra một
từ điển luật dựa vào việc phân tích các từ trong văn bản Mỗi một dòng
trong từ điển đại diện cho một văn bản gồm: số lượng từ tương ứng
trong văn bản, dánh sách các từ, trọng số của từng từ Để đánh trọng số
cho từng luật em sử dụng phương pháp Delta TFIDF của nhóm tác giả
Prollochs trong [8], mục tiêu của việc cải tiến là tăng độ quan trọng của
luật được phân bố không đều giữa lớp giảm và lớp tăng và giảm độ
Trang 9quan trọng của luật được phân bố đều giữa lớp giảm và lớp tăng Chi
tiết thuật toán như sau:
Với Ct,d là số lần luật t xuất hiện trong tin tức d, Pt là số văn bản
được gán nhãn tăng mà luật t xuất hiện, |P| là số văn bản được gán nhãn
tăng trong toàn bộ văn bản, Nt là số văn bản được gán nhãn giảm mà
luật t xuất hiện, |N| là số văn bản được gán nhãn giảm trong toàn bộ văn
bản, Vt,d là trọng số cho luật t trong văn bản d
2.1.6 Giảm số chiều của từ trong văn bản
Phương pháp giảm số chiều văn bản có thể được chia ra thành:
thuật toán FE (Feature extraction) của Martineau và cộng sự trong [9]
và thuật toán FS (Feature selection) của nhóm tác giả Kaya trong [5]
Thuật toán FS chọn một tập con của các luật có tính đại diện cao nhất
từ bộ từ điển luật và từ đó lập bộ luật mới với số chiều đã được giảm
bớt đáng kể Thuật toán FE biến đổi bộ luật ban đầu thành một bộ luật
với không gian luật nhỏ hơn để giảm bớt số chiều Mặc dù thuật toán
FE đã được chứng minh rất hiệu quả cho việc giảm số chiều, tuy nhiên
tập luật quá lớn thường làm một số thuật toán FE không có khả năng
giải quyết vì độ tính toán phức tạp vì thế thuật toán FS được sử dụng
phổ biến hơn cho việc giải quyết vấn đề giảm số chiều của từ điển luật
Trong nghiên cứu này, em sẽ chỉ áp dụng thuật toán FS Đã có
rất nhiều nghiên cứu được tiến hành trong giải thuật FS của nhóm tác
giả Hayes trong [10] trong việc phân loại văn bản như: MI (Mutual
information), IG (Information Gain), GSS (GSS Coefficient), CHI (Chi
square), RS (Relevancy Score) Gần đây, nghiên cứu của Lewis và
cộng sự trong [6] đã cho thấy thuật toán OCFS cho hiệu suất cao trong
thuật toán FS Ý tưởng chính của thuật toán OCFS là:
Trang 10• Tính centroid m=1,2,…,c cho mỗi phân lớp của bộ huấn
luyện
• Tính centroid m cho tất cả các phân lớp của bộ huấn luyện
• Tính điểm của từng luật i-th
• Chọn K luật có điển cao nhất
Em sẽ dùng thuật toán OCFS trong việc giảm số chiều trong bài
nghiên cứu này
2.1.7 Phân lớp cho văn bản
Dựa vào các cách tiếp cận gần đây: theo nhóm tác giả Minh
Nguyen trong [4] có 2 hoặc 3 lớp được định nghĩa để dự báo xu hướng
thị trường: 2 lớp tương ứng với tăng và giảm và 3 lớp tương ứng với
tăng, giảm, trung lập Mục tiêu chung của xử lý tin tức là để phân lớp
tin tức vào 2 lớp: tăng hoặc giảm với cổ phiếu được chọn Thỉnh thoảng
việc phân lớp được mở rộng bằng việc định nghĩa lớp trung lập như
cách làm của nhóm tác giả Sebastiani trong [11]
2.2 Chi tiết hệ thống
Em thu thập các bài báo từ trang web vietstock.vn trong khoản
thời gian từ tháng 01/2014 đến tháng 05/2015 Kết quả, em thu được
2725 bài báo Trong nghiên cứu, em chỉ chọn các bài báo chung về
kinh tế Việt Nam và các bài báo liên quan đến hoạt động kinh doanh
của các công ty liên quan trong rổ VN30 (BVH, CII, CSM, DPM,
DRC, FLC, FPT, GMD, HAG, HCM, HPG, HSG, HVG, IJC, ITA,
KBC, KDC, MBB, MSN, OGC, PPC, PVD, PVT, REE, SSI, STB,
VCB, VIC, VNM, VSM) thuộc sàn giao dịch Hồ Chí Minh Để tiện
cho quá trình so sánh dựa trên khoản thời gian và số lượng bài báo em
chia chương trình ra làm 3 mẫu gồm: mẫu 1 chứa các tin tức từ tháng
01/2015 đến tháng 05/2015, mẫu 2 chứa các tin tức từ tháng 06/2014
Trang 11đến tháng 05/2015, mẫu 3 chứa các tin tức từ tháng 01/2014 đến tháng
05/2015 như bảng 1
1 Chi tiết bài báo theo từng mẫu
Tập huấn luyện
1090
1499
1730
Em sử dụng SVM của tác giả Vapnik trong [2] làm phương pháp
máy học để phân loại bài báo SVM được chứng minh là một phương
pháp phân loại văn bản hiệu quả nhất với cả tiếng Việt cũng như tiếng
Anh SVM dựa vào biên quyết định, nhằm chia các mẫu của các lớp
khác nhau Một biên quyết định tốt phải cách xa các mẫu của tất cả các
lớp đã được tách biệt SVM được xem là dễ triển khai hơn các giải
thuật phân lớp khác, tuy nhiên người sử dụng chưa quen với nó thường
đạt kết quả không như mong muốn khi họ triển khai thuật toán trên Do
đó em sử dụng công cụ LibSVM của nhóm tác giả Chang trong [1] để
tiến hành quá trình phân lớp LibSVM là một thư viện được thiết kế
cho phương pháp máy học SVM Mục tiêu của thư viện là giúp người
dùng tùy biến và triển khai SVM đạt kết quả tối ưu nhất
Trang 12Chương 3. KẾT QUẢ THỰC NGHIỆM
Ma trận kết hợp (Confusion matrix), precision (độ chính xác
giữa các mẫu), độ phủ (recall) và accuracy (độ chính xác) được sử dụng
để đánh giá mô hình đề xuất Trong ma trận kết hợp, TP và TN chỉ ra
phân lớp đúng cho các lớp tương ứng, FP và FN chỉ ra phân lớp sai cho
các lớp tương ứng
Bảng 1. Ma trận kết hợp
Lớp dự đoán
m
Lớp thực tế
T
G
Accuracy là phần tăng dự đoán là tăng (TP) và giảm dự đoán là
giảm (TN), precision được định nghĩa là tăng dự đoán là tăng (TP) chia
cho tổng của tăng được dự đoán là tăng (TP) và giảm được dự đoán là
tăng (FP) Recall được định nghĩa là tăng được dự đoán là tăng (TP)
chia cho tổng của tăng dự đoán là tăng (TP) và tăng được dự đoán là
giảm (FN) Các công thức tương ứng như sau:
Để tìm được mô hình tối ưu nhất cho hệ thống dự đoán xu
hướng chứng khoán, em tiến hành kiểm tra hoạt động của hệ thống với
nhiều cách tiếp cận khác nhau Em tiến hành so sánh hiệu suất của ba
mô hình phân loại văn bản sau đây: mô hình 1 sử dụng phương pháp