羅文婷 徐慶娟 唐璐薇
摘要: 本文以上證綜合指數2011年1月4日到2018年1月4日的股市行情為研究對象進行實證分析,建立了一個支持向量機回歸機的預測模型。實證分析主要基于MATLAB軟件嵌套Libsvm工具箱實現。實證分析結果表明,本文建立的針對股市預測的支持向量機回歸機模型是有效的。
關鍵詞: 支持向量機 股市預測 MATLAB Libsvm 回歸機
一、引言
V.Vapnik[1]等人在20世紀70年代末專門針對小樣本情況提出一種機器學習的統計理論。而支持向量機(support vector machine, SVM)恰恰是基于這一理論的一種新的學習方法。李海燕[2]對上證綜合指數拐點舉行了預測分析,于航[3]基于股指期貨高頻數據,對股指期貨價格變化趨勢進行分類判別預測,詹財鑫[4]則對AdaBoost算法和支持向量機進行組合成SVM_AdaBoost模型,從而減少支持向量機選擇核參數的復雜度,提升支持向量機的預測精度并優化了算法學習效率。
張學工[5]旨在介紹統計學習理論(STL)和支持向量機的基本思想和研究發展,以引發海外學者的進一步關注。張麗娜[6]剖析了現行股市預測,給出了基于時間序列的支持向量機預測模型。施燕杰[7]在現有預測工具對比分析的基礎上,提出了基于支持向量機的股市預測方式,結果表明支持向量機比神經網絡有更好的研習和泛化實力,在股市預測中獲得較好的成果。此外,張玉川和張作泉[8]應用支持向量機分類方法預測和分析了單個股票的價格波動。
本文在前人研究的基礎上,選取上證2011年1月4日到2018年1月4日,一共1706個交易日的開盤指數、指數最高值、指數最低值、收盤指數、交易量、交易額數據為研究對象,建立基于支持向量機的回歸預測模型.以驗證分析支持向量機在股市預測中的有效性。
二、支持向量機預測回歸模型的建立
首先利用SPSS 20.0對前一日的開盤指數、指數最高值、指數最低值、收盤指數、交易量、交易額這六個自變量與當日的開盤指數因變量做相關系數分析,接著運用MATLAB軟件Libsvm工具箱對上證指數做回歸預測分析。
(一)數據預處理
由于上證開盤指數變化范圍較大,可對因變量和自變量進行歸一化預處理,本文用mapminmax函數來實現。
(二)模型建立
利用支持向量機對上證指數每日的開盤指數建立回歸預測模型,其算法流程如圖2所示。
三、實證分析
(一)參數選擇
本文對SVMcgForClass.m稍作修正成SVMcgForRegress.m用來找出回歸的最佳參數c和g,最終的粗略參數、精細參數輸出結果如下表1。
在支持向量機訓練過程中,需要對參數c和g進行優化。參數c,即對誤差的寬容度。參數c越高,說明越不能容忍出現誤差,容易過擬合。參數c越小,容易欠擬合。參數c過大或過小,泛化能力變差。參數g是選擇RBF函數作為kernel后,該函數自帶的一個參數。隱含地決定了數據映射到新的特征空間后的分布,g越大,支持向量越少,g值越小,支持向量越多。支持向量的個數影響訓練與預測的速度。本文采用交叉驗證選擇最佳參數,最終通過SVMcgForRegress.m找出的最佳參數c為0.5,這時參數c正好是(0,1)范圍內的中間值,說明此時泛化能力是最優,最佳參數g為2,相比粗略參數選擇,參數g的值降低,說明此時支持向量個數減少,從而提高模型訓練與預測的速度。
為了更形象說明每一對參數(c,g)的最佳組合,分別制畫出粗略參數選擇的等高線圖和3D視圖、精細參數選擇的等高線圖和3D視圖。
使用Grid Search可以得到全局最優,即最佳參數c=0.5和g=2,且(c,g)相互獨立,便于并行化進行。
(二)網絡訓練與回歸預測
利用得到的最佳參數c=0.5和g=2對其進行網絡訓練,接著再對原始數據進行回歸預測,使用由Libsvm工具箱自帶的svmpredict函數。回歸預測結果如圖5、誤差圖如圖6、相對誤差圖如圖7。最終的擬合結果:均分誤差MSE=4.26547e-05、相關系數為99.8811%。
由圖5,開盤指數和預測值是有較好擬合的,進一步驗證支持向量機對于股價預測的準確性。由圖6,除了個別數據外,整體上數據的誤差基本在(-0.02,0.02)內,但集中在直線y=0上下,進一步說明預測數據和原始數據是較好擬合的。由圖7,相對誤差范圍在(-0.04,0.06)之間,個別數據在(-0.02,0.02)之外,大部分是在(-0.02,0.02)內,甚至可以說在直線y=0上下,進一步驗證利用支持向量機對股價預測效果較好。
(三)驗證模型有效性
為了驗證模型預測的有效性,本文選取上證指數樣本期后16天的數據進行測試。利用上述模型預測黃金現貨日收益率,其預測值、真實值和相對誤差的結果如表2。
對本文選取的上證指數樣本期后16天的開盤價進行預測得到預測值與真實值的繪制圖8,由圖8可知支持向量機預測模型得到的預測值能較好的與真實值擬合,相對誤差較小幅度遞增趨勢與實際均基本吻合,驗證支持向量機是股市預測的一種較好方法。
參考文獻:
[1]Vapnik V著.統計學習理論的本質. 張學工譯.The nature of Statistical learning theory.NY:Springer Vedag,1995.
[2]李海燕.基于支持向量機算法的股市拐點預測分析[J]. 鄭州大學學報,2015,1:96-99.
[3]于航.基于支持向量機模型的股指期貨高頻交易策略研究 [D]. 北京:北京理工大學,2015.
[4]詹財鑫.基于SVM_AdaBoost 模型的股票漲跌實證研究 [D]. 廣州:華南理工大學,2013.
[5]張學工.關于統計學習理論與支持向量機[J].自動化學報,2000,26(1):32-42.
[6]羅瑜,徐圖等.基于函數逼近的改進 SMO算法研究 [J].山西大學學報(自然科學版),2007,30(3):329-334.
[7]陳友,張國基,郭國雄.一種改進的 SVM算法及其在證券領域中的應用[J].華南理工大學學報 (自然科學版), 2003,31(7):15-18.
[8]張麗娜.支持向量機對股市的預測及實證分析[D].青島:青島大學,2007.
基金項目:南寧師范大學博士科研啟動項目(20180406001)。
(作者單位:南寧師范大學數學與統計學院,徐慶娟為通訊作者)