Kết luận chƣơng 2

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng SVM trong dự báo tài chính theo chuỗi thời gian (Trang 56)

5. Ý nghĩa khoa học và thực tiễn của đề tài

2.7. Kết luận chƣơng 2

Chƣơng 2 trình bày tập trung về lý thuyết SVM và SVR, các loại hàm kernel trong SVR, phƣơng pháp tính toán tham số trong SVR, ứng dụng SVR vào dữ liệu chuỗi thời gian tài chính. Kỹ thuật GridSearch tìm tập siêu tham số tối ƣu cho SVR và phƣơng pháp đánh giá MAPE nhằm đánh giá hiệu suất, độ chính xác của mô hình huấn luyện, cũng đƣợc chúng tôi trình bày trong chƣơng này.

CHƢƠNG 3. THỬ NGHIỆM 3.1. Giới thiệu bài toán

Trong chƣơng này, chúng tôi trình bày ứng dụng mô hình SVR dự báo giá cổ phiếu chứng khoán tại một thời điểm nhất định. Dự đoán giá cổ phiếu là bài toán có rất nhiều ứng dụng trong thực tế, và nhận đƣợc sự quan tâm lớn từ các nhà nghiên cứu cũng nhƣ các doanh nghiệp.

Đầu vào: Giá cổ phiếu trong quá khứ dạng chuỗi thời gian.

Đầu ra: Giá cổ phiếu đƣợc dự đoán trong một thời điểm xác định ở tƣơng lai và so sánh độ chính xác tính toán giữa các mô hình và so với giá thực tế.

Bài toán dự đoán giá cổ phiếu này, chúng tôi sử dụng bộ dữ liệu là giá cổ phiếu của tập đoàn Apple (mã cổ phiếu AAPL) từ 01/09/2021 đến 22/09/2021, bao gồm giá đóng cửa, giá mở cửa, giá cao nhất, giá thấp nhất, khối lƣợng giao dịch.

Ứng dụng mô hình SVR và sử dụng các hàm kernel khác nhau nhƣ Linear, Polynomial hay RBF để huấn luyện và thực hiện dự đoán. Mục tiêu cuối cùng là dự đoán giá đóng cửa của cổ phiếu vào một ngày xác định thuộc chuỗi thời gian trong tƣơng lai, so sánh với giá thực tế, đồng thời so sánh và đánh giá độ chính xác giữa các hàm kernel khi ứng dụng trong bài toán dự đoán chuỗi thời gian tài chính này.

Sử dụng các bƣớc ở Chƣơng 2 để thử nghiệm và đánh giá kết quả với độ chính xác của mô hình đƣợc cho nhƣ ở trên.

3.2. Chi tiết hóa

Chi tiết hóa cho thuật toán trong Chƣơng 2 với bài toán trên:

Dữ liệu đầu vào là lịch sử giá cổ phiếu của một công ty chứng khoán bất kỳ đƣợc niêm yết trên các sàn chứng khoán trong nƣớc hoặc ngoài nƣớc,

ở đây chúng tôi lựa chọn công ty Apple với mã cổ phiếu là AAPL, đƣợc niêm yết trên sàn chứng khoán NASDAQ. Dữ liệu lịch sử giá cổ phiếu các công ty thƣờng đƣợc xuất bản dƣới dạng file excel có đuôi .CSV. File dữ liệu kiểu này cũng phù hợp và thuận tiện cho ngôn ngữ Python có thể đọc đƣợc dữ liệu.

Dữ liệu sau khi đƣợc load vào sẽ đƣợc tiền xử lý dữ liệu để trở thành dạng dữ liệu chuẩn, phù hợp làm dữ liệu đầu vào cho mô hình SVR. Với tập dữ liệu chuẩn sau công đoạn tiền xử lý, chúng tôi tiến hành xử lý và chia tập dữ liệu thành hai tập gồm tập huấn luyện phục vụ cho xây dựng và đào tạo mô hình, và tập kiểm thử nhằm đánh giá kết quả đầu ra mô hình.

Với tập dữ liệu huấn luyện, tiến hành đào tạo SVR với ba trƣờng hợp ứng với sử dụng ba hàm kernel khác nhau, lần lƣợt là kernel linear, kernel poly và kernel RBF. Trƣớc khi tiến hành xây dựng và huấn luyện các mô hình kernel SVR, có thể tìm tập các siêu tham số tối ƣu cho từng hàm với kỹ thuật GridSearch.

Sau khi tiến hành đào tạo lần lƣợt từng mô hình hàm kernel trên tập dữ liệu huấn luyện với các tập siêu tham số cụ thể của từng kernel, ta sử dụng các mô hình đã huấn luyện để dự đoán giá cổ phiếu vào một ngày nhất định trong tƣơng lai thuộc chuỗi thời gian. Với từng mô hình hàm kernel và các giá trị siêu tham số khác nhau trong từng mô hình sẽ cho ra giá trị dự đoán khác nhau.

So sánh giá dự đoán của các mô hình với nhau và đối sánh với giá đóng cửa thực của cổ phiếu vào thời điểm dự đoán, ta đánh giá đƣợc độ chính xác và hiệu suất của từng mô hình với kỹ thuật MAPE, từ đó xác định kỹ thuật tốt nhất khi làm việc với dự đoán giá cổ phiếu, cụ thể khi làm việc với dữ liệu AAPL trong khung thời gian nhất định.

3.3. Dữ liệu

Dữ liệu đƣợc chúng tôi sử dụng ở đây là lịch sử giá của cổ phiếu tập đoàn Apple với mã cổ phiếu là AAPL; bao gồm ngày (Date), giá mở cửa (Open), giá đóng cửa (Close), giá cao nhất (High), giá thấp nhất (Low), khối lƣợng giao dịch (Volume) và giá đóng cửa điều chỉnh (Adj Close).

Hình 3.1. Trích một phần trong bộ dữ liệu AAPL_30.CSV

Bộ dữ liệu AAPL có 15 hàng dữ liệu tất cả, là lịch sử một tháng của cổ phiếu AAPL giá từ 01/09/2020 đến 22/09/2021.

Ta hoàn toàn có thể sử dụng bộ dữ liệu lịch sử giá của các công ty khác với khung thời gian dài hoặc ngắn hơn.

3.4. Cài đặt thực nghiệm

Để cài đặt chƣơng trình thử nghiệm, yêu cầu máy tính cần:

 Cấu hình phần cứng:

Máy tính cần có cấu hình tối thiểu nhƣ CPU có tốc độ 2.0 GHz, RAM 2GB.

Hệ điều hành Windows hoặc Linux. Ngôn ngữ lập trình Python. Đầu tiên, ta tiến hành thiết lập các thƣ viện cần thiết cho chƣơng trình: #Import the libraries

from sklearn.svm import SVR

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

plt.style.use('seaborn-darkgrid')

Sau khi load file dữ liệu APPL_30.CSV và xử lý dữ liệu, ta tiến hành chia thành hai tập dữ liệu huấn luyện và kiểm thử. Tiếp theo, sử dụng kỹ thuật GridSearch để tìm ra tập hyperparameter tối ƣu từ tập ứng viên:

parameter_candidates = [

{'C': [1, 10, 100, 1000], 'kernel': ['linear']},

{'C': [1, 10, 100, 1000], 'gamma': [0.001, 0.15], 'kernel': ['rbf']},

{'C': [1, 10, 100, 1000], 'degree': [2, 3], 'kernel': ['poly']},

]

# Create a classifier object with the classifier and parameter candidates

clf = GridSearchCV(estimator=svm.SVC(), param_grid=parameter_candidates,

n_jobs=-1)

Với tập siêu tham số tìm đƣợc từ GridSearch, ta xây dựng và huấn luyện mô hình SVR với ba hàm kernel lần lƣợt là Linear, RBF và Polynomial:

#Create and train an SVR model using a linear kernel

lin_svr = SVR(kernel='linear', C=1000.0)

lin_svr.fit(days,adj_close_prices)#Create and train an SVR model using a

polynomial kernel

poly_svr = SVR(kernel='poly', C=1000.0, degree=2)

poly_svr.fit(days, adj_close_prices)#Create and train an SVR model using

a RBF kernel

rbf_svr = SVR(kernel='rbf', C=1000.0, gamma=0.15)

rbf_svr.fit(days, adj_close_prices)

#Plot the models on a graph to see which has the best fit

plt.figure(figsize=(16,8))

plt.scatter(days, adj_close_prices, color = 'black', label='Original

Data')

plt.plot(days, rbf_svr.predict(days), color = 'green', label='RBF

Model')

plt.plot(days, poly_svr.predict(days), color = 'orange',

label='Polynomial Model')

plt.plot(days, lin_svr.predict(days), color = 'purple', label='Linear

Model')

plt.xlabel('Days')

plt.ylabel('Adj Close Price')

plt.title('Support Vector Regression')

plt.legend() plt.show()

3.5. Kết quả đánh giá

Kết quả dự đoán giá cổ phiếu AAPL trong ngày 22/09/2021 của SVR theo từng hàm kernel RBF, Linear và Polynomial lần lƣợt là:

RBF SVR 145.03388846

Linear SVR 143.37998918

Polynomial SVR 140.68903384

Với giá cổ phiếu thực tế của AAPL trong ngày 22/09/2021 là

145.850006, có thể thấy rằng mô hình SVR cho ra kết quả chính xác khá cao

và đặc biệt là mô hình RBF SVR khi có kết quả dự đoán là 145.03388846. Biểu diễn và so sánh kết quả dự đoán giữa các mô hình RBF, Linear và Poly đƣợc thể hiện trong Hình 3.2:

Hình 3.2: Mô hình thể hiện kết quả dự đoán giữa các kernel

Kết quả dự đoán khác biệt nhau giữa các hàm, cùng với độ chính xác cao, cụ thể là cao nhất đối với mô hình RBF SVR là bởi các siêu tham số hyperparameter đƣợc tính toán bởi GridSearch từ tập ứng viên siêu tham số, tƣơng ứng lần lƣợt với từng kernel nhƣ sau:

Kernel Tập hyperparameter ứng viên Tập hyperparameter tối ƣu

RBF [ ] [ ] [ ] Linear [ ] [ ] [ ] Polynomial [ ] [ ]

Sử dụng kỹ thuật MAPE với từng mô hình kernel, ta xác định đƣợc độ chính xác của từng mô hình lần lƣợt nhƣ sau:

MAPE with RBF kernel: 0.5595594867333512 MAPE with Linear kernel: 1.693532201906021 MAPE with Polynomial kernel: 3.5385477843993742

3.6. Kết luận chƣơng 3

Trong chƣơng này, luận văn đã tiến hành cài đặt thử nghiệm các hàm kernel trong mô hình SVR đƣợc trình bày trong chƣơng hai nhằm giải quyết bài toán mục tiêu là “Dự đoán giá cổ phiếu dựa vào dữ liệu chuỗi thời gian trong quá khứ”. Kết quả đánh giá đạt đƣợc là sự thành công từ ý tƣởng và áp dụng các mô hình đã đề ra. Độ chính xác này nằm ở mức tƣơng đối cao đối với tập dữ liệu không quá lớn. Trong trƣờng hợp tập dữ liệu lớn cùng với nhiều yếu tố ngoại lai thì có thể kết quả không nhƣ mong muốn, cần phải phát triển và khắc phục một số hạn chế để đạt đƣợc kết quả tốt hơn.

KẾT LUẬN

1. Nội dung nghiên cứu và kết quả đạt đƣợc của luận văn

Bài toán dự đoán giá chứng khoán đã đƣợc đặt ra từ lâu và đi cùng nó là hàng loạt các nghiên cứu và đề tài đƣợc xác lập, các ứng dụng đƣợc triển khai. Bài toán luôn đặt ra nhiều thách thức vì những khó khăn của nó. Các khó khăn chứng tỏ rằng bất cứ phƣơng pháp nào giải quyết bài toán sẽ không thể tránh khỏi một số khiếm khuyết nhất định. Mỗi hƣớng tiếp cận đƣợc đƣa ra đều đã đạt đƣợc những thành quả nhất định, hƣớng nào cũng có những thành công, những hạn chế. Vì bài toán này là bài toán không có lời giải tối ƣu cho mọi trƣờng hợp. Tuy nhiên, do tính cấp thiết từ yêu cầu của thực tế mà đây luôn là một đề tài hấp dẫn các nhà khoa học, các chuyên gia nghiên cứu và ứng dụng.

Trong nội dung nghiên cứu đề tài “Ứng dụng SVM dự đoán chuỗi thời gian tài chính” bản thân đã tìm hiểu các thuật toán, mô hình xử lý và dự báo

chuỗi thời gian, cũng nhƣ áp dụng các mô hình này để giải quyết bài toán đặt ra. Qua nghiên cứu, những kết quả chính mà luận văn đã đạt đƣợc nhƣ sau:

-Khái quát về chuỗi thời gian, dự báo chuỗi thời gian và cụ thể là chuỗi thời gian tài chính.

-Trình bày một số kỹ thuật, các hàm kernel trong mô hình SVM và cụ thể là SVR đƣợc dùng để dự đoán chuỗi thời gian tài chính hiệu quả.

-Trình bày kỹ thuật GridSearch để tìm siêu tham số tối ƣu cho SVR và phƣơng pháp MAPE dùng để đánh giá hiệu suất của mô hình huấn luyện.

-Cài đặt thử nghiệm mô hình SVR áp dụng các hàm kernel dự đoán giá trị cổ phiếu vào ngày xác định dựa vào dữ liệu chuỗi thời gian giá trị lịch sử trong quá khứ, sử dụng MAPE để đánh giá và so sánh hiệu suất của các mô hình.

2. Kiến nghị và hƣớng nghiên cứu tiếp theo

Dự đoán chuỗi thời gian tài chính, đặc biệt là giá trị cổ phiếu hay cryto vẫn và tiếp tục là một bài toán đƣợc nhiều nhà nghiên cứu và cộng đồng quan tâm với nhiều ứng dụng to lớn, có tầm quan trọng không chỉ trong khoa học mà còn trong thực tiễn.

Với những hạn chế khó khăn còn gặp trong quá trình phát triển, giải quyết bài toán, hƣớng nghiên cứu tiếp theo của luận văn sẽ là tiếp tục đào sâu hơn vào các mô hình học máy, học sâu, song song với phiên tiền xử lý dữ liệu để nâng cao hiệu suất và đầu ra của bài toán.

TÀI LIỆU THAM KHẢO

[1] Cherkassky, V., & Mulier, F. (1999). Vapnik-Chervonenkis (VC) learning theory and its applications. IEEE Transactions on Neural

Networks, 10(5), 985-

987. https://doi.org/10.1109/TNN.1999.788639

[2] Aoki, M., (1990). State space modeling of time series. Springer-Verlag; NewYork: Springer-Verlag, 2nd edition.

[3] Chatfield, C., (2001). Time Series Forecasting. Chapman and Hall. [4] Granger, C.W.J., and Joyeux, R., (1980). An introduction to long-

memory time series models and fractional differencing, Journal of Time Series Analysis, vol. 1.

[5] Priestley, M.B., (1981). Spectral Analysis and Time Series, New York: AcademicPress, London.

[6] Tong, I., (1990). Non-Linear Time Series. Clarendon Press, Oxford. [7] Jain, A.K, Murty, M.N., and Flynn, P.J, (1999). Data Clustering: a

review, ACM Computing Surveys, Vol. 31, No. 3: 264 - 323.

[8] Baestaens, D.E., (1994). Neural Network Solutions for Trading in Financial Markets, London: Financial Times: Pitman Pub.

[9] Chatfield, C., (2004). The analysis of time series: an introduction. Chapman andHall, Sixth edition.

[10] S. Hochreiter and J. Schmidhuber, "Long Short-Term Memory," in Neural Computation, vol. 9, no. 8, pp. 1735-1780, 15 Nov. 1997. [11] Cortes C., and Vapnik, V.N. (1995). Support-Vector Networks,

Machine Learning, Vol.20,No.3: 273 - 297.

[12] Burges, C. and Crisp, D., (2000). Uniqueness of the SVM Solution, In Solla, S.A.,Leen, T.K., and Muller, K.-R., editors, Advances in

Neural InformationProcessing Systems, Vol.12: 223 - 229, Cambridge, MA, MIT Press.

[13] Burges, C.J.C., (1998). A Tutorial on Support Vector Machines for Pattern Recognition, Data Miningand Knowledge Discovery Vol.2:121 – 167

[14] Mukherjee, S., Osuna E., and Girosi, F.,(1997). Nonlinear prediction of chaotictime series using support vector machines, Proc. of IEEENNSP‟97, AmeliaIsland, FL.

[15] Bennett, K.,and Bredensteiner, E.J.,(2000). Duality andgeometry in SVMclassifiers, In Langley, P., editor, Proc. of Seventeenth Intl. Conf. on MachineLearning, pages 57 - 64, SanFrancisco, Morgan Kaufmann.

[16] Joachims, I. (1997). Text Categorization with Support Vector Machines, Technical Report

[17] Schmidt, M., (1996). Identifying speaker with support vector networks, Interface1996 Proceedings, Sydney.

[18] Scholkopf, B., Burges, C., and Smola, A.,(1999). Advances in Kernel Methods:Support Vector Learning, MIT Press, Cambridge, Massachusetts.

[19] Harris Drucker, Chris J. C. Burges, Linda Kaufman, Alex Smola, and Vladimir Vapnik. 1996. Support vector regression machines. In Proceedings of the 9th International Conference on Neural Information Processing Systems (NIPS'96). MIT Press, Cambridge, MA, USA, 155–161.

[20] Siwei Lyu, "Mercer kernels for object recognition with local features," 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), 2005, pp. 223-229 vol.

2, doi: 10.1109/CVPR.2005.223.

[21] Lin, H.T., and Lin, C.J., (2003). A study on sigmoid kernels for SVM and thetraining of non-PSD kernels by SMO-typemethods, Technical Report.

[22] Kwok, J.T., and Tsang I.W., (2003). Linear dependency between & and the input noise in &-support vector regression. IEEE Transactions on Neural Networks, Vol. XX, No. YY: 1 – 8

[23] CherKassky, V., and Mulier, F., (1998).Learning from Data: Concepts, Theory and Methods. John Wiley & Sons Inc. New York, NY. [24] Cherkassky, V., and Ma, Y., (2004). Practical selection of SVM

parameters andnoise estimation for SVM regression, Neural Networks,Vol.17,No.1: 113 - 126.

[25] Mattera, D., and Haykin, S., (1999). Support vector machines for dynamic reconstruction of a chaotic system.

[26] Kyoung-jae Kim, Financial time series forecasting using support vector machines, Neurocomputing, Volume 55, Issues 1–2, 2003, Pages 307-319, ISSN 0925-2312.

[27] Tay, F.EH., and Cao, L.J., (2001). Application of support vector machines infinancial time series forecasting, Omega Vol. 29: 309 - 317

[28] Tay, F.F.H, Cao, L.J., (2002). Modified support vector machines in financialtime series forecasting, Neurocomputing Vol. 48: 847 - 861

[29] Tay, FEM., Cao, L.J., (2003). &-Descending Support Vector Machines forFinancial Time Series Forecasting, Neural Processing Letters Vol. 15:179 – 195

marginapproach to stock market prediction using Support Vector Regression, In theProceedings of ICONIP 2002, Singapore.

[31] Yang, H., Chan, L., and King, I., (2002b). Support vector machine regression forvolatile stock market prediction, Lecture notes in Computer Science, Vol.2412:391 – 396

[32] Thissen, U., Brakel, R.V., de Weijer, A.P., Melssen, W.J., Buydens L.M.C.(2003). Using support vector machines for time series prediction, Chemometrics and Intelligent Laboratory Systems Vol. 69, 35 – 49

[33] K. Kim, I. Han, Genetic algorithms approach to feature discretization in arti-cial neural networks for the prediction of stock price index, Expert Syst. Appl. 19 (2) (2000) 125–132.

[34] Heizer, Jay dan Render, Barry. 2015.Manajemen Operasi. Jakarta: Salemba Empat.p.129.

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng SVM trong dự báo tài chính theo chuỗi thời gian (Trang 56)

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

(69 trang)