宋剛,張云峰,*,包芳勛,秦超
(1.山東財經(jīng)大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,濟(jì)南250014; 2.山東財經(jīng)大學(xué) 山東省數(shù)字媒體技術(shù)重點(diǎn)實驗室,濟(jì)南250014;3.山東大學(xué) 數(shù)學(xué)學(xué)院,濟(jì)南250100)
股票市場行情預(yù)測一直是投資者迫切關(guān)注的話題,然而股票數(shù)據(jù)具有高噪聲、動態(tài)、非線性和非參數(shù)等特點(diǎn)[1],準(zhǔn)確地預(yù)測股票價格仍是一項具有挑戰(zhàn)性的工作。隨著人工智能技術(shù)的發(fā)展,深度學(xué)習(xí)以其在機(jī)器翻譯[2]、語音情感識別[3]、圖像識別[4]等方面的優(yōu)異表現(xiàn)受到廣泛關(guān)注。與傳統(tǒng)統(tǒng)計模型相比,深度神經(jīng)網(wǎng)絡(luò)(DNN)可以通過分層特征表示來分析深層和復(fù)雜的非線性關(guān)系,適合處理股票數(shù)據(jù)分析這種多因素影響、不穩(wěn)定、復(fù)雜的非線性問題。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)將時序的概念引入到網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計中,使其在時序數(shù)據(jù)分析中表現(xiàn)出更強(qiáng)的適應(yīng)性。Hochreiter和Schmidhuber通過對RNN網(wǎng)絡(luò)單元結(jié)構(gòu)進(jìn)行改進(jìn)提出了長短期記憶(Long Short-Term Memory,LSTM)模型[5],通過設(shè)計控制門結(jié)構(gòu)彌補(bǔ)了RNN的梯度消失和梯度爆炸、長期記憶能力不足等問題,使得RNN能夠真正有效地利用長距離的時序信息[6]。目前,LSTM 神經(jīng)網(wǎng)絡(luò)已經(jīng)成功應(yīng)用于語音識別[7-8]、文本處理[8]等方面,基于LSTM神經(jīng)網(wǎng)絡(luò)在這些方面的優(yōu)異表現(xiàn),應(yīng)用其對金融時間序列進(jìn)行研究受到廣泛關(guān)注。2015年,Chen等[9]使用LSTM模型預(yù)測了中國股票市場的股票價格;2016年,Jia[10]驗證了LSTM模型預(yù)測股票價格趨勢的有效性;2017年,Nelson等[11]基于股票歷史數(shù)據(jù)和技術(shù)指標(biāo)使用LSTM模型預(yù)測了未來股票市場趨勢,并與其他機(jī)器學(xué)習(xí)方法進(jìn)行比較,該實驗表明LSTM 預(yù)測模型具有更高的預(yù)測精度;2018年,F(xiàn)ischer和Krauss[12]應(yīng)用LSTM模型對標(biāo)準(zhǔn)普爾500指數(shù)波動情況進(jìn)行預(yù)測,與隨機(jī)森林(RAF)、DNN和邏輯回歸分類器(LOG)相比LSTM模型具有較好的預(yù)測效果。
與其他神經(jīng)網(wǎng)絡(luò)模型類似,LSTM 神經(jīng)網(wǎng)絡(luò)模型中部分參數(shù)需要人為設(shè)置,如時間窗口大小、批處理數(shù)量、隱藏層單元數(shù)目等。這些參數(shù)直接控制網(wǎng)絡(luò)模型拓?fù)浣Y(jié)構(gòu),不同參數(shù)訓(xùn)練出模型的預(yù)測性能差異巨大,因此選擇合適的模型參數(shù)就顯得尤為重要。目前,對于網(wǎng)絡(luò)模型超參數(shù)的選擇往往依賴研究者的經(jīng)驗和多次實驗結(jié)果,耗費(fèi)大量的人力和計算資源。因此,本文提出一種基于自適應(yīng)粒子群優(yōu)化(PSO)的LSTM 股票價格預(yù)測模型(PSO-LSTM),利用自適應(yīng)學(xué)習(xí)策略的PSO算法對股票數(shù)據(jù)特征與LSTM神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行匹配,獲得更高的預(yù)測性能。在此基礎(chǔ)上,本文選取滬市浦發(fā)銀行、深市五糧液、港股恒隆集團(tuán)股票數(shù)據(jù),構(gòu)建PSO-LSTM 模型對第2日股票收盤價進(jìn)行預(yù)測。
LSTM是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)。它通過精心設(shè)計“門”結(jié)構(gòu),避免了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)產(chǎn)生的梯度消失與梯度爆炸問題,能有效地學(xué)習(xí)到長期依賴關(guān)系。因此,在處理時間序列的預(yù)測和分類問題中,具有記憶功能的LSTM 模型表現(xiàn)出較強(qiáng)的優(yōu)勢。
如圖1所示,LSTM 是由多個同構(gòu)單元格組成,該結(jié)構(gòu)能夠通過更新內(nèi)部狀態(tài)來長時間存儲信息,A表示3個單元具有相同的單元結(jié)構(gòu)。每個單元格由4個主要元素構(gòu)成:輸入門、遺忘門、輸出門和單元狀態(tài)。
式中:x為LSTM單元的輸入向量;h為單元格輸出向量;f、i、o分別表示遺忘門、輸入門和輸出門;C表示單元狀態(tài);下標(biāo)t表示時刻;σ、tanh分別為sigmoid、tanh激活函數(shù);W 和b分別表示權(quán)重和偏差矩陣。
LSTM的關(guān)鍵是單元狀態(tài)C,它在t時刻保持單元狀態(tài)的記憶,通過遺忘門ft和輸入門it進(jìn)行調(diào)節(jié)。遺忘門的作用是讓細(xì)胞記住或忘記它之前的狀態(tài)Ct-1,輸入門的作用是允許或阻止傳入信號更新單元狀態(tài)。輸出門的作用是控制單元狀態(tài)C輸出和傳輸?shù)较乱粋€單元格。LSTM 單元的內(nèi)部結(jié)構(gòu)是由多個感知器構(gòu)成的,反向傳播算法通常是最常見的訓(xùn)練方法。
圖1 LSTM單元結(jié)構(gòu)Fig.1 LSTM unit structure
粒子群算法的思想源于對鳥類社會行為的研究。鳥群捕食最簡單有效的方法是搜索距離食物最近的鳥的所在區(qū)域,通過個體間的協(xié)助和信息共享實現(xiàn)群體進(jìn)化。算法將群體中的個體看作多維搜索空間中的一個粒子,每個粒子代表問題的一個可能解,其特征信息用位置、速度和適應(yīng)度值3種指標(biāo)描述,適應(yīng)度值由適應(yīng)度函數(shù)計算得到,適應(yīng)度值的大小代表粒子的優(yōu)劣。粒子以一定的速度“飛行”,根據(jù)自身及其他粒子的移動經(jīng)驗,即自身和群體最優(yōu)適應(yīng)度值,改變移動的方向和距離。不斷迭代尋找較優(yōu)區(qū)域,從而完成在全局搜索空間中的尋優(yōu)過程。
傳統(tǒng)粒子群算法描述為:假設(shè)在一個D維搜索空間,m 個粒子構(gòu)成的一個種群X={x1,x2,…,xm},其中xi=[xi1,xi2,…,xiD],設(shè)t時刻xi的特征信息為
則該粒子在t+1時刻的速度和位置信息更新:
式中:w為慣性權(quán)重,控制粒子在全局探測和局部開采間的有效平衡;c1和c2為學(xué)習(xí)因子,分別調(diào)整飛向自身和全局最好位置方向的步長;r1和r2為均勻分布在[0,1]之間的隨機(jī)數(shù)。為避免粒子搜索,一般將其速度和位置分別限制在[-Vmax,Vmax]和[-Xmax,Xmax]之內(nèi)。
本文借助聚類思想,根據(jù)粒子自身的分布情況,將整個種群自適應(yīng)地劃分成若干子群[13]。對于每個子群,采用不同的學(xué)習(xí)策略分布對不同類型的粒子進(jìn)行更新,提高種群多樣性。
采用一種具有較高聚類性能的快速搜索聚類方法實現(xiàn)子群的劃分[14]。該方法能自動發(fā)現(xiàn)數(shù)據(jù)集樣本的類簇中心,同時能夠?qū)崿F(xiàn)任意形狀數(shù)據(jù)集樣本的高效聚類。其基本原理是:類簇中心具備2個基本特征,被局部密度較低的點(diǎn)包圍,且與局部密度較高的點(diǎn)距離較大。
在一個D維搜索空間中,由h個粒子構(gòu)成的一個種群S={xi},其中xi=[xi1,xi2,…,xiD],對于第i個粒子的第d維給出2個變量,粒子的局部密度ρid與到更高局部密度粒子間距離δid,其定義為
式中:dij為xid和xjd之間歐氏距離;dc為截斷距離。
對于局部密度ρid最大的樣本,其δid=maxj(dij)。
由式(9)可知,若xid的密度是最大局部密度,則δid遠(yuǎn)大于其最鄰近粒子的δ距離。因此,子群的中心往往是δ異常大的粒子,這些粒子的密度ρ也相對較高,即選擇ρ和δ都較大的粒子作為聚類中心。對于其他粒子的xjd,將其歸入密度比xjd大且距離xjd最近的樣本所在的子群。
基于子群劃分的結(jié)果,將每個子群中的粒子分為普通粒子和局部最優(yōu)粒子兩類。對于普通粒子,其主要在子群中最優(yōu)粒子的引導(dǎo)下拓展局部搜索能力,更新公式為
式中:ω為慣性權(quán)重;c1、c2為學(xué)習(xí)因子;rand1d、rand2d為區(qū)間[0,1]上的均勻分布隨機(jī)數(shù);pbestid為第i個粒子第d維的最優(yōu)位置信息;cgbestcd為第c個子群中的最優(yōu)位置信息。
對于局部最優(yōu)粒子,其主要通過綜合各子群的信息進(jìn)行更新,以加強(qiáng)子群間的信息交互,更新公式為
局部最優(yōu)粒子一方面指導(dǎo)普通粒子的學(xué)習(xí),另一方面作為子群間信息交互的媒介。在子群中,局部最優(yōu)粒子引導(dǎo)著整個子群的搜索方向,若采用式(10)的學(xué)習(xí)策略,一旦局部最優(yōu)粒子偏離最優(yōu)解的搜索方向,會導(dǎo)致整個子群陷入局部最優(yōu)。因此,局部最優(yōu)粒子需要突破子群的控制,從其他子群中獲得信息??紤]到局部最優(yōu)粒子是子群中最有可能找到最優(yōu)解的粒子,式(11)利用各個子群中局部最優(yōu)粒子的平均信息來指導(dǎo)粒子的更新。通過這種子群間信息的共享,促進(jìn)子群間尋優(yōu)信息的傳遞,進(jìn)一步提高種群的多樣性,避免陷入局部最優(yōu)。
股票數(shù)據(jù)作為一種金融時間序列,其受到多方面因素的影響,具有復(fù)雜的不穩(wěn)定性、非線性與周期不確定性。為了準(zhǔn)確地預(yù)測股票價格,本文以在時間序列分析中表現(xiàn)優(yōu)異的LSTM模型為基礎(chǔ),構(gòu)建針對股票數(shù)據(jù)的預(yù)測模型。LSTM 模型中某些超參數(shù)的取值控制著模型網(wǎng)絡(luò)結(jié)構(gòu),為了使模型網(wǎng)絡(luò)結(jié)構(gòu)與股票數(shù)據(jù)特征相匹配,本文將自適應(yīng)PSO算法與LSTM 模型相融合,構(gòu)建了PSO-LSTM預(yù)測模型。
PSO算法相較于其他生物智能演化算法的最大優(yōu)勢在于算法設(shè)計簡單、收斂速度快,但易陷入局部最優(yōu)。自適應(yīng)PSO算法能夠根據(jù)種群自身的分布,通過自適應(yīng)的子群劃分和粒子更新來避免局部最優(yōu),提高參數(shù)尋優(yōu)的準(zhǔn)確性。自適應(yīng)PSO算法的自適應(yīng)特性使得LSTM模型能夠根據(jù)股票數(shù)據(jù)的特征,快速、準(zhǔn)確地確定最優(yōu)超參數(shù),實現(xiàn)LSTM模型網(wǎng)絡(luò)結(jié)構(gòu)與股票數(shù)據(jù)特征的有效結(jié)合。
模型首先將時間窗口大小、批處理大小、隱藏層單元數(shù)目作為自適應(yīng)PSO算法的優(yōu)化對象,根據(jù)超參數(shù)取值范圍隨機(jī)初始化各粒子位置信息。通過式(8)、式(9)計算得到粒子的局部密度ρid及其到更高局部密度粒子的距離δid,實現(xiàn)自適應(yīng)種群劃分。
其次,根據(jù)粒子位置對應(yīng)的超參數(shù)取值建立LSTM 模型,利用訓(xùn)練數(shù)據(jù)對模型進(jìn)行訓(xùn)練。將驗證數(shù)據(jù)代入訓(xùn)練好的模型進(jìn)行預(yù)測,以模型在驗證數(shù)據(jù)集上的平均絕對百分比誤差作為粒子適應(yīng)度值。
適應(yīng)度函數(shù)f定義為
根據(jù)各子群中粒子適應(yīng)度值的取值情況,將粒子劃分為普通粒子、子群局部最優(yōu)粒子與全局最優(yōu)粒子。通過式(10)、式(11)分別對不同類別粒子位置信息進(jìn)行更新。判斷是否達(dá)到終止條件,達(dá)到終止條件即得到優(yōu)化目標(biāo)的最優(yōu)值;否則,重新根據(jù)粒子位置信息進(jìn)行種群劃分,計算各粒子適應(yīng)度值,更新各粒子位置信息,直到滿足終止條件。
最后,以超參數(shù)最優(yōu)值構(gòu)建LSTM模型,通過股票數(shù)據(jù)進(jìn)行訓(xùn)練和預(yù)測。PSO-LSTM 模型架構(gòu)如圖2所示。
圖2 PSO-LSTM模型架構(gòu)Fig.2 PSO-LSTM model architecture
PSO-LSTM模型算法流程如下:
步驟1 將實驗數(shù)據(jù)分為訓(xùn)練數(shù)據(jù)、驗證數(shù)據(jù)和測試數(shù)據(jù)。
步驟2 將LSTM模型中時間窗口大小、批處理大小、神經(jīng)網(wǎng)絡(luò)隱藏層單元數(shù)目作為優(yōu)化對象,初始化自適應(yīng)PSO算法。
步驟3 根據(jù)式(8)、式(9)劃分子群。
步驟4 根據(jù)式(12)計算每個粒子的適應(yīng)度值。以各粒子對應(yīng)參數(shù)構(gòu)建LSTM 模型,通過訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,驗證數(shù)據(jù)進(jìn)行預(yù)測,將預(yù)測結(jié)果的平均絕對百分比誤差作為各粒子的適應(yīng)度值。
步驟5 根據(jù)粒子適應(yīng)度值與種群劃分結(jié)果,確定全局最優(yōu)粒子位置pbest和局部最優(yōu)粒子位置gbest。
步驟6 根據(jù)PSO算法的式(10)、式(11)分別對普通粒子和局部最優(yōu)粒子位置進(jìn)行更新。
步驟7 判斷終止條件。若滿足終止條件,返回最優(yōu)超參數(shù)取值;否則,返回步驟3。
步驟8 利用最優(yōu)超參數(shù)構(gòu)建LSTM模型。
步驟9 模型通過訓(xùn)練數(shù)據(jù)和驗證數(shù)據(jù)進(jìn)行訓(xùn)練,測試集進(jìn)行預(yù)測,得到預(yù)測結(jié)果。
實驗選取滬市A股(600000浦發(fā)銀行)、深市A股(000858五糧液)、港股(00010恒隆集團(tuán))為例進(jìn)行研究,預(yù)測股票第2日收盤價格。股票歷史數(shù)據(jù)包含開盤價、收盤價、最高價、最低價、漲幅、振幅、成交量、成交額、換手率以及成交次數(shù)10個屬性。其中可能包含停盤停等操作所造成的數(shù)據(jù)空缺,對于空缺數(shù)據(jù)進(jìn)行刪除操作,并按時間對數(shù)據(jù)進(jìn)行排序。建立PSO-LSTM模型并與自回歸 移 動 平 均 模 型(ARIMA)[15]、支 持 向 量 機(jī)(SVM)[16]、多 層 感 知 機(jī)(MLP)[17]、RNN[18]和LSTM[19]模型進(jìn)行對比實驗。
本文選取均方根誤差(RMSE)、平均絕對百分比誤差(MAPE)、平均絕對誤差(MAE)、均方誤差(MSE)和決定系數(shù)R2作為評價指標(biāo)對模型預(yù)測效果進(jìn)行定量評價。其中RMSE、MAPE、MAE、MSE數(shù)值越小,模型預(yù)測結(jié)果與真實值偏差越小,結(jié)果越準(zhǔn)確;決定系數(shù)R2越接近1,代表擬合優(yōu)度越大,模型預(yù)測效果越好。具體公式定義為
式中:N為實驗預(yù)測次數(shù);^yn為模型預(yù)測值;yn為真實值;ˉy為真實值的平均值。
PSO-LSTM 模型結(jié)構(gòu)由輸入層、兩層LSTM層、輸出層組成,損失函數(shù)使用均方誤差,模型訓(xùn)練過程采用Adam算法進(jìn)行優(yōu)化,網(wǎng)絡(luò)模型的搭建在Keras框架下實現(xiàn)。該模型將時間窗口大小、批處理大小、訓(xùn)練次數(shù)和隱藏層單元個數(shù)設(shè)置為LSTM模型超參數(shù)。為了減少人為因素對模型的影響,實驗根據(jù)股票數(shù)據(jù)具體情況,對超參數(shù)的取值范圍設(shè)置如下:指定時間窗口大小取值范圍[1,20],批處理大小取值范圍[1,60],隱藏層單元個數(shù)取值范圍[10,30]。同時設(shè)置粒子群粒子個數(shù)為30,最大迭代次數(shù)為500,速度慣性權(quán)重ω為0.8,加速系數(shù)和為2。
PSO-LSTM訓(xùn)練次數(shù)由模型誤差損失情況直接確定,模型迭代到800次時誤差損失函數(shù)達(dá)到收斂狀態(tài)。因此PSO-LSTM 模型的訓(xùn)練次數(shù)為800。
3.3.1 滬市股票預(yù)測
浦發(fā)銀行2016-01-04—2018-12-21日K數(shù)據(jù)共計708條,其中70%作為訓(xùn)練數(shù)據(jù)、20%作為驗證數(shù)、10%作為測試數(shù)據(jù)。自適應(yīng)PSO模型的最優(yōu)超參數(shù)為:時間窗口大小為10,批處理大小為58,第1層隱藏層單元個數(shù)為12,第2層隱藏層單元個數(shù)為22。實驗結(jié)果如圖3所示:綠色實線表示測試數(shù)據(jù)的股票收盤價真實值,紅色實線表示不同預(yù)測模型的股票收盤價預(yù)測值。預(yù)測結(jié)果顯示ARIMA模型預(yù)測值曲線在趨勢上非常符合股價真實值,然而在每個時間點(diǎn)處的預(yù)測值與真實值之間總保持一定誤差,具有明顯的滯后性。這是由于ARIMA模型采用了分步預(yù)測方法,每個時間點(diǎn)的預(yù)測值均為歷史時刻的真實值預(yù)測產(chǎn)生。因此ARIMA模型預(yù)測曲線總是落后于股價真實值曲線說明ARIMA模型的預(yù)測效果并不好,其預(yù)測精度可由模型評價指標(biāo)進(jìn)行比較;從其他模型預(yù)測結(jié)果來看,本文提出的PSO-LSTM 模型的預(yù)測曲線更接近股價真實值曲線,特別是在股價波動劇烈處的預(yù)測效果優(yōu)于其他模型。
圖3 上海浦發(fā)銀行各模型預(yù)測結(jié)果比較Fig.3 Comparison of prediction results of various models for Shanghai Pudong Development Bank
表1 上海浦發(fā)銀行各模型評價指標(biāo)比較Table 1 Comparison of various models’evaluation indicators for Shanghai Pudong Development Bank
為進(jìn)一步驗證該模型的預(yù)測性能,表1給出各預(yù)測模型的評價指標(biāo)計算結(jié)果。PSO-LSTM模型預(yù)測誤差在RMSE、MAPE、MAE、MSE評價標(biāo)準(zhǔn)下都低于其他預(yù)測模型;在決定系數(shù)R2評價標(biāo)準(zhǔn)中,該模型計算結(jié)果比其他預(yù)測模型更接近1,表明PSO-LSTM模型的預(yù)測性能優(yōu)于其他模型。特別地,PSO-LSTM模型MAPE指標(biāo)比ARIMA模型低71%,比RNN模型低31%,模型預(yù)測精度顯著提高;PSO-LSTM 模型的各項指標(biāo)優(yōu)于LSTM 模型,但兩者差距并不明顯,主要原因是這兩種預(yù)測模型具有相同的單元結(jié)構(gòu);而PSO-LSTM 模型最突出的優(yōu)勢在于構(gòu)建過程中不需要人工調(diào)參,而且預(yù)測結(jié)果比普通LSTM模型更優(yōu)。
為了進(jìn)一步研究該模型與傳統(tǒng)LSTM 模型的有效性與穩(wěn)定性,實驗將浦發(fā)銀行2018-12-24—2019-03-12日的日K數(shù)據(jù)平均分成5組,分別利用LSTM 模型和PSO-LSTM 模型進(jìn)行預(yù)測,預(yù)測結(jié)果如圖4所示。圖中:綠色曲線表示股價真實值,藍(lán)色曲線表示LSTM模型預(yù)測值,紅色曲線表示PSO-LSTM模型預(yù)測值。從圖中可以看出,對于第2組、第3組和第5組數(shù)據(jù),PSO-LSTM 模型的預(yù)測值曲線比LSTM模型更逼近股價真實值曲線。對于第1組和第4組數(shù)據(jù),PSO-LSTM 模型與LSTM模型的預(yù)測結(jié)果非常接近。
表2給出兩種預(yù)測模型的RMSE指標(biāo)比較結(jié)果。除了在第1組數(shù)據(jù)中LSTM 模型的RMSE指標(biāo)具有微弱優(yōu)勢,PSO-LSTM 模型在其他4組數(shù)據(jù)預(yù)測的RMSE指標(biāo)都優(yōu)于LSTM 模型。特別地,在第5組數(shù)據(jù)測試中PSO-LSTM 模型的預(yù)測精度比LSTM 模型高了25%。實驗結(jié)果表明,本文提出的PSO-LSTM模型對于不同時段的浦發(fā)銀行股票價格均有較好的預(yù)測能力,在模型預(yù)測精度與模型預(yù)測穩(wěn)定性方面比LSTM 模型更具優(yōu)勢。
圖4 LSTM與PSO-LSTM預(yù)測結(jié)果比較Fig.4 Comparison of prediction results between LSTM and PSO-LSTM
表2 LSTM 與PSO-LSTM 評價指標(biāo)比較Table 2 Comparison of evaluation indicators between LSTM and PSO-LSTM
3.3.2 深市股票預(yù)測
五糧液2016-01-04—2018-12-21的日K數(shù)據(jù)共計726條,其中70%作為訓(xùn)練數(shù)據(jù)、20%作為驗證數(shù)、10%作為測試數(shù)據(jù)。自適應(yīng)PSO模型的最優(yōu)超參數(shù)為:時間窗口大小為12,批處理大小為60,第1層隱藏層單元個數(shù)為16,第2層隱藏層單元個數(shù)為32。實驗結(jié)果如圖5所示。
如圖5所示,ARIMA模型在股票價格持續(xù)上漲或下跌時刻的預(yù)測效果較好,預(yù)測值接近股價真實值。但是在股價變化劇烈的時刻,ARIMA模型預(yù)測結(jié)果具有一定的延后性;SVM 模型在股價波動劇烈時刻的預(yù)測效果較差,預(yù)測曲線與真實值之間具有明顯的誤差;LSTM 模型的預(yù)測效果優(yōu)于MLP模型與RNN模型;對于五糧液股票價格的預(yù)測,PSO-LSTM模型的預(yù)測效果最好,其預(yù)測值曲線能較好地逼近股價真實值。表3給出不同預(yù)測模型評價指標(biāo)的比較結(jié)果,PSO-LSTM 模型除評價指標(biāo)均優(yōu)于其他預(yù)測模型。
3.3.3 港股股票預(yù)測
恒隆集團(tuán)2016-01-04—2018-12-21的日K數(shù)據(jù)共計733條,其中70%作為訓(xùn)練數(shù)據(jù)、20%作為驗證數(shù)、10%作為測試數(shù)據(jù)。自適應(yīng)PSO模型的最優(yōu)超參數(shù)為:時間窗口大小為10,批處理大小為48,第1層隱藏層單元個數(shù)為18,第2層隱藏層單元個數(shù)為24。實驗結(jié)果如圖6所示。ARIMA模型在股票價格漲跌拐點(diǎn)處的預(yù)測結(jié)果較差,對于股票上漲或下跌趨勢的預(yù)測有一定的滯后;SVM模型對于恒隆集團(tuán)股票數(shù)據(jù)的預(yù)測表現(xiàn)最差,在某些時間點(diǎn)的預(yù)測結(jié)果與真實值之間具有明顯的差異。相較于其他模型,PSO-LSTM模型的預(yù)測效果仍表現(xiàn)較好。
表4給出不同預(yù)測模型評價指標(biāo)的比較結(jié)果,PSO-LSTM 模型的各項評價指標(biāo)均優(yōu)于其他預(yù)測模型,其中R2指標(biāo)非常接近1,這說明PSOLSTM模型對于恒隆集團(tuán)股票數(shù)據(jù)的擬合最優(yōu)度最佳。綜合滬市、深市、港股股票的預(yù)測結(jié)果表明,PSO-LSTM模型對于股票數(shù)據(jù)的預(yù)測具有較高的預(yù)測精度與穩(wěn)定性。
圖5 五糧液各模型預(yù)測結(jié)果比較Fig.5 Comparison of prediction results of various models for Wuliangye
圖6 恒隆集團(tuán)各模型預(yù)測結(jié)果比較Fig.6 Comparison of prediction results of various models for Hang Lung Group
表3 五糧液各模型評價指標(biāo)比較Table 3 Comparison of var ious models’evaluation indicators for Wuliangye
表4 恒隆集團(tuán)各模型評價指標(biāo)比較Table 4 Comparison of var ious models’evaluation indicators for Hang Lung Group
針對復(fù)雜的股票價格預(yù)測問題,本文提出了PSO-LSTM模型,通過自適應(yīng)學(xué)習(xí)策略的PSO算法對LSTM 網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,減少人為因素影響,以提高模型捕獲股票數(shù)據(jù)特征的能力。本文隨機(jī)選取了滬市(浦發(fā)銀行)、深市(五糧液)、港股(恒隆集團(tuán))股票數(shù)據(jù)進(jìn)行實驗。實驗表明相較于統(tǒng)計模型與其他時間序列機(jī)器學(xué)習(xí)模型,PSO-LSTM 模型具有更高的預(yù)測精度,并且對于不用類型的股票數(shù)據(jù)具有一定的普遍適用性。該模型在金融時間序列研究中將具有廣闊的應(yīng)用前景。