姚 遠(yuǎn),張朝陽
河南大學(xué) 管理科學(xué)與工程研究所,河南 開封475004
股指價(jià)格預(yù)測(cè)一直是國(guó)內(nèi)外學(xué)術(shù)的焦點(diǎn),但是股票市場(chǎng)受到宏觀經(jīng)濟(jì)政策、政治、投資心理和新聞?shì)浾摰却罅恳蛩氐挠绊?,具有高噪聲、非平穩(wěn)、非線性等特點(diǎn),所以股票市場(chǎng)較難預(yù)測(cè)。國(guó)內(nèi)外許多學(xué)者曾對(duì)時(shí)間序列預(yù)測(cè)模型進(jìn)行研究,提出很多預(yù)測(cè)股票市場(chǎng)的模型。目前主要存在兩大類模型,一類是傳統(tǒng)計(jì)量模型,如ARMA、ARIMA和GARCH等模型[1-4],但是對(duì)一些高噪聲、非平穩(wěn)、非線性的時(shí)間序列預(yù)測(cè)精度較低。另一類是人工智能模型,近年來,由于人工智能技術(shù)快速發(fā)展,在金融界得到廣泛應(yīng)用。機(jī)器學(xué)習(xí)算法中的神經(jīng)網(wǎng)絡(luò)模型非常適合非平穩(wěn)、非線性數(shù)據(jù)的建模[5-6],作為神經(jīng)網(wǎng)絡(luò)的一種,循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)則非常適合時(shí)間序列預(yù)測(cè),理論上也能夠?qū)W習(xí)任意長(zhǎng)度的時(shí)間序列,但由于存在梯度消失問題,實(shí)際中并不能學(xué)習(xí)較長(zhǎng)的時(shí)間序列[7]。Hochreiter等人[8]提出了長(zhǎng)短期人工神經(jīng)網(wǎng)絡(luò)(Long-Short-Term Memory,LSTM),相比普通RNN神經(jīng)網(wǎng)絡(luò),LSTM神經(jīng)網(wǎng)絡(luò)模型引入了門控機(jī)制,解決了梯度消失問題,能學(xué)習(xí)較長(zhǎng)的時(shí)間序列,在時(shí)間序列預(yù)測(cè)領(lǐng)域得到廣泛應(yīng)用[9-11]。由于大多金融時(shí)間序列具有高噪聲等特點(diǎn),在金融時(shí)間序列預(yù)測(cè)領(lǐng)域,LSTM神經(jīng)網(wǎng)絡(luò)結(jié)合其他模型可以得到精度更高的預(yù)測(cè)結(jié)果。景楠等人[12]將卷積神經(jīng)網(wǎng)絡(luò)(CNN)和LSTM神經(jīng)網(wǎng)絡(luò)模型結(jié)合在一起,利用CNN神經(jīng)網(wǎng)絡(luò)模型從時(shí)間序列中提取空間特征,將提取的特征輸入LSTM,并在LSTM輸出端引入注意力機(jī)制對(duì)滬銅期貨高頻價(jià)格進(jìn)行預(yù)測(cè),得到了預(yù)測(cè)精度更高的混合模型。Bao等人[13]將小波變換(WT)、堆疊自編碼機(jī)(SAEs)和LSTM神經(jīng)網(wǎng)絡(luò)模型結(jié)合在一起,利用小波變換對(duì)股指價(jià)格時(shí)間序列進(jìn)行去噪,然后利用堆疊自編碼機(jī)學(xué)習(xí)股指價(jià)格時(shí)間序列的深度特征,最后將提取的特征輸入LSTM神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)測(cè),實(shí)驗(yàn)結(jié)果顯示預(yù)測(cè)精度得到顯著提升。Zhang等人[14]把股價(jià)時(shí)間序列看作不同交易頻率的疊加,對(duì)LSTM神經(jīng)網(wǎng)絡(luò)模型內(nèi)部結(jié)構(gòu)進(jìn)行修改,將DFT算法融入LSTM神經(jīng)網(wǎng)絡(luò)模型,預(yù)測(cè)精度得到較大提升,但此類模型網(wǎng)絡(luò)深、參數(shù)多、復(fù)雜度高等特點(diǎn),決策過程難以理解。Cho等人[15]在LSTM神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上提出門控循環(huán)單元(Gated Recurrent Unit,GRU)。GRU神經(jīng)網(wǎng)絡(luò)相比LSTM神經(jīng)網(wǎng)絡(luò)僅包含“更新門”和“復(fù)位門”兩個(gè)門控結(jié)構(gòu),并且融合了LSTM神經(jīng)網(wǎng)絡(luò)中的“細(xì)胞狀態(tài)”和“隱藏狀態(tài)”,因此GRU神經(jīng)網(wǎng)絡(luò)中訓(xùn)練參數(shù)更少,更不容易過擬合,并保持了LSTM神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果。因?yàn)镚RU神經(jīng)網(wǎng)絡(luò)的優(yōu)良特性,因此在越來越多的領(lǐng)域得到應(yīng)用。如Umut等人[16]將GRU神經(jīng)網(wǎng)絡(luò)應(yīng)用于電力價(jià)格預(yù)測(cè),實(shí)驗(yàn)結(jié)果表明GRU神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度優(yōu)于所有基準(zhǔn)模型。趙兵等人[17]結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(CNN)和GRU神經(jīng)網(wǎng)絡(luò),并將注意力機(jī)制融入網(wǎng)絡(luò)中,提出基于注意力機(jī)制的CNN-GRU模型,最后將提出的模型應(yīng)用于短期電力負(fù)荷預(yù)測(cè)中,實(shí)驗(yàn)結(jié)果表明CNN-GRU模型具有更高的預(yù)測(cè)精度。但是金融領(lǐng)域需要的不僅僅是高精度模型,同時(shí)更關(guān)注模型的可解釋性,因此提高神經(jīng)網(wǎng)絡(luò)模型的可解釋性也成為當(dāng)前人工智能領(lǐng)域的新課題。
在混合模型中,有一類是利用信號(hào)分解算法將時(shí)間序列分解為不同頻率的序列,然后分別預(yù)測(cè)分解出的各個(gè)序列使預(yù)測(cè)精度得到提升。如郭金錄[18]利用變分模態(tài)分解(VMD)和集合經(jīng)驗(yàn)?zāi)B(tài)分解(EEMD)技術(shù)將滬深300指數(shù)價(jià)格時(shí)間序列分解為不同頻率的時(shí)間序列,然后利用LSTM神經(jīng)網(wǎng)絡(luò)模型分別進(jìn)行預(yù)測(cè),最后將預(yù)測(cè)結(jié)果相加得出股指的預(yù)測(cè)值。實(shí)驗(yàn)結(jié)果表明,與其他基準(zhǔn)模型比較,精度得到顯著提升。但是在此類模型當(dāng)中,較難分析分解出的各個(gè)序列的實(shí)際意義,可解釋性仍然較差。另一類模型則將傳統(tǒng)計(jì)量模型和神經(jīng)網(wǎng)絡(luò)模型結(jié)合,既提高了模型預(yù)測(cè)精度,同時(shí)也提高了模型的可解釋性。如Kim等人[19]將LSTM神經(jīng)網(wǎng)絡(luò)模型和GARCH模型整合在一起,提出LSTM-GARCH混合模型,并將模型用于股指價(jià)格波動(dòng)率預(yù)測(cè),實(shí)驗(yàn)結(jié)果顯示,相比單一GARCH模型,預(yù)測(cè)精度得到顯著提升。Bukhari等人[20]將ARFIMA模型和LSTM神經(jīng)網(wǎng)絡(luò)模型結(jié)合在一起,提出ARFIMA-LSTM模型,并將其用于金融時(shí)間序列預(yù)測(cè),與單一ARIMA和LSTM神經(jīng)網(wǎng)絡(luò)模型相比,預(yù)測(cè)精度得到提升。此類模型在提高了預(yù)測(cè)精度的同時(shí),融合傳統(tǒng)計(jì)量模型,相比將不同的機(jī)器學(xué)習(xí)模型或者信號(hào)處理算法融合起來的混合模型,降低了模型的復(fù)雜性,提高了模型的可解釋性。
由于股指價(jià)格會(huì)受到不同因素的影響,有研究將股指價(jià)格時(shí)間序列分解為不同頻率的子序列,并分別對(duì)其進(jìn)行預(yù)測(cè)以提高預(yù)測(cè)精度。HP濾波(Hodrick-Prescott Filter)是由Hodrick和Prescott提出的一種研究經(jīng)濟(jì)運(yùn)行的一種濾波方法,它將經(jīng)濟(jì)運(yùn)行看作長(zhǎng)期趨勢(shì)和短期波動(dòng)的疊加,被廣泛用于經(jīng)濟(jì)學(xué)研究中[21-24]。HP濾波除了可以用于宏觀經(jīng)濟(jì)分析,一些研究也將HP濾波用于微觀經(jīng)濟(jì)變量預(yù)測(cè)當(dāng)中。如姚遠(yuǎn)等人[25]使用HP濾波將已實(shí)現(xiàn)波動(dòng)率分解為長(zhǎng)期分量和短期分量,然后使用自回歸神經(jīng)網(wǎng)絡(luò)(ARXNN)預(yù)測(cè)長(zhǎng)期分量,使用自回歸模型預(yù)測(cè)短期分量,實(shí)證結(jié)果顯示預(yù)測(cè)精度得到顯著提升;周亮[26]利用HP濾波將人民幣匯率序列分解為趨勢(shì)項(xiàng)和周期項(xiàng),分別利用ARIMA模型和機(jī)器學(xué)習(xí)模型對(duì)其進(jìn)行預(yù)測(cè),實(shí)驗(yàn)結(jié)果顯示預(yù)測(cè)結(jié)果比單一模型更加精確;楊建輝等人[27]利用HP濾波將股價(jià)時(shí)間序列分解為長(zhǎng)期趨勢(shì)序列和短期波動(dòng)序列,然后通過高階自回歸和GARCH模型對(duì)分解出的序列進(jìn)行預(yù)測(cè),得到了精度較高的預(yù)測(cè)結(jié)果。由于大多數(shù)基于HP濾波的預(yù)測(cè)模型都使用了傳統(tǒng)計(jì)量模型對(duì)分解出的序列進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果雖具有較高的可解釋性和實(shí)際含義,但預(yù)測(cè)精度相對(duì)不高,實(shí)際利用價(jià)值不高。
股指價(jià)格時(shí)間序列具有高噪聲、非線性、非平穩(wěn)等特點(diǎn),而LSTM神經(jīng)網(wǎng)絡(luò)模型對(duì)此類時(shí)間序列預(yù)測(cè)精度較高,因此本文引入HP濾波器,將股指價(jià)格時(shí)間序列分解為長(zhǎng)期趨勢(shì)序列和短期波動(dòng)序列,使用LSTM神經(jīng)網(wǎng)絡(luò)模型分別對(duì)長(zhǎng)期分量和短期分量進(jìn)行預(yù)測(cè),最后將兩個(gè)預(yù)測(cè)值相加得到股指價(jià)格預(yù)測(cè)值,實(shí)驗(yàn)結(jié)果表明本文提出的模型相比單一神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)精度有較大提升。因?yàn)殚L(zhǎng)期趨勢(shì)序列和短期波動(dòng)序列分別代表原時(shí)間序列的長(zhǎng)期特征和短期特征,具有一定的實(shí)際經(jīng)濟(jì)含義,因此模型的可解釋性也得到了提升。
Hodrick-Prescott濾波(HP濾波)是由Hodrick和Prescott于1980年提出,隨后被廣泛應(yīng)用于經(jīng)濟(jì)分析中。HP濾波假設(shè)經(jīng)濟(jì)運(yùn)行是長(zhǎng)期變動(dòng)和短期波動(dòng)的結(jié)合,將時(shí)間序列Y={y1,y2,…,yT}分解為兩個(gè)子序列,即長(zhǎng)期趨勢(shì)序列G={g1,g2,…,gT}和短期波動(dòng)序列S={s1,s2,…,sT}。其中長(zhǎng)期趨勢(shì)序列g(shù)t,t=1,2,…,T,通過最小化下式得出:
其中,T表示時(shí)間序列yt的樣本個(gè)數(shù),λ大于0,稱為平滑參數(shù)。表示兩項(xiàng)的權(quán)重。當(dāng)λ=0時(shí),滿足最小化問題的長(zhǎng)期趨勢(shì)序列G等于原序列Y。λ的值越大,長(zhǎng)期趨勢(shì)序列中的變化總數(shù)相對(duì)于原序列中的變化減小,即λ越大,分離出的長(zhǎng)期趨勢(shì)序列越平滑。當(dāng)λ趨于無窮大時(shí),長(zhǎng)期趨勢(shì)序列將接近線性函數(shù)。短期波動(dòng)序列可以通過原時(shí)間序列減去長(zhǎng)期趨勢(shì)序列得出,即S=Y-G。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是神經(jīng)網(wǎng)絡(luò)的一種,可以根據(jù)時(shí)間序列中的前一個(gè)觀測(cè)值來預(yù)測(cè)下一個(gè)時(shí)刻的值。RNN一次處理一個(gè)時(shí)間序列中的觀測(cè)值,在隱藏層中通過不斷調(diào)整一個(gè)“狀態(tài)向量”來儲(chǔ)存時(shí)間序列中的歷史信息。雖然RNN的目標(biāo)是學(xué)習(xí)時(shí)間序列中的歷史信息,但是因?yàn)镽NN使用反向傳播算法,會(huì)遇到梯度消失問題,所以RNN不適合處理較長(zhǎng)的時(shí)間序列。長(zhǎng)短期人工神經(jīng)網(wǎng)絡(luò)(LSTM)是RNN的一種變體,解決了訓(xùn)練過場(chǎng)中遇到的梯度消失問題,因此可以處理較長(zhǎng)的時(shí)間序列。LSTM相比標(biāo)準(zhǔn)RNN增加了輸入門(input gate)、忘記門(forget gate)和輸出門(output gate)三個(gè)門控單元,LSTM體系結(jié)構(gòu)如圖1所示。
圖1 長(zhǎng)短期人工神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)Fig.1 Structure of Long-Short-Term Memory
其中,xt表示在t時(shí)刻的輸入向量,W和U表示輸入權(quán)重向量,b為偏置向量,⊙表示哈達(dá)馬積(Hadamard product)。函數(shù)σ和tanh都為非線性激活函數(shù)。激活函數(shù)σ通常為Sigmoid函數(shù),所以輸出ft在[]0,1之間,表示遺忘前一時(shí)刻的Ct-1的概率。Ct由兩部分組成,第一部分是,即輸入門,第二部分為ft⊙Ct-1,兩部分相加來得到Ct。ht由兩部分組成,第一部分為ot,它由前一時(shí)刻的ht-1和現(xiàn)在的輸入向量xt以及Sigmoid函數(shù)組成,第二部分由Ct-1和tanh激活函數(shù)組成,即
股指價(jià)格時(shí)間序列受到長(zhǎng)期經(jīng)濟(jì)政策和短期交易行為的影響,并具有高噪聲、非平穩(wěn)、非線性等特點(diǎn)。短期預(yù)測(cè)更多地依賴短期波動(dòng)數(shù)據(jù),而長(zhǎng)期預(yù)測(cè)應(yīng)更多地運(yùn)用長(zhǎng)期趨勢(shì)數(shù)據(jù)。而且為了在提高模型精度的同時(shí)不過度增加模型的復(fù)雜度,使模型具有較高的性能和可解釋性,本文提出HP-LSTM模型,首先運(yùn)用HP濾波將股指的開盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)和交易量等5個(gè)指標(biāo)的時(shí)間序列分解為長(zhǎng)期趨勢(shì)子序列和短期波動(dòng)子序列,然后運(yùn)用LSTM神經(jīng)網(wǎng)絡(luò)模型分別對(duì)兩個(gè)子序列進(jìn)行預(yù)測(cè)建模。本文中將用于預(yù)測(cè)長(zhǎng)期趨勢(shì)序列的LSTM神經(jīng)網(wǎng)絡(luò)模型稱為L(zhǎng)STM-L,將用于預(yù)測(cè)短期波動(dòng)序列的LSTM神經(jīng)網(wǎng)絡(luò)模型成為L(zhǎng)STM-S,詳細(xì)建模步驟如下:
(1)將原始股指數(shù)據(jù)通過HP濾波進(jìn)行分解,得到長(zhǎng)期趨勢(shì)序列和短期波動(dòng)序列。
(2)為了加快神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,消除不同指標(biāo)的不同量綱對(duì)結(jié)果的影響,將上步分解得到的時(shí)間序列進(jìn)行歸一化處理。
(3)利用滑動(dòng)窗口法對(duì)數(shù)據(jù)處理,生成適合輸入LSTM神經(jīng)網(wǎng)絡(luò)模型的數(shù)據(jù)集,并將生成的數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,在訓(xùn)練集中訓(xùn)練模型,驗(yàn)證集中調(diào)整參數(shù)。
(4)將測(cè)試集中的長(zhǎng)期趨勢(shì)序列和短期波動(dòng)序列分別輸入訓(xùn)練好的LSTM-L和LSTM-S中進(jìn)行預(yù)測(cè),得到兩個(gè)序列的預(yù)測(cè)結(jié)果。
(5)將步驟(4)中得到的兩個(gè)序列的預(yù)測(cè)結(jié)果進(jìn)行反歸一化處理,然后疊加得到最終預(yù)測(cè)結(jié)果。模型結(jié)構(gòu)如圖2所示。
本次研究在Windows10x64操作系統(tǒng)下進(jìn)行,使用的Python版本為3.7,模型搭建在支持GPU的Tensor-Flow框架下完成,TensorFlow版本為2.3.1。CPU為Intel?CoreTMi5-7300HQ,GPU為NVIDIA GeForce GTX 1050,內(nèi)存為8 GB。
本文使用的數(shù)據(jù)來自CSMAR數(shù)據(jù)庫,采用上證綜指、深證成指和滬深300三個(gè)股指數(shù)據(jù),時(shí)間跨度為2009年1月1日至2019年12月31日,選取每日開盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)和交易量5個(gè)特征,每種股指共擁有2 675條有效數(shù)據(jù)。
運(yùn)用HP濾波之前必須選取一個(gè)合適的平滑參數(shù)λ,不同的平滑參數(shù)決定了不同的長(zhǎng)期趨勢(shì)和短期波動(dòng),根據(jù)此前相關(guān)研究[26-28],本文中將λ值設(shè)定為100。為了加快神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,消除不同指標(biāo)的不同量綱對(duì)結(jié)果造成的影響,本文采用線性歸一化函數(shù)對(duì)數(shù)據(jù)進(jìn)行歸一化:
其中,Pn表示時(shí)間序列中第n個(gè),maxPn和minPn分別是時(shí)間序列Pn中的最大值和最小值,為了使預(yù)測(cè)數(shù)據(jù)仍然具有實(shí)際意義,需要對(duì)預(yù)測(cè)數(shù)據(jù)進(jìn)行反歸一化:
其中,maxclose和minclose分別為收盤價(jià)中的最大值和最小值為第n個(gè)預(yù)測(cè)值為第n個(gè)反歸一化后的預(yù)測(cè)值。圖3為對(duì)選取的深證成指每個(gè)指標(biāo)歸一化后進(jìn)行HP濾波分解的結(jié)果。
圖3 HP濾波分解結(jié)果Fig.3 Decomposition result of HP filter
為了評(píng)價(jià)模型預(yù)測(cè)效果,本文選取均方根誤差(Root Mean Square Error,RMSE)、平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE)和R2score(R2決定系數(shù))作為評(píng)價(jià)指標(biāo)。RMSE、MAPE和R2score的計(jì)算公式如下所示:
其中,N為預(yù)測(cè)樣本個(gè)數(shù),yi和分別表示真實(shí)值和預(yù)測(cè)值為預(yù)測(cè)值的平均值。其中RMSE和MAPE越小說明模型的預(yù)測(cè)效果越好,R2score的取值在0到1之間,越接近1說明模型的擬合效果越好。
神經(jīng)網(wǎng)絡(luò)模型由輸入層、LSTM層、一層全連接層和輸出層組成。本文由前10天的數(shù)據(jù)預(yù)測(cè)第11天的收盤價(jià),所以設(shè)置LSTM層的時(shí)間步長(zhǎng)為10,LSTM層使用的激活函數(shù)為tanh函數(shù),全連接層使用的激活函數(shù)為線性激活函數(shù),批尺寸(batchsize)設(shè)置為32,使用的目標(biāo)優(yōu)化函數(shù)為均方誤差(Mean Square Error,MSE),使用的優(yōu)化器為亞當(dāng)優(yōu)化器(Adam)。通過網(wǎng)格搜索法,神經(jīng)網(wǎng)絡(luò)層數(shù)從1層到4層間隔為1依次遞增,每層神經(jīng)元個(gè)數(shù)從1到200,間隔為5依此遞增,每種結(jié)構(gòu)運(yùn)行50次得到驗(yàn)證誤差平均數(shù),最終確認(rèn)的LSTM-L和LSTM-S的詳細(xì)超參數(shù)如表1所示。因?yàn)镠P濾波分解得到的長(zhǎng)期趨勢(shì)序列和短期波動(dòng)序列具有不同的特征,而LSTM-S預(yù)測(cè)的是短期波動(dòng)序列,相比長(zhǎng)期趨勢(shì)序列波動(dòng)頻率更大,結(jié)構(gòu)更加復(fù)雜,神經(jīng)網(wǎng)絡(luò)層數(shù)或者每層的神經(jīng)元個(gè)數(shù)過多都將會(huì)導(dǎo)致過擬合,導(dǎo)致在驗(yàn)證集中的誤差增大,因此LSTM-S的層數(shù)和每層神經(jīng)元個(gè)數(shù)均少于LSTM-L。其中LSTM-L和LSTM-S的訓(xùn)練誤差和驗(yàn)證誤差如圖4所示,臨近訓(xùn)練結(jié)束時(shí)模型LSTM-L和LSTM-S的訓(xùn)練誤差和驗(yàn)證誤差都非常接近,說明模型沒有過擬合或欠擬合。
表1 模型參數(shù)Table 1 Model parameter
圖4 模型的訓(xùn)練誤差和驗(yàn)證誤差Fig.4 Training error and validation error of model
2.6.1 單一模型預(yù)測(cè)效果分析
本文將HP濾波分解和歸一化后的數(shù)據(jù)按照3∶1∶1的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,使用2.4節(jié)提出的指標(biāo)衡量模型的預(yù)測(cè)精度,并與LSTM、RNN、GRU等基準(zhǔn)模型進(jìn)行對(duì)比。同時(shí)為便于之后與只適合輸入一種特征的混合模型比較,在本小節(jié)中也測(cè)試了僅將收盤價(jià)作為輸入特征情況下的模型精度。
在深證成指數(shù)據(jù)的實(shí)驗(yàn)中,從表2中得出,輸入開盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)、交易量等5個(gè)特征的情況下,模型的預(yù)測(cè)效果從差到好依次為RNN、LSTM、GRU、HP-LSTM。HP-LSTM模型在測(cè)試集得到的三個(gè)指 標(biāo) 的RMSE、MAPE和R2score分 別 為101.214 8、0.836 3%、0.992 6,均優(yōu)于單一的LSTM、GRU和RNN。相比次優(yōu)的GRU模型,LSTM模型結(jié)合了HP濾波后,RMSE減少了28.31%,MAPE減少了26.31%,R2score從0.986 2提高至0.992 6。在僅將收盤價(jià)作為輸入特征的情況下,HP-LSTM模型預(yù)測(cè)精度相比基準(zhǔn)模型也有顯著提升。因?yàn)樵趦煞N不同的輸入特征的情況下,各個(gè)模型的預(yù)測(cè)精度大致相同,因此圖5中只顯示了輸入特征為開盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)、交易量的預(yù)測(cè)結(jié)果,可以觀察到,單一的LSTM、GRU和RNN模型相比HP-LSTM模型存在明顯的滯后。
圖5 預(yù)測(cè)結(jié)果Fig.5 Results of prediction
表2 HP-LSTM及基準(zhǔn)模型測(cè)試誤差Table 2 Test error of HP-LSTM and benchmark model
2.6.2 混合模型預(yù)測(cè)效果分析
因?yàn)榇蟛糠只旌夏P偷念A(yù)測(cè)性能相比單一模型均有一定提升,且本文提出的HP-LSTM模型為混合模型,為使實(shí)驗(yàn)結(jié)果更具可比性,因此將HP-LSTM模型與其他基于HP濾波的混合模型進(jìn)行比較。經(jīng)查閱文獻(xiàn)可知[25-26],部分研究使用機(jī)器學(xué)習(xí)模型預(yù)測(cè)HP濾波分解出的其中一個(gè)子序列,使用計(jì)量模型預(yù)測(cè)另一子序列,且預(yù)測(cè)精度較高。因此將HP-LSTM-ARIMA、HP-ARIMA-GARCH-LSTM作為基準(zhǔn)模型,輸入特征為每日收盤價(jià)。
由表3可知,在混合模型對(duì)比實(shí)驗(yàn)中,混合模型預(yù)測(cè)精度由低到高分別為HP-LSTM-ARIMA-GARCH、HP-ARIMA-LSTM、HP-LSTM,并且所有混合模型的預(yù)測(cè)性能均比單一模型有顯著提升。因此HP濾波將時(shí)間序列分解為長(zhǎng)期趨勢(shì)和短期波動(dòng),使LSTM神經(jīng)網(wǎng)絡(luò)模型捕捉到了股指價(jià)格時(shí)間序列的長(zhǎng)期趨勢(shì)特征和短期波動(dòng)特征,有助于提高模型整體的預(yù)測(cè)能力。
表3 HP-LSTM及其他混合模型測(cè)試誤差Table 3 Test error of HP-LSTM and other hybrid models
為進(jìn)一步驗(yàn)證本文提出的模型的準(zhǔn)確性和穩(wěn)定性,將使用HP-LSTM和基準(zhǔn)模型預(yù)測(cè)上證綜指和滬深300,然后通過每個(gè)模型的預(yù)測(cè)結(jié)果,得到測(cè)試誤差,最后從實(shí)驗(yàn)得到的測(cè)試誤差結(jié)果證明HP-LSTM優(yōu)于基準(zhǔn)模型。
數(shù)據(jù)集的時(shí)間跨度為2009年1月1日至2019年12月31日,剔除節(jié)假日后共有2 675條有效數(shù)據(jù)。由圖6可知,三個(gè)股票走勢(shì)相似,進(jìn)行歸一化后將消除量綱影響,所以在對(duì)上證綜指和滬深300的預(yù)測(cè)當(dāng)中繼續(xù)使用表1中的超參數(shù)。因?yàn)樵谳斎胩卣鞑煌那闆r下HPLSTM的預(yù)測(cè)效果大致相同,因此圖7中只顯示了輸入特征為開盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)、交易量時(shí)HPLSTM模型的預(yù)測(cè)結(jié)果。
圖6 股指價(jià)格時(shí)間序列Fig.6 Time series of stock index price
圖7 上證綜指和滬深300預(yù)測(cè)結(jié)果Fig.7 Forecast results of Shanghai Composite Index and CSI 300
在表4中可以發(fā)現(xiàn),在兩種不同的輸入特征情況下,HP-LSTM模型在使用上證綜指和滬深300數(shù)據(jù)集上都優(yōu)于基準(zhǔn)模型,并且對(duì)上證綜指的預(yù)測(cè)效果略好于滬深300。當(dāng)輸入特征為開盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)、交易量時(shí),在上證綜指數(shù)據(jù)集中,HP-LSTM模型的測(cè)試誤差最小值相比次優(yōu)模型,RMSE降低了27.30%,MAPE降低了24.04%,R2score由0.982 0提升至0.990 5。在滬深300數(shù)據(jù)集中,測(cè)試誤差相比次優(yōu)模型,RMSE降低了26.84%,MAPE降低了23.33%,R2score從0.980 1提升至0.989 3,預(yù)測(cè)精度明顯提升。當(dāng)輸入特征為收盤價(jià)時(shí),在上證綜指和滬深300數(shù)據(jù)集中所有混合模型的測(cè)試誤差均低于單一模型,并且HP-LSTM模型的測(cè)試誤差始終最低。因?yàn)榫礁`差(RMSE)表示預(yù)測(cè)值和真實(shí)值之間的差異,量綱與原數(shù)據(jù)的量綱相同,在平均絕對(duì)百分誤差(MAPE)和R2score相差不大的情況下,如果原數(shù)據(jù)量綱不同,均方誤差將會(huì)相差較大,所以在對(duì)上證綜指和滬深300的預(yù)測(cè)中的評(píng)價(jià)指標(biāo)RMSE遠(yuǎn)低于深證成指。
表4 HP-LSTM及基準(zhǔn)模型測(cè)試誤差Table 4 Test error of HP-LSTM benchmark model
為了提高股指價(jià)格預(yù)測(cè)精度,本文提出一種基于HP濾波分解的LSTM神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)股指價(jià)格走勢(shì)。模型首先利用HP濾波將進(jìn)行歸一化處理后的股指數(shù)據(jù)分解為長(zhǎng)期趨勢(shì)和短期波動(dòng)兩個(gè)序列,然后使用LSTM神經(jīng)網(wǎng)絡(luò)模型分別對(duì)長(zhǎng)期分量和短期分量進(jìn)行預(yù)測(cè),最后將兩個(gè)序列相加并反歸一化得到預(yù)測(cè)值,預(yù)測(cè)精度相比基準(zhǔn)模型顯著提高。經(jīng)實(shí)驗(yàn)分析,得出HPLSTM模型具有以下特點(diǎn):
(1)股指價(jià)格走勢(shì)反應(yīng)了不同頻率的交易模型,HP濾波作為一種經(jīng)濟(jì)分析工具,將時(shí)間序列分解為不同頻率成分的疊加,使HP-LSTM模型繼承了HP濾波的分解功能。
(2)HP濾波是由Hodrick和Prescott提出的一種研究經(jīng)濟(jì)運(yùn)行的一種濾波方法,它將經(jīng)濟(jì)運(yùn)行看作長(zhǎng)期趨勢(shì)和短期波動(dòng)的疊加,因此HP-LSTM模型的預(yù)測(cè)結(jié)果更加具有可解釋性。
(3)融合了LSTM神經(jīng)網(wǎng)絡(luò)模型處理高噪聲、非平穩(wěn)和非線性的優(yōu)良性能,對(duì)HP濾波分解出的長(zhǎng)期趨勢(shì)和短期波動(dòng)序列進(jìn)行預(yù)測(cè)均取得了較高的精度。
(4)在不同的數(shù)據(jù)集上,HP-LSTM的測(cè)試誤差均優(yōu)于基準(zhǔn)模型,說明HP-LSTM模型的預(yù)測(cè)精度和穩(wěn)定性均得到較大提升。
雖然本文提出的模型取得了不錯(cuò)的效果,因?yàn)楸疚臎]有考慮技術(shù)指標(biāo)和投資心理等因素,所以在實(shí)際運(yùn)用中可以考慮納入這些指標(biāo),股指價(jià)格的預(yù)測(cè)精度可能進(jìn)一步提高。本文的研究結(jié)果有助于有關(guān)部門進(jìn)行風(fēng)險(xiǎn)預(yù)警,同時(shí)為股指價(jià)格預(yù)測(cè)研究提供了新的思路。