- Mô hình này được xây dựng dựa trên một tập dữ liệu đã được gán nhãn trước đó thuộc về lớp nào - Quá trình gán nhãn thuộc lớp nào cho đối tượng dữ liệu chính là quá trình phân lớp dữ li
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH
KHOA QUẢN TRỊ
BÁO CÁO ĐỒ ÁN KHOA HỌC DỮ LIỆU
Đề tài
DỰ BÁO SỰ TĂNG GIẢM CỦA MỘT MÃ CHỨNG KHOÁN
MÔ TẢ
Thành phố Hồ Chí Minh
GVHD: Th.S Hồ Thị Thanh Tuyến
Thực hiện:
Nguyễn Thuỷ Trâm - 31181025406
Hồ Viết Đạt - 31181023465
Trang 2MỤC LỤC
A LÝ THUYẾT 2
1 BÀI TOÁN PHÂN LỚP DỮ LIỆU 2
1.1 ĐỊNH NGHĨA [1] 2
1.2 MÔ HÌNH [1] 2
2 DỰ ĐOÁN CỔ PHIẾU TRÊN THỊ TRƯỜNG CHỨNG KHOÁN 2
2.1 PHÁT BIỂU BÀI TOÁN 2
2.2 CÁC KHÁI NIỆM LIÊN QUAN ĐẾN CỔ PHIẾU 3
2.3 CÁC PHƯƠNG PHÁP DỰ ĐOÁN [1] 4
B THỰC NGHIỆM 6
1, DỮ LIỆU 6
1.1 TÌM HIỂU VỀ DỮ LIỆU 6
1.2 XỬ LÝ DỮ LIỆU 6
2 MÔ HÌNH - KỊCH BẢN 7
3 PHƯƠNG PHÁP 8
3.1, PHƯƠNG PHÁP THỐNG KÊ 8
3.2, PHƯƠNG PHÁP MÁY HỌC 8
4 KẾT QUẢ 10
4.1 PHƯƠNG PHÁP THỐNG KÊ 10
4.2 PHƯƠNG PHÁP MÁY HỌC 10
Biểu đồ ROC Target class: Giảm 10
Biểu đồ ROC Target class: Không đổi Biểu đồ ROC Target class: Tăng 11
5 NHẬN ĐỊNH – KINH NGHIỆM 11
5.1 KHÓ KHĂN 11
5.2 THUẬN LỢI 11
5.3 ĐÁNH GIÁ (BÀI HỌC KINH NGHIỆM) 12
C TÀI LIỆU THAM KHẢO 12
Trang 3A LÝ THUYẾT
1 BÀI TOÁN PHÂN LỚP DỮ LIỆU
1.1 ĐỊNH NGHĨA [1]
- Là quá trình phân một đối tượng dữ liệu vào một hay nhiều lớp (loại) đã cho trước nhờ một mô hình phân lớp
- Mô hình này được xây dựng dựa trên một tập dữ liệu đã được gán nhãn trước đó (thuộc về lớp nào)
- Quá trình gán nhãn (thuộc lớp nào) cho đối tượng dữ liệu chính là quá trình phân lớp dữ liệu
1.2 MÔ HÌNH [1]
Quá trình phân lớp dữ liệu:
Bước 1: Xây dựng mô hình phân lớp
- Dữ liệu đầu vào: là dữ liệu mẫu đã được gán nhãn và tiền xử lý
- Các thuật toán phân lớp: cây quyết định, hàm số toán học, tập luật
- Kết quả của bước này là mô hình phân lớp đã được huấn luyện (trình phân lớp)
Bước 2: Sử dụng mô hình chia thành 2 bước nhỏ:
Bước 2.1: Đánh giá mô hình:
- Dữ liệu đầu vào: là một tập dữ liệu mẫu khác đã được gán nhãn và tiền xử lý Tuy nhiên lúc đưa vào mô hình phân lớp, ta “lờ” đi thuộc tính đã được gán nhãn
- Tính đúng đắn của mô hình sẽ được xác định bằng cách so sánh thuộc tính gán nhãn của dữ liệu đầu vào và kết quả phân lớp của mô hình
Bước 2.2: Phân lớp dữ liệu mới:
Dữ liệu đầu vào: là dữ liệu “khuyết” thuộc tính cần dự đoán lớp (nhãn)
Mô hình sẽ tự động phân lớp (gán nhãn) cho các đối tượng dữ liệu này dựa vào những gì được huấn luyện ở bước 1
Các phương pháp đánh giá mô hình phân lớp: Là các phương pháp nhằm kiểm tra tính hiệu quả
của mô hình phân lớp trên dữ liệu có đặc thù cụ thể, từ đó quyết định có sử dụng mô hình đó hay không Một mô hình lý tưởng là một mô hình không quá đơn giản, không quá phức tạp và không quá nhạy cảm với nhiễu (tránh underfitting và overfitting)
- Underfitting (chưa khớp)
- Overfitting (quá khớp)
- Good fitting
2 DỰ ĐOÁN CỔ PHIẾU TRÊN THỊ TRƯỜNG CHỨNG KHOÁN
2.1 PHÁT BIỂU BÀI TOÁN
Chứng khoán luôn là một đề tài sôi nổi hằng ngày của thế giới, Thị trường chứng khoán có
sự hấp dẫn vốn có của nó Nó không chỉ quan trọng đối với nền kinh tế của một nước mà nó còn
tăng giảm của một mã chứng khoán thu hút rất nhiều sự quan tâm, đặc biệt là những ai có tham gia
Trang 4thị trường chứng khoán, quan tâm đến lợi nhuận kiếm được từ lĩnh vực này Nếu dự đoán đúng, chúng ta có thể điều chỉnh việc mua bán cho phù hợp để mang lại lợi nhuận cao
Trong giới hạn của đồ án này, ta sẽ dựa trên các thông tin về giá cả, lượng cổ phiếu mua vào và bán ra của các ngày trước đó để dự đoán việc nên mua/bán cho các thời điểm sắp tới để nâng cao hiệu quả đầu tư trong thị trường chứng khoán
2.2 CÁC KHÁI NIỆM LIÊN QUAN ĐẾN CỔ PHIẾU
- CurClosePrice [1]:Giá đóng cửa hiện tại (Là giá mở cửa tiếp theo hoặc hoàn toàn phụ thuộc
vào thời điểm xem giá cổ phiếu Sau khi đóng cửa thị trường thì giá đóng cửa và giá đóng cửa hiện tại có thể được coi là như nhau)
- ActualClosePrice [2]: Giá đóng cửa thực tế (ta sử dụng như là dữ liệu giá mở cửa)
- CurEMA [3]: Đường EMA hiện tại (hay Exponential Moving Average) là đường trung bình
lũy thừa được tính bằng công thức hàm mũ, trong đó đặt nặng các biến động giá gần nhất Do
đó, EMA khá nhạy cảm với các biến động ngắn hạn, nhận biết các tín hiệu bất thường nhanh hơn đường SMA giúp nhà đầu tư
- ClosePrice [4]: giá đóng cửa (giá cổ phiếu của một công ty vào cuối một ngày giao dịch trên
thị trường chứng khoán)
- BB[5]: Bollinger bands hay dải bollinger là một chỉ báo kỹ thuật được hình thành từ việc kết hợp đường MA (moving average) và độ lệch chuẩn
- BB-Mid [5]: Dải giữa (Middle Band) là một đường MA (Moving Average) MA là đường
trung bình động được tính bằng giá trị trung bình của giá đóng cửa trong khoảng thời gian qui định
- BB-Upper [5]: Dải trên “(Upper band) = Middle Band + Độ lệch” hay “Upper band = middle
band + 2 x độ lệch chuẩn (standard deviation)”
- BB-Lower [5]: Dải dưới (Lower band) = Middle Band – Độ lệch giá
- EMA5 [6]: là đường trung bình lũy thừa được tính bằng công thức hàm mũ, trong đó đặt nặng
các biến động giá 5 ngày gần nhất
- MACD [7]: Moving Average Convergence Divergence là tên đầy đủ của đường MACD, tức là
Phân kỳ hội tụ đường trung bình Đường MACD thể hiện: Tín hiệu mua bán cổ phiếu; Xác định độ mạnh của xu hướng Nhiều nhà đầu tư còn xem đường MACD đánh giá tài sản (cổ phiếu, coin, forex ) có mua quá nhiều hay bán quá nhiều không Khi chỉ báo MACD nằm dưới SignalLine, nó cho biết tín hiệu bán Khi nó vượt lên trên SignalLine, nó báo hiệu tín hiệu mua
- SignalLine [8]: là đường EMA9
- RSI [9]: RSI (Relative Strength Index – Chỉ số sức mạnh tương đối) là một chỉ báo động
lượng đo lường mức độ thay đổi giá để đánh giá các điều kiện quá mua hoặc quá bán của thị trường Chỉ báo RSI được hiển thị dưới dạng bộ dao động (Oscillator) – là biểu đồ đường di chuyển giữa hai mức giới hạn được đo theo thang điểm từ 0 đến 100
- ROC [10]: Tỷ lệ thay đổi: Rate of Change Chỉ số Tỷ lệ Thay đổi ROC là chỉ số biến động giá,
nó dịch chuyển qua lại đường trung tâm zero line (Mốc số Chỉ số này được tính toán để cho
Trang 5quý vị biết giá chứng khoán đã dịch chuyển bao xa so với mức giá cũ Có thể xác định khoảng cách tích toán khi lựa chọn các thông số khi vẽ chỉ số này trên biểu đồ
- ROCx [10]: x là khoảng thời gian được sử dụng để tính toán ROC (thời kỳ)
- ROC1 [10]:Tỷ lệ thay đổi thời kỳ 1
- ROC2 [ [10]: Tỷ lệ thay đổi thời kỳ 2
- ROC3[10]: Tỷ lệ thay đổi thời kỳ 3
- ROC4 [10]: Tỷ lệ thay đổi thời kỳ 4
- ROC5 [10]: Tỷ lệ thay đổi thời kỳ 5
- ROC+1 [10]: Tỷ lệ thay đổi thời kỳ +1 Như một tham số đo lường, chúng ta có thể sử dụng
+1 để chỉ ra sự gia tăng của định giá cổ phiếu trong tương lai
2.3 CÁC PHƯƠNG PHÁP DỰ ĐOÁN [1]
2.3.1 PHƯƠNG PHÁP THỐNG KÊ
a, Phương pháp: trung bình trượt (Moving Average):
Công thức tính: 𝐹𝑡 = 1
𝑤∑ 𝐷𝑡−𝑤 =𝐷𝑡−1+𝐷𝑡−2+⋯+𝐷𝑡−𝑤
w
𝑤≤𝑁
𝑛=1
Trong đó:
Ft: là giá trị dự báo kỳ t
Dt: là giá trị thực tế của kỳ t
N: tổng số kỳ thực tế
W: được gọi là cửa sổ trượt (w ≤ N)
b, Phương pháp: San bằng mũ (Exponential Smoothing)
Công thức tính: 𝐹𝑡 = 𝑎 𝐷𝑡−1+ (1 − 𝑎) 𝐹𝑡−1
Trong đó:
- Ft: là giá trị dự báo kỳ t
- Ft-1: là giá trị dự báo kỳ t-1
- Dt-1: là giá trị thực tế của kỳ t-1
- a: là hệ số điều chỉnh (hệ số này tùy chọn sao cho 0 ≤ a ≤ 1)
c, Phương pháp Hồi quy (Regression)
Phân tích hồi quy là nghiên cứu sự phụ thuộc của một biến (biến phụ thuộc hay còn gọi là biến được giải thích) vào một hay nhiều biến khác (biến độc lập hay còn gọi là biến giải thích) Phương trình hồi quy có dạng tổng quát: 𝒀 = 𝒇(𝑿𝟏, 𝑿𝟐, … , 𝑿𝒏)
Trong đó:
- Y: là biến phụ thuộc (dependent variable)
- 𝑋𝑖: là các biến độc lập (independent variable)
Cách thực hiện bằng hàm:
Hàm TREND (Trả về giá trị dọc theo đường hồi quy, theo phương pháp bình phương bé nhất)
Cú pháp: TREND(known_y’s, known_x’s, new_x’s, const)
Trong đó:
known_y’s, known_x’s, new_x’s, const là các giá trị hoặc vùng địa chỉ chứa giá trị đã biết của x, y tương ứng với giá trị mới của x
Const là hằng số Ngầm định nếu const = 1 (True) thì hồi quy theo hàm y = a + bx, nếu const = 0 (False) thì hồi quy theo hàm y = bx
Trang 6Hàm FORECAST (Dự báo giá trị tương lai căn cứ vào các giá trị hiện tại)
Cú pháp: FORECAST(x, known_y’s, known_x’s)
Trong đó:
X là giá trị dùng để dự báo
known_y’s là các giá trị hoặc vùng địa chỉ tập số liệu phụ thuộc quan sát được
known_x’s là các giá trị hoặc vùng địa chỉ tập số liệu độc lập quan sát được
Hàm INTERCEPT (Dùng để tính hệ số a của phương trình hồi quy đơn tuyến tính)
Cú pháp: INTERCEPT (known_y’s, known_x’s)
Hàm SLOPE (Dùng để tính hệ số b của phương trình hồi quy đơn tuyến tính)
Cú pháp: SLOPE (known_y’s, known_x’s)
Hàm CORREL (Dùng để tính hệ số tương quan giữa x và y)
Cú pháp: CORREL(array1, array2)
Trong đó: array1, array2 tương ứng là tập số liệu phụ thuộc và tập số liệu độc lập qiam sát được
2.3.2 PHƯƠNG PHÁP KHAI THÁC DỮ LIỆU - MÁY HỌC
a SVM
Giới thiệu:
- SVM là một thuật toán có giám sát, SVM nhận dữ liệu vào, xem chúng như những các vector trong không gian và phân loại chúng vào các lớp khác nhau bằng cách xây dựng một siêu phẳng trong không gian nhiều chiều làm mặt phân cách các lớp dữ liệu
- Để tối ưu kết quả phân lớp thì phải xác định siêu phẳng (hyperplane) có khoảng cách
đến các điểm dữ liệu (margin) của tất cả các lớp xa nhất có thể
- SVM có nhiều biến thể phù hợp với các bài toán phân loại khác nhau
Một số khái niệm:
- Margin: là khoảng cách giữa siêu phẳng (trong trường hợp không gian 2 chiều là đường
thẳng) đến 2 điểm dữ liệu gần nhất tương ứng với 2 phân lớp
SVM cố gắng tối ưu bằng cách tối đa hóa giá trị margin này, từ đó tìm ra siêu phẳng đẹp nhất để phân 2 lớp dữ liệu Nhờ vậy, SVM có thể giảm thiểu việc phân lớp sai
(misclassification) đối với điểm dữ liệu mới đưa vào
- Support Vectors: Bài toán của chúng ta trở thành tìm ra 2 đường biên của 2 lớp dữ liệu sao
cho khoảng cách giữa 2 đường này là lớn nhất Siêu phẳng cách đều 2 biên đó chính là siêu phẳng cần tìm Các điểm xanh, đỏ nằm trên 2 đường biên được gọi là các support vector,
vì chúng có nhiệm vụ hỗ trợ để tìm ra siêu phẳng
- Tổng quát hóa trong không gian nhiều chiều: Số chiều của không gian bài toán (còn gọi là
không gian đặc trưng) tương ứng với số lương thuộc tính (đặc trưng) của một đối tượng dữ
liệu
Phương trình biểu diễn siêu phẳng cần tìm (hyperlane) trong không gian đa chiều là: 𝑤𝑇𝑥 +
𝑏 = 0 và giá trị margin = 2 |𝑤𝑇𝑥+ 𝑏|
||𝑤|| = 2
||𝑤||
- Mục tiêu của SVM là cần tìm giá trị margin cực đại đồng nghĩa với việc ||w|| đạt
cực tiểu với điều kiện:
𝑦𝑛(𝑤𝑇𝑥𝑛+ 𝑏) ≥ 1, ∀𝑛 = 1,2, … , 𝑁
Trang 7- Hàm mục tiêu cần tối ưu là một norm nên là một hàm lồi=> bài toán quy hoạch toàn
phương (Quadratic Programing)
b, LOGISTIC REGRESSION
Định nghĩa: Là một mô hình xác suất dự đoán giá trị đầu ra rời rạc từ một tập các giá trị đầu
vào (biểu diễn dưới dạng vector)
Mô tả: Đối với bài toán phân lớp:
Tập nhãn y = { 𝑦1, 𝑦2,…, 𝑦𝑛} với n là số lớp
Một đối tượng dữ liệu x = {𝑥1, 𝑥2,…, 𝑥𝑑} với d là số thuộc tính của dòng dữ liệu và được
biểu diễn dưới dạng vector
Hàm logistic 𝑃(𝑦 = 1) = 1𝑦𝑛
1+𝑒 −(𝑤0+𝑤1𝑥1+𝑤2𝑥2+⋯+𝑤𝑑𝑤𝑑) dự đoán đối tượng xem đối tượng sở
hữu x sở hữu thuộc tính cụ thể vào lớp y nào
Trong đó:
- d là số lượng đặc trưng (thuộc tính) của dữ liệu,
- w là trọng số, ban đầu sẽ được khởi tạo ngẫu nhiên, sau đó sẽ được điều chỉnh lại cho phù
hợp)
c CÂY QUYẾT ĐỊNH:
Khái niệm: Trong lý thuyết quản trị, cây quyết định là đồ thị các quyết định cùng các kết quả
khả dĩ đi kèm nhằm hỗ trợ quá trình ra quyết định Trong lĩnh vực khai thác dữ liệu, cây quyết định là phương pháp nhằm mô tả, phân loại và tổng quát hóa tập dữ liệu cho trước
B THỰC NGHIỆM
1, DỮ LIỆU
1.1 TÌM HIỂU VỀ DỮ LIỆU
Dữ liệu sử dụng là thông tin mua/ bán của một mã chứng khoán theo ngày từ năm 2000 đến 2011 File dữ liệu: VNINDEX_2007-2010_1.csv
File dữ liệu gồm có 19 cột và 2560 dòng dữ liệu với các thông tin về số liệu các mã chứng khoán theo ngày từ năm 2000-2011, trong đó có 2 cột dữ liệu trùng nhau là CurClosePrice và ClosePrice
1.2 XỬ LÝ DỮ LIỆU
a, Thêm nhãn (cột Trend)
Thêm một cột với nhãn là Trend với mục đích là thể hiện xu huớng tăng giảm của mã chứng khoán trong ngày từ 2000-2011 (tăng/giảm/không đổi)
Vì khi các nhà đầu tư muốn đầu tư vào một mã chứng khoán nào đó người ta sẽ xem xét chủ yếu về biến động động giá của mã chứng khoán đó cụ thể là Giá đóng cửa thực tế
(ActualClosePrice) và giá đóng cửa vào cuối ngày của phiên giao dịch (Closeprice) Hai giá trị này thông thường sẽ có dự chêch lệch nhiều hoặc ít trong một khoảng thời gian biến động nên ta có thể dựa vào đó để dự báo xu hướng của mã chứng khoán
Thêm bằng hàm như sau: =ActualClosePrice>0, "tăng",
IF(ClosePrice-ActualClosePrice <0, "giảm", "không đổi"))
Tiếp theo copy cột Trend vừa tạo và paste lại với giá trị value, tránh để định dạng “hàm” để
khi vào xử lý dữ liệu không bị lỗi
b, Rút gọn
Trang 8 Nhận thấy file dữ liệu có 2 cột trùng nhau là CurClosePrice và ClosePrice nên sẽ xoá bớt cột CurClosePrice, để tránh việc trùng lặp dữ liệu, khi xử lý kết quả có độ chính xác không cao
c, Tiền xử lý
Không tiền xử lý vì :
Dữ liệu đã cho không có dữ liệu thiếu nên không cần impute missing data
Tập dữ liệu đã cho chỉ có 1 kiểu dữ liệu là giá theo ngày của các mã chứng khoán, không có các đặc trưng không tốt như các dữ liệu vô nghĩa (stop word), các ký tự đặc biệt (? ! / @, )
và dữ liệu biến đổi không quá thấp hay quá cao nên không cần tiền xử lý thêm
2 MÔ HÌNH - KỊCH BẢN
Bước 1 Chuẩn bị dữ liệu
Thêm cột với nhãn “Trend” ở dữ liệu gốc của giảng viên cung cấp (file
VNINDEX_2007-2010_1.csv)
Phương pháp thống kê: Chuyển file từ định dạng csv sang xlsx
Phương pháp máy học:
Tách dữ liệu gốc thành 2 file dữ liệu:
File dùng để học dữ liệu (huấn luyện và kiểm tra) từ năm 2000 đến năm 2010
(2000-2010.csv)
File dùng để dự báo là năm 2011: (2011.csv)
Bước 2 Huấn luyện - Đánh giá
Phương pháp thống kê:
Sử dụng dữ liệu của ActualClosePrice để dự báo xu hướng thay đổi giá thực tế bằng các phương pháp trung bình trượt, san bằng mũ, hồi quy
Phương pháp máy học:
Xác định một số thuộc tính để tiến hành đặt Target/Skip để loại bỏ nhiễu cho bài toán
Đối với file huấn luyện (2000-2010.csv)
+ Do thuộc tính phân lớp ở bài toán này là phân lớp Trend (xu hướng thay đổi của mã
chứng khoán) nên đặt Trend là “target”
+ Vì ta đã dự báo Trend ở file dữ liệu bằng ActualClosePrice và ClosePrice nên để tránh Overfitting xảy ra ta Skip ActualClosePrice, ClosePrice
+ Skip Date vì thuộc tính này không có tác dụng đến bài toán phân lớp
Đối với file dự báo (2011.csv)
+ Skip các thuộc tính tương tự với file huấn luyện, riêng đối với thuộc tính phân lớp Trend thì ta chọn “skip” vì ta phải giả định rằng thuộc tính này không có và cần phải dự đoán
Tiến hành phân lớp dữ liệu bằng Logistic Regression, SVM kết hợp với Test & Score
Từ Test & Score lập bảng khảo sát các tham số để chọn ra bộ tham số mang lại độ chính xác (precision) tốt nhất
Tiến hành dự báo bằng Predictions
Bước 3 Dự đoán
Phương pháp thống kê:
Trang 9 Dự đoán dựa trên số liệu 2011 thu thập được và một số số liệu của năm 2010, thực hiện dự báo bằng các phương pháp Trung bình trượt, san bằng mũ, hồi quy
Phương pháp máy học:
Dự đoán bằng Predictions để so sánh và nhận xét
Bước 4 Đánh giá kết quả
Đánh giá, so sánh và nhận xét kết quả thu được
So sánh hiệu quả của 2 phương pháp
Đối với phương pháp thống kê: Từ kết quả thu được, tiến hành tính số chênh lệch của kết quả dự báo với số liệu thực tế, sau đó tính độ chênh lệch (theo tỷ lệ %), cuối cùng là so sánh hiệu quả của cả 3 phương pháp thống kê trên Và vẽ biểu đồ so sánh hiệu quả của các
phương pháp
Đối với phương pháp máy học : So sánh hiệu quả của SVM và Logistic Regression bằng bảng khảo sát tham số ở trên kết hợp với biểu đồ ROC Analysis và Confusion Matrix
3 PHƯƠNG PHÁP
3.1, PHƯƠNG PHÁP THỐNG KÊ
Sử dụng cả 3 phương pháp dự báo thống kê : Trung bình trượt, san bằng mũ, hồi quy (dùng hàm trend)
Cách thực hiện :
Bước 1 : Sử dụng file dữ liệu “PHƯƠNG-PHÁP-THỐNG-KÊ_TRÂM_ĐẠT.xlsx”
Bước 2 :
- Đối với phương pháp hồi quy: Cú pháp =TREND(known_y’s, known_x’s, new_x’s, const)
- Đối với phương pháp trung bình trượt và san bằng mũ: Dùng công cụ Data Analysis
Bước 3 : Tính toán giá trị chênh lệch và tỷ lệ chênh lệch
Bước 4 : So sánh hiệu năng của 3 phương pháp và vẽ biểu đồ
3.2, PHƯƠNG PHÁP MÁY HỌC
BẢNG KHẢO SÁT THAM SỐ (đơn vị: %)
TEST & SCORE
PHƯƠNG PHÁP
Cross
Leave one out
Test
on trai
n data
Test
on test data
folds
Repeat Train&Test
5
Repeat Train&Test
10
SVM
Cost = 1
𝜺 = 𝟎, 𝟏
Bỏ qua (Do thời gian chạy rất lâu, tầm vài tiếng)
86
Bỏ qua
Cost = 3
𝜺 = 𝟎, 𝟏
Trang 10𝜺 = 𝟎, 𝟏 Poly 73,1 73,8 73,2 71,9 72,5 73,4 72,4 73,1 73,7
Kết luận: Từ bảng khảo sát tham số như trên ta nhận thấy:
Với phương pháp Logictis Regression sử dụng bộ tham số L1, C=1000 hoặc 500
Với phương pháp SVM sử dụng SVM type là SVM với Cost = 3, 𝜀 = 0,1, Kermel là Liner
Test&Score sử dụng Cross validation là 5 (folds)
=> Sẽ đạt được độ chính xác (Precision) cao nhất với LR = 96,1% và SVM = 91,1%
3.2.1 SVM
Lý do chọn:
- Phương pháp SVM đã cho thấy độ chính xác cao nhất đối với phương pháp dự báo này là 90,4%
- SVM có thể tạo ra một phân loại nhị phân (ví dụ: có khả năng đầu tư so với khó có khả năng đầu) bằng cách sử dụng nhiều biến số cơ bản và kĩ thuật (thuộc tính hình học)
- SVM đưa ra những lợi thế mang yếu tố thú vị hơn, tránh cực tiểu địa phương ở quá trình tối ưu hóa, cũng như cung cấp khả năng mở rộng và khả năng khái quát hóa
- SVM có thể nhanh chóng nắm bắt các đặc điểm của dữ liệu đó với nhiều tính năng trong khi vẫn linh hoạt với các điểm dữ liệu bất thường và các đặc tính tương quan [11]
- SVM có nhiều ứng dụng trong quản lí đầu tư cũng như dự báo xu hướng tăng giảm của một mã
TEST & SCORE
PHƯƠNG PHÁP
Cross
Leave one out
Test
on train data
Test
on test data
5 folds
10 folds
Repeat Train&Test 5
Repeat Train&Test 10 Training set size Training set size 50% 70% 90% 50% 70% 90%
LOGISTIC
REGRESSION
C=1000
Lasso
Bỏ qua (Do thời gian chạy rất lâu, tầm vài tiếng)
96,1
Bỏ qua
Ridge
C=500
Lasso
Ridge
C=1
Lasso
Ridge
C=0.002
Lasso
Ridge
C=0.001
Lasso
Ridge