謝夢蝶 秦江濤



摘 要:股票價格受眾多不確定性因素影響。為更精準地預測股票指數,首先利用具有良好非線性尋優能力的遺傳算法優化BP網絡初始權值閾值設置,然后構建一個以開盤價、最高價、最低價、收盤價、成交量、收盤價近5日移動平均線MA等6個輸入變量、以下一天6個變量為輸出變量的股指預測模型。對觀察期內上證綜指實證研究表明,經遺傳算法優化后的BP 網絡對股票指數預測平均誤差為0.1%,其中成交量預測值比單純BP神經網絡算法誤差減少0.71%,同時收斂速度得到提高。
關鍵詞:BP神經網絡;遺傳算法;股指預測
DOI:10. 11907/rjdk. 191185
中圖分類號:TP306文獻標識碼:A文章編號:1672-7800(2019)004-0041-05
0 引言
股市波動會對金融市場產生重大影響,甚至影響到經濟發展。如果能較好地預測股票指數走勢,則可及時調控引導股市,對投資者給予指導。
股價預測存在的問題主要有:①股價數據中含有較多噪聲[1],股指指數編制不合理,大型機構造市行為及外部影響等因素引起股市的強烈波動;②股價本身以及影響股價的各變量之間呈非線性特性[2];③股票市場的主體是具有主觀能動性的投資者,不確定的投資行為使股價難以預測;④我國股市明顯的政策特征[3-4]。
但股票價格并非完全隨機,而是與歷史數據、宏觀經濟因素、技術面等相關。人工神經網絡ANN(Artificial Neural Network)作為最準確的軟計算技術廣泛應用在許多領域的預測模型中,這些領域包括社會、工程、經濟、商業、金融、外匯、股票等[5-6]。Pesaran等[7]根據過去25年倫敦證券指數數據,采用神經網絡技術預測指數的月變化情況,正確率達到60%;王上飛等[8]從非線性時間序列預測角度,使用滑動窗技術與徑向基函數神經網絡對IBM公司股票進行預測,曲線擬合效果較好。
股票市場是一個極其復雜的非線性動力學系統,而神經網絡具有分布處理、自組織、自適應、自學習和容錯性等優良特性,在處理股價預測這種多因素、不確定和非線性的時間序列預測問題方面具有獨特優勢。
Yudong等[9]提出了一種改進的細菌趨化性優化,集成到反向傳播人工神經網絡預測各種股票指數,實驗表明該預測模型比其它方法在學習能力和泛化能力方面性能更好;Kara等[10]對支持向量機和神經網絡算法進行比較,實驗證明神經網絡算法更優;Adebiyi等[11]利用紐約證券交易所的股票數據探討自回歸積分移動平均模型ARIMA(Autoregressive Integrated Moving Average Model)和人工神經網絡模型的預測性能,實證結果顯示神經網絡模型比ARIMA模型優越;Qiu等 [12]利用神經網絡對日經平均指數進行預測,搜集了71個輸入指標,利用模糊曲線最終選出18個具代表性的輸入指標,成功預測了股票市場收益;胡照躍等[13]首先利用主成分分析法采用貢獻率達90%的主成分,再用附加動量法優化BP神經網絡預測股價,取得更小的誤差和更少的運行時間;黎鐳等[14]利用GRU遞歸神經網絡預測上證中的18支股票未來10天的收盤價,精度達到98%。于卓熙[15]首先利用主成分分析法對股票價格指標降維,再利用廣義回歸神經網絡預測股票價格,比ARIMA模型結果更精準。
上述文獻表明,神經網絡及其衍生模型能夠在股票市場預測方面取得較好的結果。BP神經網絡(Back Propagation)算法對于初始權值閾值的設置非常重要,如果設置不當,不僅會導致網絡訓練速度慢,而且容易陷入局部最優[16]。針對這一問題,本文利用具有良好非線性尋優能力的遺傳算法優化BP 網絡初始權閾值設置,以此提高預測模型性能。
1 BP神經網絡與遺傳算法
1.1 BP神經網絡原理
BP網絡采用反向傳播算法,利用梯度下降原理對網絡參數進行調節,以最好的擬合進行訓練樣本集合[17],使神經網絡的輸出值和目標值之間的誤差平方最小化,梯度下降收斂到訓練誤差相對于網絡權值的局部極小值。
一個具有m個輸入、一個隱含層和h個輸出的三層神經網絡模型結構如圖1所示。
1.2 遺傳算法優化BP神經網絡原理
遺傳算法[18]GA(Genetic Algorithm)是一種仿生群智能算法,它從任一初始種群出發,通過隨機選擇、交叉和變異等操作,產生一群更適應環境的個體,使種群逐步進化到搜索空間中越來越好的區域。遺傳算法是一種不依賴于輔助信息的啟發式全局搜索算法,在搜索過程中不易陷入局部最優,這一點正好可以彌補BP 網絡的不足[19],所以本文采用遺傳算法優化BP神經網絡權值閾值的初始設置。
2 股指預測模型設計
2.1 神經網絡設計
2.1.1 輸入層和輸出層設計
神經網絡結構設計涉及到選擇網絡的隱層數、隱含層節點數和輸入層輸出層節點數。由于三層前饋網絡能以任意精度逼近任何連續的非線性函數[20],因此本文選用只有一個隱層的三層BP網絡。
為了預測時刻t+n的數據,需收集并分析從時刻t+n-m到時刻t+n-1的歷史數據,然后找出預測值與歷史數據之間的聯系。由于預測量為第二天的開盤價OPEN、最高價HIGH、最低價LOW、收盤價CLOSE、成交量V、收盤價近5日簡單移動平移MA等6個變量,因而輸出層神經元數目為6。
2.1.2 確定隱層節點數
隱層節點數量的選擇是一個復雜問題[21],通常采用試湊法確定最佳的隱層節點數,即先設置較少的隱層節點作為初始值,然后逐漸增加隱層節點數,最后選擇誤差最小時所對應的隱層節點數。采用試湊法時可將一種粗略估計隱層節點數的公式作為初始值參考。
2.1.3 激活函數與訓練函數選擇
初始化參數時,選取激活函數為S型函數。S型函數因為具有可微且非線性特點,所以能夠強化網絡的非線性映射能力。神經網絡傳遞函數通常采用連續可微的Sigmoid函數。本實驗隱含層的傳遞函數確定為tan-sigmoid函數,輸出層的傳遞函數確定為線性激活函數。
本文用迭代次數和收斂精度作為評價指標,經多次訓練模型發現,Levenberg-Marquardt算法的迭代次數最少,收斂精度表現最佳,故本文網絡模型采用trainlm作為訓練函數。
2.2 遺傳算法優化神經網絡
遺傳算法一般從3個方面優化神經網絡:①利用遺傳算法訓練神經網絡的權值和閾值;②利用遺傳算法確定神經網絡的拓撲結構;③二者結合進行。本文模型利用遺傳算法的目的是優化BP神經網絡的權值和閾值。種群中的個體通過適應度函數計算得出個體適應度值,然后通過選擇、交叉和變異操作,找出最優個體。利用最優個體對網絡權值和閾值進行賦值,網絡訓練后經輸出層輸出,最后經過反歸一化得到預測值。具體流程如圖2所示。
2.2.1 編碼與種群初始化
個體編碼方法為二進制編碼,每個個體均是一個二進制數串,由輸入層與隱含層連接權值、隱含層閾值、隱含層與輸出層連接權值以及輸出層閾值4 部分組成,本文個體編碼長度為:
2.2.2 適應度函數
本文使用遺傳算法優化神經網絡,是通過遺傳算法從權值和閾值編碼成的群體中選取最優個體初始化神經網絡各層的權值和閾值,即通過遺傳算法優化后的權值和閾值使神經網絡的輸出值與目標值間的誤差平方和最小,所以這是一個求最小值問題。因此,將神經網絡誤差平方和的倒數作為適應度函數,計算公式為:
2.2.3 遺傳算子控制參數
(1)群體規模。本文利用訓練樣本通過多次訓練,選擇種群規模為50。
(2)選擇操作。本文采用輪盤賭選擇方法確定個體的生存和淘汰。輪盤賭選擇是從群體中選擇一些個體,被選中的機率和個體的適應性分數成比例,個體的適應性分數愈高被選中的概率也愈高。
(3)交叉操作。本文采取簡單算術交叉,交叉概率為0.95。
(4)變異操作。本文采用的變異操作是非一致變異,變異概率為0.1。
(5)算法終止條件。通過多次訓練模型,最后選擇最大進化代數為100。
3 實驗與結果分析
3.1 數據選取
選取2016年1月14日至2016年11月10日共200個交易日的上證指數作為原始數據(數據來源于通達信金融終端),選擇上證指數開盤價OPEN、最高價HIGH、最低價LOW、收盤價CLOSE、成交量V、收盤價近5日簡單移動平移MA等6個輸入變量,將200組數據前2/3作為訓練樣本,后1/3作為測試樣本,依次將順序5天的數據作為一個樣本輸入數據,將其后一天的收盤價作為BP神經網絡的輸出目標。原始數據如表1所示。
3.2 股指預測
本文利用MATLAB神經網絡工具箱GOAT構建網絡模型,預測模型包括輸入層、隱含層和輸出層的三層BP神經網絡。構建BP神經網絡需要不斷調整網絡的隱層節點數和其它參數,根據模型的預測誤差確定最佳的網絡結構。設定最大迭代次數為2 000次,學習速率為0.3,最小均方誤差目標為0.000 1。
對于普通的BP網絡,取學習期為5天,學習期的每天選取股市交易數據輸入指標:上證指數的開盤價OPEN、最高價HIGH、最低價LOW、收盤價CLOSE、成交量V、收盤價近5日簡單移動平移MA等6個。因此,網絡輸入層節點個數為5×6=30。
隱層結點個數經驗公式如下:
由上述經驗公式可知,隱含層節點數的大致范圍為5-16個。為了加快訓練的收斂速度,適當擴大范圍,分別對隱含層5-28的節點數進行網絡建模分析,找出合適的隱層結點數。網絡結構的其它設置不變,對原始數據采用BP網絡進行實驗分析。
從表2可以看出,當隱含層節點數為24時,BP神經網絡模型的迭代次數和收斂精度都達到最小,同時網絡的訓練時間也在合理區間內。因此,選定神經網絡模型的拓撲結構為30-24-6。BP網絡結構、預測效果如圖3、圖4所示。
3.3 預測實驗結果對比
用遺傳算法優化BP神經網絡進行實驗。從圖5可以看出,經過50步迭代,適應度達到穩定。適應度值小是因為計算誤差平方和SE時成交量這一變量值過大,但這不影響后續結果誤差率的對比。下面以預測10天收盤價為例對比觀察,如表3所示。
上證指數在BP神經網絡和基于遺傳算法優化的神經網絡中,開盤價、最高價、最低價和收盤價預測誤差統計如表4所示。
由表3可知,GA-BP網絡對上證指數預測的準確率相對BP網絡都有提升,但提升的幅度不統一,其中收盤價平均誤差只有0.1%,成交量平均誤差下降了0.71%,這和遺傳算法的穩定性較差有直接關系,但達到了利用遺傳算法優化網絡的實驗目的。單純采用BP神經網絡預測股指時會出現初始權值設定隨意性大、收斂速度慢、平均誤差大等缺點,但經遺傳算法優化后的BP神經網絡改善了以上問題。
上證指數在兩種不同算法下的收斂速度如圖6、圖7所示。
由圖6、圖7可知,利用BP神經網絡迭代210次才達到目標收斂精度,而基于遺傳算法優化的BP神經網絡在經過147次迭代后便收斂。可見,基于遺傳算法優化的BP神經網絡在收斂速度要優于BP神經網絡。
4 結語
BP神經網絡由于初始權值閾值的設置容易導致網絡訓練速度慢、陷入局部最優等問題。本文采取具有非線性尋優特點的遺傳算法優化BP神經網絡權值閾值,構建上證指數的開盤價OPEN、最高價HIGH、最低價LOW、收盤價CLOSE、成交量V、收盤價近5日簡單移動平移MA等為輸入變量,下一天的6個變量為輸出變量的GA-BP 神經網絡股指預測模型,分別從6個變量的平均誤差率角度對比分析了BP 網絡優化前后的預測結果。對比單純的BP神經網絡,6個指標預測誤差率得到不同程度提升,平均誤差率為0.1%,收斂速度得到加快。實驗結果表明,基于遺傳算法優化的BP神經網絡在預測股指方面優于單純的BP神經網絡,可為投資者提供更準確的股票市場趨勢預測數據。
參考文獻:
[1] 歐陽洪. 中國股市噪聲交易行為有效性實證研究[J]. 山東財政學院學報,2007(4):20-22.
[2] 周洪濤,王宗軍. 上海股市非線性特征:一個基于R/S方法的實證分析[J]. 管理學報,2005,2(5):597-600.
[3] 胡金焱. 中國股票市場宏觀政策效應的實證研究[J]. 經濟學動態,2003(6):22-24.
[4] 肖小鋒. 中國政策市的行為思考[J]. 華東經濟管理, 2003, 17(5):94-95.
[5] KHASHEI M,BIJARI M. An artificial neural network (p, d, q) model for timeseries forecasting[J]. Expert Systems with Applications, 2010, 37(1):479-489.
[6] ZHANG G,PATUWO B E, HU M Y. Forecasting with artificial neural networks: the state of the art[J]. International Journal of Forecasting, 1998,14(1):35-62.
[7] PESARAN M H,TIMMERMANN A. A recursive modelling approach to predicting UK stock returns[J]. Economic Journal,2010,110(460):159-191.
[8] 王上飛,周佩玲,吳耿峰,等. 徑向基神經網絡在股市預測中的應用[J]. 預測,1998(6):44-46.
[9] YUDONG Z,LENAN W. Stock market prediction of S&P 500 via combination of improved bco approach and bp neural network[J]. Expert Systems with Applications, 2009, 36(5):8849-8854.
[10] KARA Y,BOYACIOGLU M A,BAYKAN O K. Predicting direction of stock price index movement using artificial neural networks and support vector machines: the sample of the istanbul stock exchange[J]. Expert Systems with Applications, 2011, 38(5):5311-5319.
[11] ADEBIYI A A,ADEWUMI? A? O,AYO? C? K. Comparison of ARIMA and artificial neural networks models for stock price prediction[J]. Journal of Applied Mathematics,2014(1):1-7.
[12] QIU M,SONG Y,AKAGI F. Application of artificial neural network for the prediction of stock market returns: the case of the Japanese stock market[J]. Chaos Solitons & Fractals the Interdisciplinary Journal of Nonlinear Science & Nonequilibrium & Complex Phenomena, 2016, 85(9):1-7.
[13] 胡照躍,白艷萍. 基于改進BP神經網絡的股票預測[J]. 經貿實踐,2016(2):153-157.
[14] 黎鐳,陳藹祥,李偉書. GRU遞歸神經網絡對股票收盤價的預測研究[J]. 計算機與現代化, 2018(11):98-102.
[15] 于卓熙,秦璐,趙志文. 基于主成分分析與廣義回歸神經網絡的股票價格預測[J]. 統計與決策, 2018(18):62-67.
[16] 李永明. 人工神經網絡BP學習算法的研究及在人臉識別中的應用[D]. 濟南:山東大學, 2012.
[17] 陳蓓蓓.基于主成分分析與神經網絡的股票價格預測[D].天津:南開大學, 2011.
[18] 王小平,曹立明. 遺傳算法:理論、應用及軟件實現[M]. 西安:西安交通大學出版社, 2002.
[19] 蘭勝坤. 遺傳算法優化BP神經網絡的說話人識別系統[J]. 重慶理工大學學報, 2013, 27(10):91-95.
[20] 何成剛,張燕平,張站. 機器學習中知識動態獲取在函數逼近中的探究[J]. 微計算機信息, 2010, 26(27):134-136.
[21] 劉要來,周紅波,荀小偉. 基于BP神經網絡的滲流場反演分析[J]. 中國水運,2014,14(10):113-116.
(責任編輯:杜能鋼)