黃同愿,陳芳芳
(重慶理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶 400054)
?
基于SVM股票價(jià)格預(yù)測的核函數(shù)應(yīng)用研究
黃同愿,陳芳芳
(重慶理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶400054)
摘要:對中國銀行股票價(jià)格進(jìn)行了回歸預(yù)測。通過選擇最優(yōu)的徑向基核函數(shù),再利用網(wǎng)格尋參、遺傳算法和粒子群算法對最佳核函數(shù)參數(shù)進(jìn)行對比尋優(yōu),構(gòu)建最有效的支持向量機(jī)(SVM)模型,最后對中國銀行未來15日的開盤數(shù)變化趨勢進(jìn)行預(yù)測。實(shí)驗(yàn)仿真結(jié)果表明:應(yīng)用構(gòu)建的 SVM模型預(yù)測中國銀行未來15日的股票走勢是可行的。
關(guān)鍵詞:支持向量機(jī);回歸預(yù)測;開盤數(shù)
股票是金融市場的一個(gè)重要組成部分,隨著社會經(jīng)濟(jì)的發(fā)展和人們理財(cái)意識的提高,越來越多的人開始關(guān)心股票市場。如果能對股票進(jìn)行預(yù)測,指導(dǎo)股民做出合理的投資將是十分有價(jià)值的[1]。目前,應(yīng)用于股票研究的傳統(tǒng)機(jī)器學(xué)習(xí)方法有很多,如遺傳算法[2]、決策樹、馬爾科夫鏈、灰色理論[3]等。這些方法都存在一些缺陷,如信息提取困難等,尤其在樣本數(shù)量少、分布不均的情況下會導(dǎo)致預(yù)測誤差增大,預(yù)測能力降低的問題。股票數(shù)據(jù)波動較強(qiáng),具有混沌性、非線性和模糊性的特點(diǎn),傳統(tǒng)的機(jī)器學(xué)習(xí)方法顯然無法較好地預(yù)測股票趨勢。
支持向量機(jī)(support vector machine,SVM)是新一代機(jī)器學(xué)習(xí)技術(shù),能夠很好地處理小樣本、非線性、高維數(shù)的實(shí)際問題[4-5],解決了傳統(tǒng)機(jī)器學(xué)習(xí)方法所面臨的訓(xùn)練需要大量數(shù)據(jù)樣本、過學(xué)習(xí)和欠學(xué)習(xí)等問題。再加上SVM基于VC維理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理,具有更好的泛化能力,因此SVM能夠較好地對股票趨勢進(jìn)行預(yù)測[6-9]。
為了研究SVM對股票的預(yù)測效果,本文選擇中國銀行的股票數(shù)據(jù)進(jìn)行研究,通過最佳核函數(shù)與最優(yōu)核參數(shù)的選擇,構(gòu)建SVM預(yù)測模型,從而使得對股票的預(yù)測精度達(dá)到最優(yōu)。
1基于徑向基核函數(shù)的SVM股票預(yù)測模型
1.1SVM的原理
給定樣本數(shù)據(jù)集:(x1,y1),(x2,y2),…,(xi,yi),…,(xl,yl),xi∈R,yi∈{-1,+1}
約束條件變?yōu)?/p>
引入拉格朗日函數(shù)和對偶變量有
再根據(jù)KKT條件可以得出:
1.2核函數(shù)的設(shè)定
SVM方法的基本思想基于1909年Mercer核展開定理,即通過非線性映射φ把樣本空間映射到一個(gè)高維乃至于無窮維的特征空間(Hilbert空間),應(yīng)用線性學(xué)習(xí)機(jī)的方法解決樣本空間中的高度非線性分類和回歸等問題。
核函數(shù)是SVM的核心,其主要思想是將數(shù)據(jù)從低維映射到高維特征空間,將低維特征空間的非線性問題轉(zhuǎn)換成高維特征空間的最優(yōu)線性問題。特征空間由核函數(shù)來定義。核函數(shù)的學(xué)習(xí)并不是在高維特征空間進(jìn)行,而是在相對較小的線性子空間中計(jì)算,并沒有增加算法的復(fù)雜性。
核函數(shù)的引入減少了運(yùn)算量,避免了“維數(shù)災(zāi)難”,輸入樣本特征的維數(shù)不會對核函數(shù)矩陣有影響。
核函數(shù)是SVM的核心組成部分,對于SVM算法的研究主要在于充分地理解核函數(shù),這樣才能更好地開發(fā)SVM訓(xùn)練算法。核函數(shù)的選擇必須滿足mercer條件。常見的核函數(shù)有[7]:
線性函數(shù)K(xi,x)=xi·x
多項(xiàng)式核函數(shù)K(xi,x)=(xi·x+1)d
多層感知器函數(shù)K(xi,x)=tanh(kxi·x+θ)
1.3特征屬性的選取
常見的技術(shù)指標(biāo)有平滑移動平均線MACD[6]、相對強(qiáng)弱指標(biāo)RSI[10]、能量潮O(jiān)BV、順勢指標(biāo)CCI、隨機(jī)指標(biāo)KDJ、乖離率指標(biāo)BIAS等。這些技術(shù)指標(biāo)都對股票的預(yù)測產(chǎn)生一定的影響。本文選擇投資者經(jīng)常使用的、對股票價(jià)格影響比較大的幾種技術(shù)指標(biāo)進(jìn)行實(shí)驗(yàn)研究。選擇中國銀行每日開盤價(jià)作為因變量,選擇開盤價(jià)、收盤價(jià)、最高價(jià)、最低價(jià)、成交量、平滑移動平均線(MACD)、相對強(qiáng)弱指標(biāo)(RSI)、能量潮(OBV)和順勢指標(biāo)(CCI)9個(gè)指標(biāo)作為樣本輸入特征屬性來預(yù)測未來15天的股票走向。
1.4評價(jià)指標(biāo)的選取
對股票預(yù)測模型的性能評價(jià)主要通過預(yù)測結(jié)果的精度和可靠性來確定。一般采取誤差的形式進(jìn)行評價(jià),具有科學(xué)性。本文采用誤差(error)、相對誤差(relative error)、均方差(Mean squared error)和相關(guān)系數(shù)R作為預(yù)測結(jié)果的精度評判標(biāo)準(zhǔn)。其定義如下:
1.5股票預(yù)測分析的步驟
對股票的預(yù)測原理進(jìn)行分析和研究,通過對比Gauss核函數(shù)、Sigmoid核函數(shù)、多項(xiàng)式核函數(shù)構(gòu)造出來的模型得出最佳核函數(shù)。再通過遺傳算法、網(wǎng)格尋優(yōu)、粒子群算法得出最佳核參數(shù),最后進(jìn)行股票的預(yù)測。預(yù)測過程如下:
1) 收集將進(jìn)行預(yù)測的銀行股票的歷史數(shù)據(jù),并將這些數(shù)據(jù)作為訓(xùn)練集和測試集2個(gè)部分。
2) 對股票的原始數(shù)據(jù)進(jìn)行預(yù)處理,將其歸一化以提高模型的收斂速度。
3) 通過遺傳算法、粒子群算法、網(wǎng)格參數(shù)尋優(yōu)的方法找出最優(yōu)參數(shù)。分別用不同方法尋找到的最優(yōu)參數(shù)對股票數(shù)據(jù)進(jìn)行訓(xùn)練學(xué)習(xí),并確定每個(gè)最優(yōu)模型參數(shù)。進(jìn)行實(shí)驗(yàn)對比,從而確定每個(gè)核函數(shù)所確定的最優(yōu)SVM預(yù)測模型。
4) 使用訓(xùn)練出來的最優(yōu)SVM預(yù)測模型對中國銀行股票15日數(shù)據(jù)進(jìn)行預(yù)測,得出預(yù)測結(jié)果。
2仿真實(shí)驗(yàn)
2.1數(shù)據(jù)來源與預(yù)處理
本文采用的樣本數(shù)據(jù)主要來自大智慧軟件提供的中國銀行數(shù)據(jù)樣本,為從2014年8月20日到2015年7月15日的數(shù)據(jù),共220組。前205個(gè)數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),用于估算模型的參數(shù);剩余15個(gè)數(shù)據(jù)作為預(yù)測數(shù)據(jù),對構(gòu)建的SVM模型的精度進(jìn)行檢驗(yàn)。在股票預(yù)測中主要是以收盤價(jià)作為預(yù)測對象。本文主要進(jìn)行股票短期的預(yù)測,將預(yù)測未來15天的股票趨勢。在實(shí)驗(yàn)中對中國銀行的開盤數(shù)進(jìn)行歸一化處理(這里將其歸一化到[0,6]區(qū)間),中國銀行股票的原始數(shù)據(jù)與歸一化后的數(shù)據(jù)如圖1、2所示。
2.2不同SVM預(yù)測模型準(zhǔn)確度對比
2.2.1不同核函數(shù)預(yù)測結(jié)果對比
SVM中核函數(shù)的選擇很重要,采用不同的核函數(shù)進(jìn)行對比(采用[0,6]歸一化),結(jié)果如表1所示。
圖1 原始數(shù)據(jù)
圖2 歸一化后的數(shù)據(jù)
核函數(shù)預(yù)測結(jié)果參數(shù)選項(xiàng)線性核函數(shù)MSE=0.0349327R=98.5823%‘-c64-g1-t0’多項(xiàng)式核函數(shù)MSE=0.000234488R=99.6517%‘-c64-g1-t1’徑向基核函數(shù)MSE=9.77353e-005R=99.9974%‘-c64-g1-t2’
從表1可以看出:徑向基核函數(shù)在股票預(yù)測上要比其他2個(gè)核函數(shù)預(yù)測效果好。因此,本文選擇徑向基核函數(shù)構(gòu)建SVM模型。
2.2.2不同方法尋找最優(yōu)參數(shù)股票預(yù)測對比
在確定徑向基核函數(shù)后,再進(jìn)一步確定如何選取最佳懲罰參數(shù)c和核參數(shù)g。參數(shù)c和g的選取是研究中國銀行股票預(yù)測的重要組成部分。本文通過網(wǎng)格參數(shù)優(yōu)化SVM、遺傳算法優(yōu)化SVM和粒子群優(yōu)化算法選擇最佳的參數(shù)c和g,結(jié)果如表2所示。
表2 不同算法尋參對比
從表2可以看出:網(wǎng)格參數(shù)尋優(yōu)得出的結(jié)果更有效,更能提高股票的預(yù)測精度。因此,本文選取網(wǎng)格參數(shù)尋優(yōu)的方法,從而更有效地構(gòu)建SVM回歸預(yù)測模型,使得預(yù)測結(jié)果更能接近實(shí)際結(jié)果。網(wǎng)格參數(shù)法優(yōu)化SVM結(jié)果如圖3、4所示。
圖3 網(wǎng)格參數(shù)法優(yōu)化SVM結(jié)果(等高線圖)
圖4 網(wǎng)格參數(shù)法優(yōu)化SVM結(jié)果(3D視圖)
遺傳算法、粒子群算法優(yōu)化SVM參數(shù)的結(jié)果如圖5、6所示。
由圖3~6可以發(fā)現(xiàn):網(wǎng)格尋參的效果更優(yōu)。為此將參數(shù)取整數(shù)進(jìn)行實(shí)驗(yàn),選最佳參數(shù)為c=64,g=1。
圖5 遺傳算法優(yōu)化SVM參數(shù)的結(jié)果
圖6 粒子群算法優(yōu)化SVM參數(shù)的結(jié)果
2.3結(jié)果分析
通過不同SVM預(yù)測模型對比結(jié)果,選擇參數(shù)c=64,g=1。將數(shù)據(jù)歸一化到[0,6],采用最優(yōu)參數(shù)對SVM進(jìn)行訓(xùn)練,構(gòu)建SVM模型,并對中國銀行股票指數(shù)進(jìn)行預(yù)測,得到的預(yù)測結(jié)果對比如圖7所示。誤差、相對誤差如圖8、9所示。
15日股票價(jià)格趨勢預(yù)測對比如圖10所示(將15日原始數(shù)據(jù)和預(yù)測數(shù)據(jù)處理到[0,1]區(qū)間內(nèi))。
圖7 原始數(shù)據(jù)與預(yù)測數(shù)據(jù)結(jié)果對比
圖8 預(yù)測結(jié)果誤差
圖9 預(yù)測結(jié)果相對誤差
圖10 15日股票價(jià)格趨勢預(yù)測對比
由對比結(jié)果可以清晰地看出:中國銀行股票15日預(yù)測走勢同原始走向具有一致性,對反轉(zhuǎn)點(diǎn)位置的確定很精確,在第3,5,8,11,14這些反轉(zhuǎn)點(diǎn)都具有高度的一致性,能夠準(zhǔn)確地指導(dǎo)股民對股票進(jìn)行合理的投資。
3結(jié)束語
針對傳統(tǒng)股票預(yù)測方法存在的過擬合、局部最優(yōu)的缺陷,提出一種基于SVM的股票價(jià)格預(yù)測模型來預(yù)測中國銀行股票數(shù)據(jù)未來15日的走向。仿真實(shí)驗(yàn)結(jié)果表明:本研究在預(yù)測中國銀行股票未來15日的走勢中具有較高的精度,預(yù)測結(jié)果可靠性強(qiáng)、誤差小,能夠?yàn)楣擅裉峁┯杏玫膮⒖夹畔ⅰ?/p>
通過分析可以得到如下結(jié)論:
1) 預(yù)測結(jié)果與參數(shù)的選擇有關(guān)系,同時(shí)也會耗費(fèi)一定的時(shí)間,使計(jì)算速度降低。
2) 粒子群算法、遺傳算法和網(wǎng)格算法各有利弊。本文的預(yù)測中網(wǎng)格算法效果更佳。
3) 需要針對具體問題對數(shù)據(jù)進(jìn)行預(yù)處理。本文由于各指標(biāo)數(shù)值相差較大,需要對數(shù)據(jù)進(jìn)行預(yù)處理,提高精準(zhǔn)度,同時(shí)使運(yùn)算速度較快。
4) 本文僅對中國銀行股票進(jìn)行預(yù)測,即針對個(gè)股進(jìn)行預(yù)測研究,對于大盤數(shù)據(jù)的研究具有指導(dǎo)作用。而對于數(shù)據(jù)的不穩(wěn)定性、高噪聲等問題仍需進(jìn)行更深入的研究。
參考文獻(xiàn):
[1]周健,錢凱,盧小廣.基于股票股利超額收益的實(shí)證研究[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,29(5):147-151.
[2]王唯賢,陳利軍.股票價(jià)格預(yù)測的建模與仿真研究[J].計(jì)算機(jī)仿真,2012(1):344-347.
[3]楊陽.股票價(jià)格預(yù)測方法研究[J].經(jīng)營管理者,2011(16):32,24.
[4]顧亞祥,丁世飛.支持向量機(jī)研究進(jìn)展[J].計(jì)算機(jī)科學(xué),2011,38(2):14-18.
[5]周哲,楊志霞.基于凹凸過程的雙支持向量機(jī)[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,28(10):90-95.
[6]王定成.支持向量機(jī)建模與控制[M].北京:氣象出版社,2009:22-41.
[7]楊志民,劉廣利.不確定性支持向量機(jī)[M].北京:科學(xué)出版社,2012:19-33.
[8]黃朋朋,韓偉力.基于支持向量機(jī)的股價(jià)反轉(zhuǎn)點(diǎn)預(yù)測[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010(9):214-218.
[9]張翔宇,王富森.基于支持向量機(jī)的上證指數(shù)預(yù)測研究[J].商業(yè)經(jīng)濟(jì),2011(3):104-106.
[10]張玉川,張作泉.支持向量機(jī)在股票價(jià)格預(yù)測中的應(yīng)用[J].北京交通大學(xué)學(xué)報(bào),2007(6):73-76.
(責(zé)任編輯劉舸)
Application of Kernel Function of Stock Price Forecasting Based on SVM
HUANG Tong-yuan,CHEN Fang-fang
(College of Computer Science and Engineering,Chongqing University of Technology,Chongqing 400054,China)
Abstract:The paper conducted a regression forecast of Bank of China stock index. By selecting the optimal radial basis function, and then, for the optimal kernel function, we selected the parameter optimization using grid homing, genetic algorithm and PSO algorithm to build the most effective SVM model, and finally we predicted the opening number of the Bank of China in the next 15 days. The simulation shows that using SVM model to prediction Bank of China shares in the next 15 days the trend is very feasible.
Key words:support vector machine; regression prediction; opening quotation
文章編號:1674-8425(2016)02-0089-06
中圖分類號:TP393
文獻(xiàn)標(biāo)識碼:A
doi:10.3969/j.issn.1674-8425(z).2016.02.016
作者簡介:黃同愿(1975—),男,湖北人,博士研究生,副教授,主要從事計(jì)算機(jī)應(yīng)用研究。
基金項(xiàng)目:重慶市教委科學(xué)技術(shù)研究項(xiàng)目(KJ1500920);企業(yè)委托項(xiàng)目(2015Q147)
收稿日期:2015-11-28
引用格式:黃同愿,陳芳芳.基于SVM股票價(jià)格預(yù)測的核函數(shù)應(yīng)用研究[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2016(2):89-94.
Citation format:HUANG Tong-yuan,CHEN Fang-fang.Application of Kernel Function of Stock Price Forecasting Based on SVM[J].Journal of Chongqing University of Technology(Natural Science),2016(2):89-94.