吳 峰,謝 聰,謝春美
(1.南寧師范大學師園學院,南寧 530226;2.廣西農(nóng)業(yè)職業(yè)技術大學,南寧 530005;3.南寧理工學院,南寧 530007)
股票市場是構成國家經(jīng)濟的最重要組成部分之一。通過首次公開募股(IPO),公司能夠籌集大量資金來擴展業(yè)務。但是股市動蕩,諸如政治局勢發(fā)展、公司業(yè)績以及其他意外事件之類的日常新聞事件會立即以正面或負面的方式影響股價。結(jié)果,不可能準確地預測股票價格及其方向(漲跌),而投資者只是預測即將到來的短期趨勢。在過去幾年中,發(fā)布速度和每日新聞發(fā)布數(shù)量都激增,這淹沒了投資者徹底評估如此龐大數(shù)據(jù)量的能力。因此,關于股票價格的預測必不可少,因為它會自動評估并顯示即將到來的價格趨勢的預測。目前,常見的股票預測方法包括計量經(jīng)濟學方法和機器學習方法。
計量經(jīng)濟學方法是人們使用統(tǒng)計分析模型基于統(tǒng)計理論預測股票價格的方法。常用的模型是自回歸滑動平均(ARMA),自回歸綜合移動平均(ARIMA)和廣義自回歸條件異方差模型(自回歸條件異方差或GRACH)。盡管計量經(jīng)濟學模型更為客觀并具有良好的理論支持,但它們的優(yōu)勢體現(xiàn)在處理線性數(shù)據(jù)(需要嚴格的基本假設)和股價序列(其是一個復雜的非線性時間序列)上,因此無法獲得最佳的預測結(jié)果。
與計量經(jīng)濟學模型相比,機器學習方法被廣泛用于股票價格預測,因為它們可以直接從數(shù)據(jù)中挖掘有價值的信息,而無需預先制定假設,并且可以更好地處理非線性數(shù)據(jù)。常用的機器學習方法包括決策樹,支持向量機(SVM),支持向量回歸(SVR)和神經(jīng)網(wǎng)絡。其中,神經(jīng)網(wǎng)絡的學習機制使它們具有更強大的學習能力和非線性擬合能力,在股票價格預測領域更具優(yōu)勢。人們避免通過在某種程度上優(yōu)化網(wǎng)絡來使參數(shù)落入局部解中,并通過減少輸入數(shù)據(jù)的維數(shù)來減少訓練開銷并提高模型的預測精度,但是傳統(tǒng)的神經(jīng)網(wǎng)絡通常具有較差的泛化能力和容易出現(xiàn)過度擬合之類的問題。
近年來,隨著大數(shù)據(jù)技術的不斷發(fā)展以及計算機運算能力的提升,深度學習技術受到了國內(nèi)外學者的廣泛關注。與傳統(tǒng)的神經(jīng)網(wǎng)絡相比,深度學習模型層數(shù)更多,特征提取能力更強。以深度神經(jīng)網(wǎng)絡(Deep Neural Networks,DNN)、卷積神經(jīng)網(wǎng)絡(Convolutional Neural Net?works,CNN)、循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)等為代表的深度學習技術,在股票預測領域取得了進展。但由于股票數(shù)據(jù)的復雜性及其存在的長期依賴問題,使傳統(tǒng)的RNN、LSTM模型的預測性能無法進一步提升,因此門控循環(huán)神經(jīng)網(wǎng)絡(Gated Recurrent Neural Network,GRNN)成為了目前股票預測的主流模型。
Kim等提出了一種新的混合長、短期記憶(LSTM)模型來預測股票價格的波動性(GEWLSTM),該模型通過將神經(jīng)網(wǎng)絡模型與多個計量模型而非單個計量模型相結(jié)合,顯著提高了現(xiàn)有文獻的預測性能。Baek等基于ModAug?Net框架提出了一種用于股票市場指數(shù)預測的新穎數(shù)據(jù)增強方法,該框架包括兩個模塊:過度擬合預防LSTM模塊和預測LSTM模塊。在實驗中,使用兩個不同的代表性股票市場數(shù)據(jù)(S&P500和韓國綜合股票價格指數(shù)200(KOSPI200))評估了模型的性能。Zhang等將神經(jīng)網(wǎng)絡和BP算法結(jié)合起來應用于股票價格模式的分類和預測。該方法為投資者提供了一定的股票預測價值,使政府在宏觀調(diào)控中更加活躍。Si等提出了一個新的股票市場預測框架NuNet,它可以從超高維時間序列數(shù)據(jù)中成功學習高級特征,采用了一種小批量抽樣技術在訓練時抽樣更多的最新數(shù)據(jù),采用了一種新穎的正則化方法用于卷積神經(jīng)網(wǎng)絡的數(shù)據(jù)增強。實驗結(jié)果表明,NuNet優(yōu)于所有基線模型。
為了進一步減小股票價格的預測誤差,本文提出了一種基于差分變異GRU的股票預測算法(DMGRU)。該算法通過引入差分進化算法并結(jié)合門控循環(huán)單元(Gated Recurrent Unit,GRU)神經(jīng)網(wǎng)絡對標普500指數(shù)、上證指數(shù)、A股指數(shù)進行預測。在實驗中,本文首先分析了DE算法標度因子的敏感性以及不同的變異策略和種群規(guī)模對DMGRU算法的影響,然后通過與其他算法模型的比較,驗證了DMGRU算法的有效性。
GRU屬于LSTM神經(jīng)網(wǎng)絡的變種,由Chung等首次提出。它較之LSTM,升級了門控制結(jié)構,同時把LSTM里的輸入門、遺忘門整合成了z 門(Update Gate),此外,還用r 門將LSTM的輸出門進行了替換。其中,z 主要作用是幫助模型進行新輸入信息的過往數(shù)據(jù)歸納,而r 主要影響前一步驟中狀態(tài)信息輸入模型的概率。因為神經(jīng)網(wǎng)絡中門的數(shù)量從3個變成了2個,具體參數(shù)被有效降低了,所以無形中節(jié)省了訓練時間。
GRU神經(jīng)網(wǎng)絡的訓練公式如下:
從式(1)~(4)能夠獲知:如果r 恒等于1同時z 等于0的話,GRU將直接演變成簡潔的RNN模型。
差分進化算法(Differential evolution,DE)是Store在1995年提出的一種基于種群演化的群體智能算法。作為一種高效的全局優(yōu)化算法,到目前為止已經(jīng)有了很多DE變異操作,本文主要介紹以下兩種DE變異算子:
算子1:
算子2:
式(7)和(8)中,x代表目標個體,v代表變異個體,代表種群中最佳個體。x、x、x和x為除x外的不同的個體(≠≠≠≠∈[1,],為種群大?。?。參數(shù)用來控制變異個體中差分向量的影響。
正常情況下,差分進化算法中對個體進行變異操作后需要進行交叉操作及選擇操作,但是這會在一定程度上增加算法的復雜度,不利于差分進化算法與神經(jīng)網(wǎng)絡的結(jié)合,為此本文在后續(xù)提出的DMGRU算法中并未使用交叉操作及選擇操作。
從上述兩個變分公式(7)和(8)可以看出,這些變異運算的區(qū)別主要在于差分向量本身,以及差分向量的個數(shù)。差分進化是一種穩(wěn)健的進化算法,它可以多種方式與神經(jīng)網(wǎng)絡相結(jié)合。通過使用不同的變分算子,差分進化可以對神經(jīng)網(wǎng)絡具有不同的廣度探索能力和局部開發(fā)能力。
到現(xiàn)在為止,利用進化算法優(yōu)化神經(jīng)網(wǎng)絡權重的研究成果很多。由于神經(jīng)網(wǎng)絡權重存在維度災難,所以采用小規(guī)模網(wǎng)絡、多目標優(yōu)化、超參數(shù)優(yōu)化、權重降維等間接進化的方式優(yōu)化網(wǎng)絡權重?,F(xiàn)在還沒有通過差分變異梯度的方式優(yōu)化神經(jīng)網(wǎng)絡權重的研究,而變異策略是差分進化過程中非常重要的過程。選擇合適的變異操作是差分進化算法結(jié)合GRU神經(jīng)網(wǎng)絡進行梯度優(yōu)化的關鍵。GRU神經(jīng)網(wǎng)絡的權重維度較多,如果直接使用差分進化進行變異操作,并不能使進化算法的特點發(fā)揮出來。使用梯度進行差分操作,生成新的梯度進行權重更新,可以避免這種現(xiàn)象。這樣一來,不僅可以通過進化生成更好的梯度,還可以更新原有的權重。因此,本文提出了一種基于差分變異GRU的股票預測算法(DMGRU),利用差分進化的變異操作來尋找更好的梯度,用于權重更新,利用權重更新后的GRU神經(jīng)網(wǎng)絡進行股票價格預測。
DMGRU模型是一種利用差分進化變異算子優(yōu)化GRU梯度的股票預測算法。DMGRU模型中的變異操作來自于差分進化算法,下面將詳細算法實現(xiàn)過程。
如圖1所示,首先對原始股票數(shù)據(jù)進行預處理以進行平滑和正則化,將處理后的數(shù)據(jù)切割成多個批次;然后根據(jù)固定的批次大小將數(shù)據(jù)輸入GRU。從這里開始,將執(zhí)行DE算法。第一步是初始化種群,具體地說,將多個GRU訓練后的梯度組成一個種群并保存下來,然后利用變異操作將群體中的梯度個體變異成新的梯度,最后利用變異后的梯度和原始GRU權值進行權值更新,同時將更新后的權值分配給GRU算法進行下一輪進化。DMGRU模型中的權值更新采用梯度下降為主、進化為輔的策略,使DMGRU在變異算子的指導下找到當前權值更新的最優(yōu)梯度,然后對GRU算法進行優(yōu)化,這樣使得模型的預測結(jié)果更加準確穩(wěn)定。
圖1 DMGRU股票預測框架圖
DMGRU模型主要用于預測股指次日的收盤價。具體來說,它利用GRU模型的內(nèi)在特征來學習股票數(shù)據(jù)的時間序列特征,從而在現(xiàn)有規(guī)則的基礎上預測次日的收盤價。在DMGRU模型中,采用多種差分變異算子進行變異,變異后的個體進行權值更新,并將更新后的權值分配給GRU模型,然后開始新一輪的進化操作。與原GRU算法不同,DMGRU模型采用變異算子指引,變異個體(梯度)可以幫助權重找到更好的值,使生成的股票數(shù)據(jù)更接近真實值,從而使股票預測精度更高,預測趨勢更穩(wěn)定有效。DMGRU模型的算法偽代碼如下。
算法1:DMGRU股票算法
Input:種群大小P,初始權重,DE中的參數(shù),批次數(shù)據(jù)data ,總批次p
Output:下一日的收盤價
F=,=
初始化模型權重
For=1 to p
為驗證DMGRU股票預測算法的性能,本文使用標普500指數(shù)、上證指數(shù)和A股指數(shù)來進行DE算法中伸縮因子F的敏感性分析、不同變異策略和種群規(guī)模大小對DMGRU的影響分析以及DMGRU算法與其他算法的對比分析。同時為了更加全面地評價和比較DMGRU算法的性能,采用平均絕對值誤差()、平均絕對值百分比誤差()、均方誤差()和R平方()作為實驗結(jié)果的評價指標。
在實驗中,為了能夠保證DMGRU算法始終有效地進行預測,將種群大小設為4、6和8,用字母表示。
為了分析DMGRU在不同變異策略和種群規(guī)模下的性能差異,設計了一個新的實驗進行比較研究。為了確保不同變異策略和種群大小之間實驗比較的公平性,GRU的參數(shù)完全一致,并且均使用上證指數(shù)進行實驗。
從表1可以看出,在不同突變策略和種群規(guī)模下,當DMGRU模型采用算子1和算子2的變異策略時,種群數(shù)量選擇4的情況下模型效果最好。隨著種群數(shù)量的增加(=4,6,8),DMGRU模型的性能逐漸下降,這表明在使用算子1和算子2的情況下,DMGRU模型中基于差分變異產(chǎn)生的新的梯度逐漸偏離最優(yōu)解,并且當=6時模型性能開始下降。出現(xiàn)這種情況的原因和DMGRU模型的設計有關,當選擇變異個體的時候,未被選中的個體將會被拋棄,這會在一定程度上導致該模型的欠擬合,因此DMGRU模型的種群設置不能太大。
表1 DMGRU在上證指數(shù)上不同變異策略和種群規(guī)模大小的對比實驗
此外也可以看出,當使用算子2時,DMGRU模型在種群規(guī)模(=4,6,8)下都有相對于使用算子1時更好的預測結(jié)果。這主要是因為DMGRU的設計目的在于利用差分進化算法的探索能力,雖然算子1和算子2的搜索能力相同(差分向量的個數(shù)相同),但算子2的探索能力都比算子1好,因此當使用運算符2時,DMGRU的性能比使用運算符1時要好。
因此,在下面DMGRU算法的訓練過程中將優(yōu)先使用探索能力較強的變異策略(算子2),并且將種群大小設置為=4。
在DMGRU模型中,伸縮因子是一個非常重要的參數(shù)。每次變異時,差分向量的可伸縮性由控制,同時也可以控制種群個體在權重空間中的搜索步長。因此,參數(shù)的選取對DMGRU模型的性能有很大的影響。
為了研究DMGRU模型中參數(shù)對模型性能的影響,實驗中分別將設置為0.1到1.0內(nèi)的值進行比較。圖2給出了不同數(shù)據(jù)集(上證指數(shù)、A股指數(shù)、標準普爾500指數(shù))的DMGRU(運算符2,=4)模型的性能指標。
從圖2可以看出,DMGRU模型對參數(shù)F是敏感的,不同的數(shù)據(jù)集和模型對值的敏感度不同。其中,DMGRU對上證指數(shù)和A股指數(shù)更為敏感,特別是在=1.0時,DMGRU受的影響最大,性能表現(xiàn)最差。這是由于搜索步長擴大導致梯度嚴重偏離最優(yōu)解附近所致。的值在[0.3,0.6]范圍內(nèi)時,DMGRU模型的性能最優(yōu)。
圖2參數(shù)F對DMGRU模型的M A E、MAPE和M S E指標值的敏感度分析
為驗證DMGRU算法的有效性,將DMGRU模型與RNN、LSTM、DMLSTM、GRU模型在不同指數(shù)(上證指數(shù)、A股指數(shù)和標準普爾500指數(shù))上進行對比實驗。表2給出了各個模型在標普500指數(shù)上的評價指標對比結(jié)果,圖3、圖4分別給出了各個模型在上證指數(shù)和A股指數(shù)的評價指標對比結(jié)果。
表2 各模型在標普500指數(shù)上的評價指標對比結(jié)果
圖3 各預測模型在上證指數(shù)上的對比實驗結(jié)果
圖4 各預測模型在A股票指數(shù)上的對比實驗結(jié)果
從表2可以看出,DMGRU在標普500指數(shù)上預測結(jié)果的評價指標相對于RNN、LSTM、DMLSTM、GRU模型分別降低了310、278、204、95,評價指標相對于RNN、LSTM、DMLSTM、GRU模型分別降低了0.14、0.11、0.09、0.04,評價指標相對于RNN、LSTM、DMLSTM、GRU模型分別降低了3.7、3.41、2.64、1.38,R則都要大于另外四種模型。圖3、圖4中,DMGRU模型在上證指數(shù)和A股指數(shù)上的預測結(jié)果同樣優(yōu)于其他模型。分別相對于GRU和LSTM模型,DMGRU和DMLSTM由于利用了DE算法生成的權重進行預測,使得預測結(jié)果更加準確,這充分說明了DMGRU算法是有效的。
本文提出了一種基于差分變異GRU(DMGRU)梯度的股票預測算法。該算法利用DE算法變異操作生成新的梯度來更新GRU神經(jīng)網(wǎng)絡的模型權值。由于變異過程結(jié)合了不同個體的梯度,利用變異后的新梯度進行權值更新,使得模型預測結(jié)果更加準確、趨勢更加穩(wěn)定。在實驗中,本文首先分析了DMGRU模型在不同的變異策略和種群規(guī)模下的預測性能,結(jié)果表明,當選擇變異算子2和種群規(guī)模為4時,該模型的預測效果最好;然后對DE算法伸縮因子的敏感性進行了分析,結(jié)果表明,當值在[0.3,0.6]范圍內(nèi)時,該模型具有最好的預測性能;最后,將DMGRU模型與RNN、LSTM、DMLSTM和GRU模型在標普500指數(shù)、上證指數(shù)和A股指數(shù)上進行了對比預測實驗,結(jié)果表明,DMGRU模型預測效果均是最好的。