<address id="japib"><nav id="japib"></nav></address>

<cite id="japib"></cite>
        基于遺傳算法優化的BP神經網絡在股指預測中的應用研究
        黃宏運1, 朱家明2, 李詩爭1
        1.安徽財經大學 金融學院,安徽 蚌埠 233000
        2.安徽財經大學 統計與應用數學學院,安徽 蚌埠 233000
        通信作者:朱家明(1973-),男,安徽人,副教授,主要從事應用數學與數學建模方面的研究.E-mail:zhujm1973@163.com.

        作者簡介:黃宏運(1995-),男,安徽人,主要從事機器學習與量化投資方面的研究.E-mail:varuto_hhy@163.com.

        摘要

        針對股票價格不僅受到眾多不確定性因素影響而且數據本身具有高度模糊非線性等特點而導致的預測難問題,首先利用具有良好非線性尋優能力的遺傳算法來優化BP網絡初始權閾值的設置,然后構建了一個基于歷史股票價量信息為輸入變量,日開盤價為輸出變量的股指預測模型,在對觀察期內上證綜指(開盤指數)的實證研究表明,優化后的BP網絡在訓練時不僅可以更快地實現收斂,而且對于訓練集與測試集樣本的預測性均得到明顯地提高.

        關鍵詞: 股票指數; 預測; BP神經網絡; 遺傳算法; 優化
        中圖分類號:TP183 文獻標志碼:A 文章編號:0258-7971(2017)03-0350-06
        The BP neural network based on GA optimization in the application of the stock index forecasting
        HUANG Hong-yun1, WU Li-bing2, LI Shi-zheng1
        1.School of Finance,Anhui University of Finance and Economics,Bengbu 233000,China
        2.Institute of Statistics and Applied Mathematics,Anhui University of Finance and Economics,Bengbu 233000,China
        Abstract

        Due to the stock price is not only affected by many uncertain factors and the data itself has a high degree of fuzzy non-linear characteristics,so there is always a difficult problem for forecasting.In this paper,we firstly use the genetic algorithm with good nonlinear optimization ability to optimize the initial threshold of BP Neural Network,then construc a stock index forecasting model based on historical stock price information as input variable and daily opening price as output variable.An empirical study of the Shanghai Composite Index (opening index) during the observation period showed that the optimized BP Neural Network can not only achieve convergence faster in training process,but also improve the predictability of the training set and the test set.

        Keyword: stock index; forecasting; BP neural network; genetic algorithm; optimization

        股票價格的走勢不僅可以從一定程度上體現宏觀經濟的發展狀況, 而且關乎每個證券投資者的切身利益, 因而股指預測一直是經濟預測領域研究的重點課題之一, 但是由于股票市場的變化不僅受眾多不確定性因素的影響, 而且股票數據本身具有模糊非線性的特點, 這些都給股指的預測帶來諸多困難.目前對于股票指數預測方法的研究主要可以分為以下幾類, 第1種是基于歷史價量信息和技術指標信息的趨勢預測[1, 2], 這種方法通常只能作一個區間估計, 無法給出準確結果; 第2種是時間序列預測[3, 4], 這類方法本質上是屬于一種線性估計, 因而難以表達股票序列中的非線性關系; 第3種是灰色預測[5, 6], 這種預測方法通常適用于樣本量較少的貧數據, 對于應用到樣本量巨大的股票數據存在一定的局限性; 第4種是基于前3種方法的組合預測[7, 8], 由于不同類方法預測的結果可能存在較大的差異, 因而如何分配權重是這種方法需要考慮的關鍵因素.近些年, 隨著一些機器學習算法在經濟金融領域得到不斷地發展, 人工神經網絡[9, 10]也在股指預測中得到了一定的應用, 神經網絡在訓練的過程中多采用的是一種BP算法, 這種算法對于初始權閾值的設置顯得尤為重要, 如果設置不當, 不僅會導致網絡訓練速度慢, 而且容易陷入局部最優.

        因此, 本文將針對上述問題, 嘗試利用具有良好非線性尋優能力的遺傳算法來優化BP網絡初始權閾值的設置, 進而提高預測模型的性能.

        1 數據來源及說明

        本文的數據來源主要為上海大智慧與同花順數據中心提供的自2007年1月4日至2015年8月31日的上證綜合指數, 其中數據的格式為2107行乘7列, 其中每一行代表了每一日的開盤價、收盤價、最低價、最高價、成交量、成交額和漲跌幅.

        2 研究理論
        2.1 BP神經網絡理論

        人工神經網絡(Artificial Neural Network, ANN)的發展可以追溯到20世紀40年代, 最早是由Warren McCulloch和Walter Pitts 博士從原理上證明了ANN可以計算算術和邏輯函數, ANN的第一個實際應用出現在20世紀50年代, 當時Rosenblatt博士和他的同事構造了一個感知機網絡, 并公開演示了它進行模式識別的能力, 經過了幾十年的發展人工神經網絡的理論已經得到了長足的發展, 其中BP(Back Propagation, BP)神經網絡[11, 12]由于其理論最為成熟而成為目前應用最為廣泛的一種神經網絡.

        BP神經網絡的拓撲結構大致如圖1所示, 它的工作原理主要是通過各層之間的權閾值和激勵函數將輸入變量非線性映射到輸出變量, 在訓練的過程中主要采取一種信號前向傳遞、誤差反向傳播的BP算法, 這種算法又被稱為“ 負梯度修正算法[13]” , 現已被應用到很多其他神經網絡的訓練中.

        圖1 BP神經網絡拓撲結構Fig.1 The topology of BP neural network

        根據上述原理, 以下給出簡單的BP神經網絡算法的實現過程:X=(xij)假設是一個樣本輸入矩陣(i=1, 2, …, n; j=1, 2, …, p), 每一行代表一組觀測值, 且每一組輸入觀測值對應一個輸出值, 整體樣本的實際輸出樣本為Y=[y1, y2, …, yn]T(這里為了簡單說明問題只指定了一個輸出值, 在實際問題中可能一組輸入變量對應多個輸出值, 但兩者無本質上的區別), 每一列可以理解為一個指標或屬性, 那么輸入層的輸入I1即為X.通常輸入層與輸出層處的激勵函數均為線性函數, 則廣義上得到輸入層神經元的輸出O1即為X.

        假設隱含層神經元的個數為m個, 對應的權值矩陣為W=(wij)(i=1, 2, …, m; j=1, 2, …, p), 閾值矩陣為B=(b1, b2, …, bm)T, 那么隱含層的輸入:

        I2=Wm× pX'p× n+Bones1× n, (1)

        其中, ones1× n表示1× n元素全部為1的矩陣.通常作為隱含層的激勵函數為單極S型函數, 即Sigmoid函數, 其表達式為:

        f(x)=(1+e-x)-1, (2)

        則隱含層的輸出為O2=f(I2).輸出層的輸入與隱含層的輸入類似:

        I3=XjkO2+Bjkones1× n. (3)

        對于第3層的輸出, 由傳遞函數為線性函數, 所以可以認為O3=I3.

        以下本文利用鏈式偏微分法則來計算輸出層與隱含層和隱含層與輸入層連接權閾值的調整量, 計算結果具體為:

        Δ Wjk=-η ?E?Wjk=-η (Y-O3)O'2, (4)

        Δ Bjk=-η ?E?Bjk=-η (Y-O3)ones1, (5)

        其中, ones1表示1元素全部為1的矩陣.

        由公式(2)可知f'(x)=f(x)[1-f(x)], 進一步計算得到隱含層的權閾值調整量為:

        Δ Wjk=-η ?E?Wjk=-η W'jk(Y-O3)O2(1-O2), (6)

        Δ Bjk=-η ?E?Bjk=-η W'jk(Y-O3)O2(1-O2)ones1. (7)

        從公式(4)~(6)和(7)可以看出, BP算法在調整權閾值時從第2到n次迭代得到的權閾值都直接或間接的與第1次的權閾值相關聯, 所以初始權閾值的選取對于BP網絡的訓練來說顯得尤為關鍵, 如果設置不當, 很可能會導致網絡在訓練過程中不僅收斂速度慢而且易陷入局部最優陷阱, 因而如何優化初始權閾值一直是BP網絡研究的重點問題之一.

        2.2 GA優化BP網絡原理

        遺傳算法[14](Genetic Algorithm, GA)是一種仿生群智能算法, 其生物學基礎主要是借鑒達爾文的自然進化學說和孟德爾的基因重組定律, 即從任一初始種群出發, 通過隨機選擇、交叉和變異等操作, 產生一群更適應環境的個體, 使種群逐步進化到搜索空間中越來越好的區域.由于遺傳算法是一種不依賴于輔助信息的啟發式全局搜索算法, 具體在搜索的過程中不易陷入局部最優陷阱, 這一點正好可以彌補BP網絡的不足之處, 所以本文利用遺傳算法的這一特性來優化BP網絡初始權閾值的設置.

        遺傳算法優化BP神經網絡的具體實現過程主要包括如下幾個步驟[15]:

        Step 1:編碼與種群的初始化.這里設置網絡隱含層神經元個數為15個, 個體編碼方法為二進制編碼, 每個個體均為一個二進制數串, 由輸入層與隱含層連接權值、隱含層閾值、隱含層與輸出層連接權值以及輸出層閾值4部分組成, 本文中個體編碼的長度共計為:s=s1× s2+s2+s2× s3+s3.其中, s1、s2s3分別代表輸入層、隱含層和輸出層神經元的個數.

        Step 2:適應度評估.根據初始化個體得到網絡的初始權閾值, 用訓練數據訓練網絡后得到預測輸出, 把預測輸出與實際輸出之間的均方誤差作為個體適應度評估值, 計算公式為:

        F=mse(Y-O)= 1ni=1n(yi-oi)2, (8)

        式中, n為輸入樣本的數量; yi為網絡的預測輸出; oi為實際輸出, mse表示均方誤差函數.

        Step 3:選擇操作.遺傳算法的選擇操作包括輪盤賭選擇、隨機競爭選擇等等, 本文采用基于適應度比例的選擇方式, 個體i的選擇概率為:

        pi= k/Fii=1Nk/Fi, (9)

        式中Fi為第i個個體的適應度值, k為系數, N為種群個體數目.

        Step 4:重組操作.又稱交叉操作, 即通過交換種群中個體的基因位, 本文采取單點交叉方式(兩點交叉與多點交叉方式對原基因位的擾動程度過大, 可能會破壞一些好的基因類型), 交叉操作方法具體如圖2所示.

        Step 5:變異操作.選取第i個個體的第j個基因進行變異, 對于二進制編碼方式, 具體操作是將0變成1或1變成0.

        Step 6:將優化得到的權閾值帶到BP網絡中訓練, 進而用來預測.

        2.3 GA-BP網絡股指預測模型

        2.3.1 模型的建立 股票價格的變化從一定程度上說均可以通過市場交易過程中的價量信息來體現, 如某企業或公司所處行業處于當前的浪潮和新風口區, 通常伴隨著一種市場看多的預期, 因而股價會呈現出一種上漲的趨勢, 再如某只個股的短期均線并列上揚并齊穿長期均線, 且MACD線表現出明顯的金叉跡象, 這也預示了一種股價后期看漲的信號, 以上無論是從基本面還是技術指標等方面來預判未來股價的變化趨勢, 均是一種基于歷史價量信息的預測方式.并且目前大多數學者[16, 17]在研究股票指數的非線性預測時, 均是以歷史價量信息為基礎, 所以本文建立的BP神經網絡股指預測模型以歷史前一日的開盤價、收盤價、最高價、最低價、成交量、成交額和漲跌幅為輸入變量, 以歷史后一日的收盤價為輸出變量, 即輸入層含有7個神經元, 輸出層含有1個神經元, 具體模型的表達式如下:

        o(t)=f(o(t-1), c(t-1), u(t-1), l(t-1), v(t-1), e(t-1), p(t-1)), (10)

        其中, o(t)網絡的輸出變量(后一日收盤價), o(t-1)、c(t-1)、u(t-1)、l(t-1)、v(t-1)、e(t-1)和p(t-1)為網絡的輸入變量(前一日開盤價、收盤價、最高價、最低價、成交量、成交額和漲跌幅).

        2.3.2 模型的訓練 在進行的模型訓練之前不僅需要對樣本數據進行一定的預處理, 而且還需要利用遺傳算法來尋找一組最優的初始權閾值, 具體分為以下幾個步驟來完成:

        Step 1:數據預處理.為了消除各指標數據之間的數量級與量綱差異, 先進行歸一化處理, 通過公式x'=b+(a-b) x-xminxmax-xmin將原始各項指標數據歸一化至區間[a, b]上, 這里x'表示歸一化的各維數據, x表示原始各維數據, xminxmax表示各維數據的最大值與最小值, 本文采取[0, 1]歸一化處理.

        Step 2:劃分訓練集與測試集樣本.考慮到2015年股票市場于6月至8月期間經歷了一場牛熊市場轉換, 這與2007年股票市場的的變化規律十分相似, 所以本文將前2000份樣本(2007年1月4日至2015年3月30日)作為訓練數據, 后107個交易日(2015年3月31日至2015年8月31日)數據作為測試樣本.

        圖2 單點交叉操作Fig.2 The operation of single point crossover

        Step 3:遺傳算法尋優.本文利用Matlab自帶的遺傳算法優化工具箱, 設置具體的遺傳參數為:種群規模為200, 種群個體精度為20, 最大迭代次數為1000, 選擇概率為0.9, 交叉概率為0.5, 變異概率為0.5.在尋優的過程中, 種群個體的最佳適應度與平均適應度變化為圖3所示.

        圖3 種群迭代過程中的最優適應度與平均適應度Fig.3 Best fitness and average fitness of iteration process

        圖3可以看出, 在迭代的初始階段, 種群個體離理想值較遠時, 其下降的幅度非常大, 而在迭代的后期, 隨著算法的不斷收斂, 種群個體越來越靠近最優適應度.

        完成上述3個步驟之后, 即獲得了一組基于最小均方差的網絡權閾值, 利用GA得到的上述權閾值對BP網絡進行訓練, 設置網絡的訓練參數為隱含層神經元個數為15個, 傳遞函數為單極S型函數, 訓練函數為梯度下降的BP訓練算法函數traingd, 最大訓練次數為1000次, 學習速率為0.01, 學習最小均方差目標為0.000004.

        利用訓練好的網絡對對訓練集數據進行回測得到圖4.

        圖4可以看出, 對于訓練集數據來說, GA優化的BP網絡可以較好地實現對開盤價的預測, 并且在股價波動幅度大的時段如:2007年8月15日至2008年1月11日, 未優化的BP網絡預測結果呈現出高度震蕩的變化趨勢, 而經GA優化的BP網絡可以較平緩的擬合原始開盤價, 相比較而言, GA優化后的BP網絡預測效果更為理想.

        2.3.3 模型的測試 雖然經遺傳算法優化后的BP網絡可以實現對訓練集開盤價的準確預測, 但這可能是網絡優化后處于過擬和狀態下(對訓練數據可以實現準確預測但對測試數據預測失真)的預測結果, 因而衡量一個BP網絡預測模型的性能通常是利用樣本外數據對其進行檢驗.這里利用測試集數據對其進行檢驗, 得到的結果具體見圖5所示.

        圖5可以看出, 總體上GA-BP網絡的預測結果較未優化的BP網絡預測更貼近于真實開盤價, 但兩者的預測精度都不高, 這主要是由于以下原因導致的:①受制于訓練樣本的數量, 網路并未實現對股價波動趨勢的充分學習; ②股票價格的變動不僅關乎公司或企業的經營狀況和盈利水平, 而且還與短期市場上的重大利好利壞消息緊密聯系, 因而網絡對于股價波動幅度大的時段會預測失真.所以在實際的股票投資中, 可以利用本文建立的模型對未來股價的變化趨勢做一個大致的判斷, 如果想實現對股價的精準預測, 還應結合其他預測方法進行綜合考慮.

        2.3.4 模型的對比 為了從進一步從誤差角度來對比優化前后的BP神經網絡的預測結果, 以下作出GA-BP網絡與BP網絡的絕對誤差與相對誤差, 具體如圖6~7所示.

        圖4 訓練集數據預測結果對比Fig.4 Comparison of prediction results of training data

        圖5 測試集數據預測結果對比Fig.5 Comparison of prediction results of testing data

        圖6圖7可以明顯地看出, 無論是對訓練集數據還是對測試集數據來說, GA-BP網絡預測的絕對誤差與相對誤差呈集中簇狀態分布于0界線附近, 而未優化BP網絡預測的絕對誤差與相對誤差呈分散化狀態分布于0界線上下, 總體上說明GA-BP網絡的預測精度要比BP網絡高.

        圖6 訓練集預測絕對誤差與相對誤差對比Fig.6 Comparison of absolute error and relative error in training data

        圖7 測試集預測絕對誤差與相對誤差對比Fig.7 Comparison of absolute error and relative error in testing data

        3 結束語

        本文首先利用具有良好非線性尋優能力的遺傳算法來尋找一組良好的BP網絡權閾值, 然后構建了基于歷史日收盤價、最低價、最高價、成交量、成交額、和漲跌幅為輸入變量, 日開盤價為輸出變量的GA-BP網絡股指預測模型, 最后從絕對誤差與相對誤差角度對比分析了BP網絡優化前后的預測結果, 得出經遺傳算法優化后的BP網絡在對未來股價的趨勢判斷與指數預測方面均得到顯著提高的結論.

        本文中所建立的GA-BP預測模型雖然可以實現對未來股指變化趨勢的大致預測, 但是無法實現對股指的精準預測.這主要是因為股票價格受到眾多不確定性因素的影響, 尤其是當下國內的股票市場仍處于不成熟的發展狀態, 短期內的宏觀經濟、政策意見以及投資者的心理預期等因素都會對股價造成一定程度的影響.所以, 在實際的操盤投資中, 還應綜合考慮各個方面的因素如經營企業的基本面、技術指標等等, 以實現最大收益或規避最大風險的投資目標.

        The authors have declared that no competing interests exist.

        參考文獻
        [1] 李莎, 李紅剛. 股票市場中技術分析有效性的實證研究[J]. 北京師范大學學報: 自然科學版, 2009, 45(2): 212-214.
        LI S, LI H G. Empirical study on the validity of technical analysis in stock market[J]. Journal of Beijing Normal University: Natural Sciences Edition, 2009, 45(2): 212-214. [本文引用:1]
        [2] 張秀云, 郭樹. 股票基本面分析在實戰中的應用[J]. 中國證券期貨, 2011(5): 28-29.
        ZHANG X Y, GUO S. Application of stock fundamental analysis in actual combat[J]. China Securities Futures, 2011(5): 28-29. [本文引用:1]
        [3] ZHANG J, SHAN R, SU W F. Applying time series analysis builds stock price forecast model[J]. Modern Applied Science, 2009, 3(5): 56-59. [本文引用:1]
        [4] 李戰江, 張昊, 孫鵬哲, . 基于ARIMA模型的滬深300股指期貨價格預測研究[J]. 魯東大學學報: 自然科學版, 2013, 29(1): 22-24.
        LI Z J, ZHANG H, SUN P Z, et al. Research on the forecast of shanghai and shenzhen 300 index futures based on ARIMA model[J]. Journal of Ludong University: Natural Sciences Edition, 2013, 29(1): 22-24. [本文引用:1]
        [5] RM Kapila Tharanga Rathnayaka, DMKN Seneviratna, WEI Jianguo. Grey system based novel approach for stock market forecasting[J]. Grey Systems: Theory and Application, 2015, 5(2): 178-193. [本文引用:1]
        [6] 李嵩松, 惠曉峰. 股票指數模糊隨機預測與灰色預測實證比較研究[J]. 哈爾濱工業大學學報: 社會科學版, 2010, 12(5): 1-6.
        LI S S, HUI X F. Study on fuzzy stochastic prediction and gray prediction of stock index[J]. Journal of Harbin Institute of Technology: Social Science Edition, 2010, 12(5): 1-6. [本文引用:1]
        [7] Md Rafiul Hassan. A combination of hidden Markov model and fuzzy model for stock market forecasting[J]. Neurocomputing, 2009, 72(16): 3439-3446. [本文引用:1]
        [8] 劉佳明, 劉海濱. 組合預測模型在股指短期預測中的應用——以上證綜合指數為例的實證分析[J]. 中國商貿, 2014(5): 93-96.
        LIU J M, LIU H B. Application of combination forecasting model in short-term forecast of stock index-an empirical analysis of Shanghai composite index[J]. China Merchants, 2014(5): 93-96. [本文引用:1]
        [9] 黃宏運, 吳禮斌, 李詩爭. BP神經網絡在股票指數預測中的應用[J]. 通化師范學院學報, 2016, 37(5): 32-34.
        HUANG H Y, WU L B, LI S Z. Application of BP neural network in stock index forecasting[J]. Journal of Tonghua Teachers College, 2016, 37(5): 32-34. [本文引用:1]
        [10] CHEN D L, DISSANAYAKA M K N. Seneviratna. Using feed forward BPNN for forecasting all share price index[J]. Journal of Data Analysis and Information Processing, 2014, 2(4): 87-94. [本文引用:1]
        [11] CHEN Q, HUANG K M, YANG X Q, et al. A BP neural network realization in the measurement of material permittivity[J]. Journal of Software, 2011, 66: 1089-1095. [本文引用:1]
        [12] MEN H, ZHANG J, ZHANG L H. Intelligent recognition for microbiologically influenced corrosion based on hilbert-huang transform and BP neural network[J]. Journal of Computers, 2012, 7(9): 2283-2291. [本文引用:1]
        [13] ZHANG H S, XU D P, ZHANG Y . Boundedness and convergence of split-complex back-propagation algorithm with momentum and penalty[J]. Neural Processing Letters, 2014, 39(3): 297-307. [本文引用:1]
        [14] 葛繼科, 邱玉輝, 吳春明, . 遺傳算法研究綜述[J]. 計算機應用研究, 2008, 25(10): 2912-2915.
        GE J K, QIU Y H, WU C M, et al. Journal of computer applications[J] . Application Research of Computers, 2008, 25(10): 2912-2915. [本文引用:1]
        [15] 黃宏運, 吳禮斌, 李詩爭. GA優化的SVM在量化擇時中的應用[J]. 南京師范大學學報: 工程技術版, 2017, 17(1): 1-8.
        HUANG H Y, WU L B, LI S Z. Application of GA-Optimized SVM in quantitative timing[J]. Journal of Nanjing Normal University: Engineering and Technology Edition, 2017, 17(1): 1-8. [本文引用:1]
        [16] 王天娥, 葉德謙. 基于GA的改進型動態網絡在股市預測中的應用[J]計算機技術與發展, 2009, 19(1): 214-216.
        WANG T E, YE D Q. Application of improved dynamic network based on GA in stock market forecasting[J]. Computer Technology and Development, 2009, 19(1): 214-216. [本文引用:1]
        [17] 黃宏運, 吳禮斌, 李詩爭, . 一種改進的IPSO-BP神經網絡在股指預測中的應用—以上證綜指為例[J]. 延邊大學學報: 自然科學版, 2016, 42(4): 351-356.
        HUANG H Y, WU L B, LI S Z, et al. Application of an improved IPSO-BP neural network in stock index forecasting[J]. Journal of Yanbian University: Natural Sciences Edition, 2016, 42(4): 351-356. [本文引用:1]
        幸运快三