蒙懿 徐慶娟
摘要:股票價格預(yù)測一直受到人們的廣泛關(guān)注。本文基于長短期記憶網(wǎng)絡(luò)(LSTM)和馬爾科夫鏈(馬氏鏈)構(gòu)建了一個新的股價預(yù)測模型。以2019年1月2日到2020年10月30日大灣區(qū)指數(shù)成分股華僑城A(000069)的日收盤價為實證分析對象,先利用LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測,然后運用馬氏鏈模型對其殘差進(jìn)行校正。經(jīng)測試發(fā)現(xiàn),LSTM神經(jīng)網(wǎng)絡(luò)-馬氏鏈模型預(yù)測比單一的LSTM神經(jīng)網(wǎng)絡(luò)更接近實際。最后,對股價的漲跌趨勢及運動周期進(jìn)行了長期預(yù)測。
關(guān)鍵詞:股價預(yù)測 LSTM神經(jīng)網(wǎng)絡(luò) 馬爾科夫鏈
一、引言
全球政治局勢、國家宏觀調(diào)控、金融政策、新冠疫情等多種因素均可導(dǎo)致金融市場的波動,進(jìn)而對股票市場產(chǎn)生重大影響。因此,如何科學(xué)、合理地預(yù)測股票價格漲跌趨勢已受到人們的廣泛關(guān)注,其研究成果也日益豐富。
近年來,彭燕等[1]利用長短期記憶網(wǎng)絡(luò)(LSTM)內(nèi)部的選擇記憶性,對股票價格走勢進(jìn)行預(yù)測建模與分析,實現(xiàn)短期的股票預(yù)測,給投資者提供一定的參考。馮宇旭、李裕梅[2]通過LSTM神經(jīng)網(wǎng)絡(luò)對滬深300指數(shù)進(jìn)行預(yù)測分析,并與SVR和Adaboost模型預(yù)測結(jié)果進(jìn)行對比,得出LSTM預(yù)測結(jié)果的均方根誤差(RMSE)更低。
受眾多隨機因素影響,股票價格起伏不定,對其短期、符合內(nèi)在機理、精準(zhǔn)地預(yù)測并不容易。從長遠(yuǎn)來看,股價的波動性似乎又呈現(xiàn)出股價具有某種趨勢。國內(nèi)外不少學(xué)者運用馬爾科夫鏈相關(guān)理論對股票價格及其走勢進(jìn)行預(yù)測。例如,王強[3]用馬爾可夫鏈預(yù)測方法分析桂林旅游(SZ000978)價格的波動情況;孟銀鳳、李榮華等人[4]利用馬氏鏈對申華控股(600653)價格的變動情況分析;王新武[5]運用馬氏鏈相關(guān)理論對中國石油股價進(jìn)行預(yù)測。以上運用馬氏鏈相關(guān)理論建立股價走勢預(yù)測模型,給投資者提供了一定的理論參考。
考慮到LSTM神經(jīng)網(wǎng)絡(luò)和馬氏鏈模型在股價預(yù)測中的優(yōu)勢,本文將以華僑城A(000069)等股票收盤價為實證分析對象,利用LSTM神經(jīng)網(wǎng)絡(luò)優(yōu)良性能對其進(jìn)行預(yù)測,再運用馬爾科夫鏈模型對其殘差進(jìn)行校正,并對收盤價序列進(jìn)行長期漲跌趨勢和運動周期預(yù)測,計算結(jié)果與實際進(jìn)行對比分析,以期給廣大投資者提供一定的理論參考。
二、LSTM的結(jié)構(gòu)及原理
LSTM神經(jīng)網(wǎng)絡(luò),在時間遞歸神經(jīng)網(wǎng)絡(luò)(RNN)的基礎(chǔ)上增加了“門控”結(jié)構(gòu),可以一定程度上解決RNN處理時間序列問題時出現(xiàn)的梯度消失或爆炸的問題,適合于預(yù)測時間序列中間隔和延遲相對較長的重要事件[6]。
LSTM神經(jīng)網(wǎng)絡(luò)是由記憶單元和門控單元所組成的,主要通過三個門即輸入門()、遺忘門()和輸出門()來實現(xiàn)信息的保護(hù)和控制。該神經(jīng)網(wǎng)絡(luò)t時刻的工作原理見圖1所示,表示時刻隱藏狀態(tài),對應(yīng)t時刻的輸入,雙曲正切函數(shù),為整個細(xì)胞單元狀態(tài),,,分別對應(yīng)遺忘門、輸入門、輸出門。LSTM神經(jīng)網(wǎng)絡(luò)內(nèi)部機制可通過下列公式表示:
其中σ為激活函數(shù),若結(jié)果為1,則完全保留上一層的信息;若結(jié)果為0,則完全舍棄該信息。,,,分別對應(yīng)Forget gate、Input gate、cell、Output gate的權(quán)值項;,,,分別對應(yīng)Forget gate、Input gate、cell、Output gate的偏置項;為更新時刻的細(xì)胞狀態(tài)。
三、馬爾科夫鏈模型
馬爾科夫鏈?zhǔn)且环N常見的統(tǒng)計隨機過程方法,概念直觀且易于實現(xiàn)。在隨機時間序列研究中有著重要的價值,在醫(yī)療、科技、金融等領(lǐng)域具有重要應(yīng)用。馬氏鏈模型主要有以下特性[7][8]:
第一,(無后效性)即t時刻的狀態(tài)只依賴t-1時刻的狀態(tài),與t-1之前的狀態(tài)無關(guān)。
第二,馬爾科夫鏈有離散型和連續(xù)型,一般地轉(zhuǎn)移概率不僅與狀態(tài)有關(guān),還與轉(zhuǎn)移時間有關(guān),如果轉(zhuǎn)移概率不依賴轉(zhuǎn)移時間的話,則表示馬爾科夫鏈具有平穩(wěn)轉(zhuǎn)移概率。
第三,對齊次馬爾科夫鏈而言,n步轉(zhuǎn)移概率矩陣就是一步轉(zhuǎn)移概率矩陣的n次方,通過C-K方程很容易得到。
四、基于LSTM-馬氏鏈的股價預(yù)測校正模型
考慮到LSTM神經(jīng)網(wǎng)絡(luò)擁有選擇記憶性的優(yōu)點,現(xiàn)階段金融市場中個別股票價格無后效性,基本符合馬爾科夫鏈的特性,因此本文嘗試基于LSTM神經(jīng)網(wǎng)絡(luò)和馬氏鏈構(gòu)建股價預(yù)測校正模型,具體步驟如下:
步驟1 利用LSTM神經(jīng)網(wǎng)絡(luò)對股票價格進(jìn)行預(yù)測。
步驟1.1 利用標(biāo)準(zhǔn)化方法對原數(shù)據(jù)進(jìn)行歸一化,消除量綱影響。將股票價格數(shù)據(jù)收縮到區(qū)間,使得訓(xùn)練模型的loss下降更快,可以利用下面的最大-最小標(biāo)準(zhǔn)化公式進(jìn)行歸一:
(7)
其中,代表第i天的收盤價,,分別代表該收盤價序列的最大值與最小值。
步驟1.2 采用時間滑動窗口,將股票價格歸一化后的數(shù)據(jù)劃分為訓(xùn)練集和測試集。將前一天的股票收盤價序列作為輸入樣本,當(dāng)天的收盤價序列作為輸出樣本,基于LSTM神經(jīng)網(wǎng)絡(luò)對股票價格進(jìn)行訓(xùn)練,通過反歸一化可得預(yù)測價格序列。與真實價格序列的殘差記為。
步驟2 檢驗LSTM神經(jīng)網(wǎng)絡(luò)訓(xùn)練的殘差序列是否具有馬爾可夫性。
步驟2.1 根據(jù)區(qū)間范圍及其序列特征將其隨機劃分為s個小區(qū)間:[,),[,),…,[,);
步驟2.2 令=[,),(k=1,2,3,…,s),將視為以,(k=1,2,3,,s)為狀態(tài)空間的隨機時間序列;
步驟2.3 構(gòu)建統(tǒng)計量,檢驗是否具有馬爾科夫性,具體如下:
若表示,,…,從狀態(tài)一步轉(zhuǎn)移到狀態(tài)的頻數(shù),則頻數(shù)矩陣可記為:
(8)
令
(9)
可得到一步轉(zhuǎn)移概率矩陣P=,則當(dāng)較大時,統(tǒng)計量
(10)
服從自由度為的卡方分布。
選定置信水平α,若>,則在該置信水平下,不能拒絕具有馬爾科夫性的零假設(shè),即具有馬爾科夫性;否則拒絕具有馬爾科夫性的零假設(shè),即不具有馬爾可夫性。
步驟3 若具有馬爾科夫性,則利用LSTM神經(jīng)網(wǎng)絡(luò)對測試集進(jìn)行預(yù)測,得到K個預(yù)測值。結(jié)合訓(xùn)練集的預(yù)測,可得預(yù)測價格序列,(K=1,2,3,)。根據(jù)馬氏性及C-K方程[8][9],以訓(xùn)練集最后一個交易日殘差作為馬氏鏈的初始狀態(tài),得到的狀態(tài)概率分布:
,(s=1,2,3,4,5,6;K=1,2,3,…)(11)
均值:
,(K=1,2,3,…)(12)
該均值序列(K=1,2,3,…)是對該測試集校正后的股票價格序列。若不具有馬爾科夫性,則說明該股票價格不適合利用馬氏鏈模型校正。
步驟4 利用步驟2.3中得到的一步轉(zhuǎn)移概率矩陣,可預(yù)測該股票價格穩(wěn)態(tài)概率下漲跌趨勢和運動周期。
五、實證分析
(一)數(shù)據(jù)來源
本文以2019年1月2日到2020年10月30日,大灣區(qū)指數(shù)成分股華僑城A(000069)的每日收盤價數(shù)據(jù)(除節(jié)假日外)為實證分析對象,共計443個,其數(shù)據(jù)來源于銳思金融數(shù)據(jù)庫。該收盤價時序圖如下:
由圖2可知,華僑城A收盤價漲跌趨勢之間具有一定的間隔或延遲,波動較大,但在一定程度上也具有周期性。因此,可考慮先用LSTM神經(jīng)網(wǎng)絡(luò)對其收盤價進(jìn)行預(yù)測,再用馬氏鏈模型進(jìn)行校正。
(二)LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測
本文模型利用Python3.6編程實現(xiàn),通過調(diào)用庫中的Sequential模型構(gòu)建單層LSTM神經(jīng)網(wǎng)絡(luò)。通過前一天數(shù)據(jù)信息預(yù)測第二天的收盤價,選取了華僑城A股票收盤價序列前65%(287個樣本)作為訓(xùn)練集,后35%(156個樣本)作為測試集,其輸出樣本個數(shù)分別為286個和155個。通過微調(diào)參數(shù),可使模型訓(xùn)練達(dá)到最優(yōu),從而提高模型的預(yù)測效果。
為了驗證模型的有效性,選取可解釋方差、擬合優(yōu)度(R2)及平均相對誤差作為評價指標(biāo)。通過訓(xùn)練好的LSTM神經(jīng)網(wǎng)絡(luò)模型,對收盤價訓(xùn)練集、測試集進(jìn)行預(yù)測,得到華僑城A股票校正前預(yù)測結(jié)果,如圖3所示。從圖3(a)容易發(fā)現(xiàn),華僑城A股票訓(xùn)練集的預(yù)測值和真實值能較好地吻合,其誤差整體都在0上下波動,前期和后期偶爾少許波動,說明預(yù)測值隨時間t以真實值為“軸線”上下波動,為后期建立馬爾科夫鏈模型提供了可行性基礎(chǔ)。由圖3(b)可知,通過微調(diào)參數(shù)后的華僑城A股票測試集預(yù)測效果較好。
從表1可知,通過參數(shù)微調(diào)可得到95.34%左右的可解釋方差值,擬合優(yōu)度達(dá)到95.3%,平均相對誤差較小,約1.6%,這進(jìn)一步說明利用LSTM神經(jīng)網(wǎng)絡(luò)初步預(yù)測華僑城A股票的收盤價是有效的。
(三)基于馬氏鏈模型的進(jìn)一步校正
利用LSTM神經(jīng)網(wǎng)絡(luò)模型預(yù)測華僑城A股票收盤價的訓(xùn)練集,可得N個預(yù)測值。通過步驟1.2可得殘差的區(qū)間為。通過圖3(a)易知,其殘差值均圍繞0上下波動,偏離超過10以上的比較少。根據(jù)區(qū)間范圍及其序列特征將其隨機劃分為6個區(qū)間(,,),即=[-29,-10),=[-10,-5),=[-5,0),=[0,5),=[5,10),=[10,17]。此時,是一個以,(k=1,2,3,,6)為狀態(tài)空間的隨機時間序列。
根據(jù)步驟2.3檢驗是否具有馬爾科夫性。具體地,利用式(8)可得一步轉(zhuǎn)移頻數(shù)矩陣:
。
利用公式(9)求得一步轉(zhuǎn)移概率矩陣為:
及為:
=[0.119298 0.273684 0.164912 0.157894? 0.154385 0.129824]。
最后,利用公式(10)計算統(tǒng)計量201.74。取置信度α=0.01,查閱相關(guān)文獻(xiàn)得到=44.31<201.74,故符合馬氏鏈,其狀態(tài)空間為I={1,2,3,4,5,6}。
下面,將基于LSTM神經(jīng)網(wǎng)絡(luò)對測試集進(jìn)行預(yù)測,由步驟3可得預(yù)測值,(K=1,2,3,)。根據(jù)馬氏性及C-K方程[8][9],以訓(xùn)練集最后一個交易日誤差作為馬氏鏈的初始狀態(tài),其狀態(tài)為。記初始狀態(tài),則的狀態(tài)概率分布和均值方程見步驟3。
當(dāng)K=1時,股票華僑城A的實際收盤價=268.562,由LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測得到的收盤價。由式(12)對該預(yù)測值進(jìn)行校正,計算得到。校正前的相對誤差為1.575%,經(jīng)過馬氏鏈校正后的相對誤差為1.286%,顯然,校正后比校正前的相對誤差降低了0.29%。同理,對以后的預(yù)測值進(jìn)行校正,可得華僑城A股票收盤價的預(yù)測值,與真實值的比較見圖4。由圖4可知,基于馬氏鏈校正后的預(yù)測值與實際值比較吻合,這也說明基于LSTM神經(jīng)網(wǎng)絡(luò)——馬氏鏈模型對華僑城A收盤價進(jìn)行預(yù)測是有效的。
為進(jìn)一步驗證該校正模型的有效性,對億緯鋰能(300014)、華高科技(000636)、金地集團(tuán) (600383)、塔牌集團(tuán)(002233)、保利地產(chǎn)(600048)5只股票收盤價也利用LSTM神經(jīng)網(wǎng)絡(luò)——馬氏鏈模型(校正后)進(jìn)行預(yù)測校正,并與單一的LSTM神經(jīng)網(wǎng)絡(luò)模型(校正前)預(yù)測進(jìn)行比較,結(jié)果見表1。對比表1中的結(jié)果可知,單一的LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測擬合度都超過90%,多數(shù)超過95%,擬合效果較好。LSTM神經(jīng)網(wǎng)絡(luò)——馬氏鏈模型校正后的結(jié)果,其可解釋方差變化不大、擬合優(yōu)度有所提高,平均相對誤差明顯降低。當(dāng)然,結(jié)果也發(fā)現(xiàn),該模型對這6只股票的短期預(yù)測較好,因為當(dāng),也就是經(jīng)過13天之后,n步轉(zhuǎn)移概率矩陣慢慢趨向平穩(wěn),導(dǎo)致后期對LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型的校正有限。但總體來說,經(jīng)過馬氏鏈校正后的預(yù)測值與真實值更加接近,因此,LSTM神經(jīng)網(wǎng)絡(luò)——馬氏鏈模型預(yù)測性能更優(yōu)越。
(四)基于LSTM神經(jīng)網(wǎng)絡(luò)-馬氏鏈模型的長期預(yù)測
1.穩(wěn)態(tài)概率下的漲跌趨勢。首先,對華僑城A股票的收盤價進(jìn)行長期漲跌勢預(yù)測,并與實際情況對比分析。若一步轉(zhuǎn)移概率矩陣不可約(即當(dāng)N很大時容易滿足),則由文獻(xiàn)[3][4]可知,存在平穩(wěn)分布使得,且。解齊次線性方程,將I-P進(jìn)行初等變換,可得該方程組的解:=(0.1285,0.2719,0.1452,0.1542,0.1641,0.1361),即為平穩(wěn)分布。因此,穩(wěn)態(tài)概率下該股票收盤價下跌的概率為=0.5456,上漲的概率為=0.4544。由圖3(b)可知,從長期來看,該支股票下跌的概率大于上漲的概率,預(yù)測結(jié)果與之是一致的。
2.股價的周期預(yù)測。其次,基于馬氏鏈模型對華僑城A股票的收盤價進(jìn)行周期預(yù)測。記為收盤價從狀態(tài)i開始經(jīng)過時間單位n之后首次進(jìn)入狀態(tài)j的概率,即。令為狀態(tài)轉(zhuǎn)移到狀態(tài)的平均時間,,()滿足方程組[4]。
(13)
解方程組(13)可得,即狀態(tài)1到狀態(tài)6的平均時間(由跌到漲的平均時間);以及,即狀態(tài)6到狀態(tài)1的平均時間(由漲到跌的平均時間)。方程組(13)也可表示為:
解得=8.8326,同理可解得=8.3081,=7.7843,=7.3472。
從上述結(jié)果可知,華僑城A股票的收盤價在2020年3月11日到2020年10月30日這156個交易日期間,由狀態(tài)1到狀態(tài)6平均需要9個交易日,由狀態(tài)6到狀態(tài)1平均需要9個交易日,即大跌到大漲要9個交易日,大漲到大跌也要9個交易日。,說明該股票收盤價完成一個短線運行周期平均需要18個交易日。=7.7843,=7.3472狀態(tài)1回到狀態(tài)1,狀態(tài)6回到狀態(tài)6均需要8個交易日,說明該股票收盤價短期波動較大。類似地,對其它5支股票收盤價進(jìn)行漲跌趨勢和周期預(yù)測,結(jié)果發(fā)現(xiàn)與實際情況基本一致。
六、結(jié)束語
本文基于LSTM神經(jīng)網(wǎng)絡(luò)和馬氏鏈理論提出一種新的股票價格預(yù)測模型,并以大灣區(qū)指數(shù)成分股華僑城A股票日收盤價為研究對象進(jìn)行實證分析。基于華僑城A股票2019年1月2日到2020年3月10日的日收盤價數(shù)據(jù),利用LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(訓(xùn)練),結(jié)果發(fā)現(xiàn)預(yù)測結(jié)果與真實值比較吻合。利用馬氏鏈理論檢驗,發(fā)現(xiàn)該殘差具有馬爾科夫性。選取華僑城A股票2020年3月11日到2020年10月30日的日收盤價數(shù)據(jù)進(jìn)行預(yù)測(測試),基于LSTM神經(jīng)網(wǎng)絡(luò)——馬氏鏈模型進(jìn)行預(yù)測校正,結(jié)果發(fā)現(xiàn)LSTM神經(jīng)網(wǎng)絡(luò)——馬氏鏈模型比單一的LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測效果好,前者平均相對誤差1.56%比后者的1.62%更低。 此外,本文對億緯鋰能 (300014)、華高科技(000636 )、金地集團(tuán) (600383)、塔牌集團(tuán) (002233)、保利地產(chǎn)(600048)5只股票收盤價進(jìn)行了預(yù)測,結(jié)果發(fā)現(xiàn)其平均相對誤差都低于2.9%,均比單一的LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測的平均相對誤差低,這也進(jìn)一步驗證了本文預(yù)測模型的有效性。
參考文獻(xiàn):
[1]彭燕,劉宇紅,張榮芬.基于LSTM的股票價格預(yù)測建模與分析[J].計算機工程與應(yīng)用,2019,55(11):209-212.
[2]馮宇旭,李裕梅.基于LSTM神經(jīng)網(wǎng)絡(luò)的滬深300指數(shù)預(yù)測模型研究[J].數(shù)學(xué)的實踐與認(rèn)識,2019,49(7):308-315.
[3]王強.基于馬氏鏈的股票價格預(yù)測模型[J].江蘇技術(shù)師范學(xué)院學(xué)報(自然科學(xué)版),2008(2):33-38.
[4]孟銀鳳,李榮華.股票價格的馬氏鏈預(yù)測模型[J].數(shù)學(xué)理論與應(yīng)用,2010,30(3):53-57.
[5]王新武.股票價格預(yù)測模型[J].隴東學(xué)院學(xué)報,2012,23(3):40-43.
[6]任君,王建華,王傳美,王建祥.基于ELSTM-L模型的股票預(yù)測系統(tǒng)[J].統(tǒng)計與決策,2019,35(21):160-164.
[7]鄧鳳欣.LSTM神經(jīng)網(wǎng)絡(luò)在股票價格趨勢預(yù)測上的應(yīng)用[D].廣東外語外貿(mào)大學(xué),2018.
[8]李航著.統(tǒng)計學(xué)習(xí)方法[M].第2版.北京: 清華大學(xué)出版社,2019.
[9]劉次華.隨機過程[M].武漢: 華中科技大學(xué)出版社,2011.
基金項目:南寧師范大學(xué)博士科研啟動項目(20180406001)。
作者單位:南寧師范大學(xué)數(shù)學(xué)與統(tǒng)計學(xué)院,徐慶娟為通訊作者