王 玥,孫德山
(遼寧師范大學 數(shù)學學院 ,遼寧 大連 116029)
隨著經(jīng)濟的不斷發(fā)展,股票市場逐漸在人們的生活中占據(jù)了重要的位置.經(jīng)過一定時期的發(fā)展,股票市場已趨于穩(wěn)定,但還存在一定的問題和缺陷.目前,股票市場已成為眾多學者和投資者的研究對象.政府如何有效地對市場進行監(jiān)管、防范金融風險;投資者如何最小化投資風險的同時獲得最大收益,這些問題都跟股票的準確預測有關.
股票價格起伏不定,觀察股票的漲跌情況主要是關注股票指數(shù)的浮動情況.股市指數(shù)是由證券交易所或金融服務機構編制的表明股票行市變動的一種供參考的指示數(shù)字.具體某一種股票的價格變化,投資者方便了解;對于多種股票的價格變化,可以參考大盤的走勢.為了適應這種情況和需要,一些金融服務機構根據(jù)市場的情況,編制出股票價格指數(shù),公開發(fā)布,作為市場價格變動的指標.投資者據(jù)此就可以檢驗自己投資的效果,并用以預測股票市場的動向.
合理的預測股票趨勢可以給投資者提供一定的參考,近些年來,人們對股市研究越來越多,研究方法也越來越多[1].文獻[2]運用Bayes決策法分析股票價格,得出此方法在分析中是可行的.文獻[3]運用逐步回歸分析法對鋼鐵業(yè)股票價格進行了研究,最優(yōu)方程擬合程度達到了80%.文獻[4-5]使用了SVM來預測股票開盤價,并對參數(shù)選取作了一定的實驗.與上述方法不同,集成算法以簡單且效果良好被廣泛應用,選取集成算法通過股票前一天的數(shù)據(jù)來預測后一天的開盤價漲跌趨勢,并將結果進行比較分析.
Bagging是一種基于Bootstrap的統(tǒng)計方法[6],從總體中取出多個訓練集,在每個訓練集中重復取樣,假定給定一個訓練樣本包含m個數(shù)據(jù)集,先隨機取出一部分樣本進行實驗,再把該樣本放回數(shù)據(jù)集中.假定,這個樣本下次有可能在被選中.經(jīng)過m次隨機重復操作,得到m個樣本的采樣集.對每個采樣集,分別訓練出一個學習器,再將這些學習器結合,就是Bagging的基本流程.
其基本思想為:
1)給定一個弱學習算法和一個訓練集;
2)單個弱學習算法準確率不高;
3)將該學習算法使用多次,得出預測函數(shù)序列,進行投票;
4)最后結果準確率將得到提高.
與Bagging相似,Boosting包含了眾多決策樹的結合,是可將弱學習器提升為強學習器的算法.首先,通過boosting框架對訓練樣本集的操作,得到不同的訓練樣本子集,在訓練出這些樣本的基學習器.再根據(jù)基學習器的表現(xiàn)對訓練樣本的分布進行調整,然后將調整后的樣本分布來訓練下一個基學習器.將這些學習器進行加權融合,產(chǎn)生最后的分類器.單個的分類器識別率不一定很好,但是聯(lián)合后的結果會有很好的識別率,從而提高了弱學習器的識別率.
Random Forest由貝爾實驗室的Tin Kam Ho于2001年提出,這個方法是結合Breimans 的 "Bootstrap aggregating"和 Ho 的"random subspace method"想法以建造決策樹的集合.隨機森林分類器是由單棵樹分類{h(x,βk),k=1,2,…}集合構成的組合分類器[7],其中x是輸入向量,βk是獨立同分布的隨機變量序列.其中每個分類器是獨立于輸入向量的隨機向量生成的,每棵樹為最普遍的類別投票來進行分類.
和其他算法相比,Random Forest具有以下優(yōu)點:
1)可以有效的處理高維度數(shù)據(jù);
2)在對缺失數(shù)據(jù)進行估計時,就算存在大量的數(shù)據(jù)缺失,隨機森林也能較好地保持精確性;
3)對于不平衡的數(shù)據(jù)集來說,可以平衡誤差.
采用R語言程序,選用gbm,random Forest, ipred三個程序包來實現(xiàn)3種集成算法.數(shù)據(jù)選取股票市場中的上證指數(shù),深證指數(shù),中小板指數(shù),創(chuàng)業(yè)板指數(shù)的近期數(shù)據(jù).分別采用上述3種方法將數(shù)據(jù)進行分析,用前一天的開盤價、收盤價、成交量、MA5(5日均線)、CCI(順勢指標)、OBV(能量潮)6個數(shù)據(jù),來預測后一天的開盤價.如果,前一天的開盤價比后一天的開盤價高,則用“1”表示;如果,前一天的開盤價比后一天的開盤價低,則用“0”表示.
隨機選取中小板指的200個數(shù)據(jù)(2017.01.24-2017.11.20),深證成指的200個數(shù)據(jù)(2016.12.01-2017.09.21),上證指數(shù)的200個數(shù)據(jù)(2017.05.05-2018.02.27),創(chuàng)業(yè)板指的200個數(shù)據(jù)(2017.06.06-2018.03.27),來實現(xiàn)實驗,結果見表1.上述數(shù)據(jù)的開盤價圖像如圖1~4.
表1 分類結果
圖1 中小扳指開盤價
圖2 深證成指開盤價
圖3 上證指數(shù)開盤價(200個數(shù)據(jù))
觀察表1可知,Boosting在預測創(chuàng)業(yè)板指上結果最好,準確率是所有結果里最好的;Random Forest在預測中小板指、上證指數(shù)上結果最好;Bagging相比其他兩種方法則適用于預測深證成指.
選取中小板中的大連重工、深證A股的中南建設、上證A股的中國醫(yī)藥、創(chuàng)業(yè)板的東方國信四支股票;選取數(shù)據(jù)時間范圍為2017.07.21-2018.05.17.用上述方法進行分析,得到表2結果.
圖4 創(chuàng)業(yè)板指開盤價
股票指數(shù)名稱數(shù)據(jù)個數(shù)BoostingRandomForestBagging大連重工2000.6750.750.775中南建設2000.7250.750.7中國醫(yī)藥2000.7250.750.7東方國信2000.6250.8250.725
從表2中可以看出,集成算法在數(shù)據(jù)個數(shù)為200的時候,可以對第二天的開盤價進行較好的預測.
通過實驗分析三種不同的集成算法的結果,預測不同股票的開盤價漲跌,可知,不同的集成分類方法適用于不同的股票指數(shù)的分類.在研究過程中,合理的選取參數(shù)會對實驗結果產(chǎn)生一定的影響,但是運算量較大,時間較長,以后會對選取參數(shù)方法進行研究.對于進行短期的預測,上述方法較為合適.但是對于長期預測,股票市場具有不穩(wěn)定性,以及不排除突發(fā)因素的影響,需要人們更加深入的研究.