李大舟,于 沛,高 巍,馬 輝
(沈陽化工大學 計算機科學與技術學院,遼寧 沈陽 110142)
金融時序預測對于制定有效的市場交易策略和保持經濟健康持續(xù)發(fā)展具有重要意義。近年來,深度學習技術在自然語言處理[1-3]、語音識別[4]等一系列的復雜時序任務中得到廣泛應用。與傳統(tǒng)的淺層機器學習相比,深度學習通過構造更深層的網(wǎng)絡結構來加強模型捕捉高級復雜特征的能力,從而能夠挑戰(zhàn)更加復雜的問題。Peng等[5]將文本挖掘和詞嵌入相結合,從金融新聞中提取特征,并使用深度神經網(wǎng)絡模型(deep neural networks,DNN)預測股票走勢。實驗驗證了金融新聞特征在股票預測任務中的有效性。Huy等[6]使用來自路透社、彭博社的財經新聞和股票價格數(shù)據(jù)集,通過雙向門控循環(huán)單元(bidirectional gated recurrent unit,BiGRU)來預測未來的股票走勢。Ishan等[7]利用格蘭杰因果關系分析了大量過去可用的數(shù)據(jù),將新聞數(shù)據(jù)與股票數(shù)據(jù)相結合,對股價的變動進行分類,并結合一定的因素進行評估,提出了一種基于分段向量的信息分類機制和長短時記憶網(wǎng)絡(long short term memories,LSTM)的預測模型。Leonardo等[8]提出了一種基于字符級的神經語言模型,并利用金融新聞數(shù)據(jù)集和LSTM網(wǎng)絡進行趨勢預測的方法。Jordan等[9]使用各種文本情緒分析工具來處理金融新聞,如情緒分析和事件提取等,使用LSTM和特定的卷積架構來進行股市趨勢預測。Liu等[10]使用TransE模型和卷積神經網(wǎng)絡來從金融新聞中提取特征。這種方法有效地提高了文本特征提取的準確性,同時減少新聞標題的稀疏性。另一方面,該文章提出了一種從每日交易數(shù)據(jù)和技術指標中提取特征向量的聯(lián)合特征提取方法與LSTM模型相結合來進行股票價格預測。Zhang等[11]使用RNN、LSTM、GRU分別對標準普爾(S&P)500股票指數(shù)進行金融時序預測?;谝陨厢槍鹑跁r序預測任務所取得的成果,本文提出了一種基于社交媒體文本信息的股票趨勢預測(BiTCN-LSTM)模型,該模型主要包括:①構建基于雙向時間卷積網(wǎng)絡的情感分類方法,對爬取的金融新聞文章進行情感特征提取。②使用LSTM網(wǎng)絡和差分運算完成金融時間序列預測任務。
本文提出了BiTCN-LSTM算法,用于股票預測任務。算法分為BiTCN情感分析和LSTM金融時序預測兩部分。情感分析部分使用雙向時間卷積網(wǎng)絡對整個社交媒體文本信息進行情感分析,獲得情感特征;金融時序預測部分將差分運算后的金融時間數(shù)據(jù)和從文本中得到的情感特征加權融合作為輸入,運用LSTM神經網(wǎng)絡完成股票預測任務??傮w框架如圖1所示。
圖1 總體框架
為了能夠更好地解決時序性問題,本文提出的模型應用了時間卷積網(wǎng)絡[12]。普通的時間卷積網(wǎng)絡對源文本數(shù)據(jù)進行單向卷積計算,完成序列建模,每個詞匯(特指在文章分詞后的一個詞語,后文統(tǒng)稱為詞匯)的編碼信息僅僅來自于上文的文本語義特征。但是在文本處理任務中,詞匯的語義信息來源與詞匯的下文語義信息也有很大的關聯(lián)。因此,單向的時間卷積網(wǎng)絡會忽略下文的語義信息,不能夠更好地獲取全文的文本語義特征。針對以上情況,本文提出一種基于雙向時間卷積網(wǎng)絡的情感分類算法,對文本進行雙向特征提取,再將前向和后向的最后一個時刻的特征向量進行融合,從而得到文本整體語義向量,并在此基礎上對文本進行情感分析。BiTCN情感分析部分框架如圖2所示。
圖2 BiTCN情感分析框架
(1)詞嵌入
本文使用fastText[13]工具來構建詞向量。在金融文本數(shù)據(jù)集上進行詞向量預訓練,得到所有詞匯的稠密詞向量表示。該方式訓練的詞向量能夠很好地表達詞匯的信息特征,能夠體現(xiàn)出詞匯之間的相似性和關聯(lián)性。此外,fastText工具還可以快速搭建簡單的分類器,對每一個詞匯所屬于的情感類別進行初步預判,從而幫助模型對文本進行情感分析。
本文對一篇文章分詞后的序列E={e1,e2,…,en}進行詞嵌入時,將每一個詞匯et在詞匯表中的one-hot編碼拼接成輸入矩陣nword∈Rn×Nword>,再通過嵌入矩陣Ww轉化為詞向量矩陣ew。詞嵌入矩陣如圖3所示
圖3 詞嵌入矩陣
ew=nword(Ww)T
(1)
其中,Ww∈RDd×Nword>,Nword表示詞匯表中的詞匯數(shù),Dd表示詞向量維度。
(2)雙向空洞因果卷積層
時間卷積網(wǎng)絡中卷積的因果性質主要通過因果卷積[14]實現(xiàn)。因果卷積的輸出僅與當前(t時間點)與過去(0~t-1時間點)的輸入有關,不涉及到未來(t+1時間點)的信息。一維因果卷積層可視化如圖4所示。
圖4 一維因果卷積層
本文在輸入序列的左側進行k-1個零向量填充(k為卷積核大小)。目的是將輸入向量的維度與卷積計算后的結果維度相同,即
(2)
如圖3所示,若想要增加卷積的感受野,構建長期記憶,那么因果卷積需要非常多的層級數(shù)或較大的卷積核。而卷積層數(shù)的增加可能會帶來梯度消失、訓練復雜、擬合效果不好等問題。為了杜絕這個問題,本文提出的模型在因果卷積的基礎上引入了空洞卷積。
空洞卷積的定義請參見文獻[15],在保證參數(shù)個數(shù)不變和輸出的特征映射大小不變的情況下,增大了卷積核的感受野。對于一維的輸入序列ew∈R和卷積核filter:{1,2,…,k-1}∈R,對序列中的ω元素的空洞卷積運算公式如下
(3)
其中,d為空洞系數(shù),控制兩個卷積核之間插入多少個零向量,ω表示當前元素所在的單元位置,ω-d·i表示上一層使用的輸入單元位置。
為了確保能夠產生足夠長的有效歷史信息以及使卷積核能夠在有效的歷史信息中覆蓋所有的輸入單元,d將隨著網(wǎng)絡深度的增加而指數(shù)級地增大??斩匆蚬矸e層可視化如圖5所示。
圖5 空洞因果卷積層
如圖5所示,卷積核大小k為2,第一層使用的空洞系數(shù)d為1,后面層級的空洞大小依次加大。如圖4所示,常規(guī)因果卷積只能觀察到最后5個輸入數(shù)據(jù),而空洞因果卷積可以觀察到所有16個輸入數(shù)據(jù),并且空洞因果卷積執(zhí)行的速度更快,效率更高。
由于時間卷積網(wǎng)絡的感受野隨網(wǎng)絡深度的加深而擴大,會出現(xiàn)訓練困難、收斂緩慢等問題,因此,本文模型引入殘差模塊[16]和批標準化手段以解決上述問題。模型在應用了批標準化后的殘差模塊結構如圖6所示。
圖6 加入批標準化的殘差模塊結構
批標準化是通過一定的規(guī)范手段,把在訓練過程中越來越偏的分布強制拉回到均值為0方差為1的標準正態(tài)分布,讓梯度變大,從而避免梯度消失問題產生。
假設每個batch輸入為L={l1,l2,…,lu},共有u個,則某個樣本li的線性激活值sli為
sli=Wlli+b
(4)
其中,Wl為權重矩陣,b為偏置系數(shù)。
如圖5所示,對隱藏層內每個神經元的激活值sli進行均值為0,方差為1的正態(tài)分布變換。詳細計算過程如下
(5)
(6)
(7)
(8)
通過式(4)-式(8),使模型的梯度增大并加快了訓練收斂速度。但該正態(tài)分布變換會使網(wǎng)絡的表達能力下降,故本文設置了兩個調節(jié)參數(shù)γ,β。對變換后的值再進行反變換操作,從而抵消正態(tài)分布變換的副作用。
(9)
(10)
其中,Wp×q是線性變換參數(shù)矩陣,p為原始向量維度,q為線性變換后的語義向量維度。
所謂“無理”,是指語言表達打破了習慣的思維邏輯,違反常情,不合常理;而所謂“妙”,是指讀者在品讀詩句,鑒賞詩情時,所產生的獨特深刻的審美快感。這些詩句有的描寫事物時用一種反常規(guī)的詞語搭配,或者反常規(guī)的句法結構;有的表達情意時有悖常識,或者不合情理,但表達出來的卻是極為引人入勝的審美效果。詩歌若是寫,新穎且別有滋味。而個中韻味,則有待我們細咂慢品。
(11)
(3)softmax輸出
利用融合后的語義特征信息h,經過softmax層得到每個交易日的文本情感特征向量
p=softmax(hW2q×c+b)
(12)
其中,W2q×c為參數(shù)矩陣,c是情感分類的類別,b為偏差,其維度也是c。
在本小節(jié)中,將分別介紹差分運算和LSTM神經網(wǎng)絡。首先,對實驗數(shù)據(jù)集進行差分運算預處理,處理后的金融時序數(shù)據(jù)和文本情感特征向量作為輸入,通過LSTM神經網(wǎng)絡完成金融時序預測任務。金融時序預測部分框架如圖7所示。
圖7 金融時序預測框架
(1)差分運算
平穩(wěn)的時間序列是建立時間序列預測模型的前提,由于金融時間數(shù)據(jù)具有非線性、非平穩(wěn)[17]的特性。因此,選用差分運算對實驗數(shù)據(jù)集進行預處理。差分運算通過計算相鄰交易日的調整后收盤價的差值,來獲得較為平穩(wěn)的時間序列。假設金融時間序列為D={d1,d2,…,dm},m是金融時序數(shù)據(jù)量,t時刻的差分運算如式(13)所示
d′>t=dt-dt-1
(13)
其中d′>t是差分后的序列(第t-1天和第t天調整后收盤價的漲跌點),dt和dt-1分別是原始序列中第t天和第t-1天的調整后收盤價。
(2)LSTM神經網(wǎng)絡
循環(huán)神經網(wǎng)絡(recurrent neural network,RNN)是一種特殊的深度神經網(wǎng)絡結構,其與傳統(tǒng)的神經網(wǎng)絡相比,RNN模型具有時序性,前一個隱層的輸出會作為下一個隱層的輸入,由此引入了時間維度。但在預測過程中,仍然存在梯度爆炸和梯度消失的問題。因此,使用RNN模型進行長序列處理的效果不佳,導致時間序列的長期依賴關系難以學習[18]。
長短時記憶網(wǎng)絡(long short term memories,LSTM)是一種特殊的循環(huán)體結構,它的一個重要設計是加入了記憶細胞狀態(tài)c和三大“門”結構。LSTM模型與RNN模型相比,克服了梯度爆炸和梯度消失的困難,更能夠記住長期的信息[19]。LSTM網(wǎng)絡單元如圖8所示。
圖8 LSTM網(wǎng)絡單元
如圖8所示,差分后金融時間數(shù)據(jù)的輸入序列為D={d′>1,d′>2,…,d′>m},文本情感特征的輸入序列為P={p1,p2,…,pm},則LSTM的隱藏狀態(tài)分別為S1,S2,…,Sm。LSTM模型具有三“門”一狀態(tài)結構,包括輸入門、遺忘門、輸出門和細胞狀態(tài)。其中,輸入門控制那些信息傳遞到當前狀態(tài)中,遺忘門控制從當前狀態(tài)中移除哪些信息,輸出門控制當前狀態(tài)中的哪些信息用作輸出。
在LSTM循環(huán)體中,輸入門、遺忘門和輸出門的輸入均為t時刻的金融數(shù)據(jù)輸入d′>t、t時刻的文本特征輸入pt和t-1時刻的隱藏狀態(tài)St-1,并使用sigmoid函數(shù)將門的輸出控制在區(qū)間[0,1]。假設隱藏單元個數(shù)為s,t時刻的輸入門、遺忘門和輸出門分別計算如下
(14)
it=σ(d′>tWdi+ptWpi+St-1Whi+bi)
(15)
ft=σ(d′>tWdf+ptWpf+St-1Whf+bf)
(16)
ot=σ(d′>tWdo+ptWpo+St-1Who+bo)
(17)
其中,σ為sigmoid函數(shù),Wdi,Wpi,Wdf,Wpf,Wdo,Wpo為輸入權重,Whi,Whf,Who分別為輸入門權重、遺忘門權重和輸出門權重,bi,bf,bo為偏差參數(shù)。
(18)
其中,Wdc,Wpc,Whc為權重參數(shù),bc為偏差參數(shù)。
(19)
其中,?為按元素乘法。
最后,t時刻的記憶細胞ct經過tanh層得到一個值域為[-1,1]的向量,該向量與輸出門得到的輸出向量ot相乘,便可得到最終的隱藏狀態(tài)St
St=ot?tanh(ct)
(20)
本文以上海證券綜合指數(shù)(又稱上證指數(shù))作為研究對象,金融時序數(shù)據(jù)樣本采用從2010年1月1日到2020年4月15日的上證指數(shù)數(shù)據(jù),共計2499個交易日的股票歷史數(shù)據(jù)。每個交易日都擁有5個標簽(開盤價、最高價、最低價、調整后收盤價、振幅和成交額),本文選用調整后收盤價作為該模型的預測目標。上證指數(shù)的調整后收盤價如圖9所示。
圖9 上證指數(shù)的調整后收盤價
為了從數(shù)據(jù)源上保證文本語料和股市之間的領域相關性,本文自行爬取的金融社交媒體的文本信息主要來源是東方財富財經新聞。每個交易日對應數(shù)十條社交媒體信息,共371 020條社交媒體信息數(shù)據(jù)。
本文將金融時序數(shù)據(jù)按照80%和20%的比例分為兩部分,分別為訓練集和測試集。測試集有252個數(shù)據(jù),用于評估模型的預測效果。實驗數(shù)據(jù)集見表1。
表1 實驗數(shù)據(jù)集統(tǒng)計
本文中出現(xiàn)的符號說明見表2,其它符號均在文中詳細標注。
表2 本文中出現(xiàn)的符號說明
本文通過對數(shù)據(jù)集與模型的分析,調整超參數(shù)初始值,以達到誤差最小化。模型的驗證曲線與學習曲線如圖10所示。
如圖10(a)所示,網(wǎng)絡深度在0-5層內,隨著網(wǎng)絡深度的增加,訓練分數(shù)和交叉驗證分數(shù)不斷增大。網(wǎng)絡深度到達5層之后,分數(shù)慢慢接近最大值。因此本文的網(wǎng)絡深度選擇為5層。如圖10(b)所示,學習曲線顯示了一個非常高的可變性,并且在第520個交易日之前交叉驗證分數(shù)很低。第520個交易日后兩條曲線慢慢融合在一個很高的分數(shù)上,因此,數(shù)據(jù)量大的數(shù)據(jù)集可以使模型預測效果變好。
圖10 BiTCN-LSTM模型的驗證與學習曲線
正則化旨在引入一個α值參數(shù)來對其相互之間系數(shù)的權重進行標準化并且懲罰其模型復雜度。α值與模型復雜度呈負相關性,α值越低,模型越復雜,由于方差增加而增加的誤差也會相應增加。另一方面,α值越高,模型越簡單,由于偏差造成的誤差就會越大。因此,選擇最佳的α值,以便達到最小化誤差的效果。不同α值選擇對正則化的影響如圖11所示。
圖11 誤差與不同α值選擇的變化曲線
如圖11所示,α值為2.006時,模型誤差達到最小化。故本文正則化參數(shù)α值設置為2.006。
(21)
本文采用上述數(shù)據(jù)集進行實驗,在金融時序預測模型訓練過程中使用均方誤差損失,使用Adam算法來優(yōu)化神經網(wǎng)絡權重,batch_size為40,dropout[20]設置為0.8。迭代500輪的結果如圖12所示。虛線和實線分別代表訓練損失值(train loss)變化情況和測試損失值(test loss)變化情況。
圖12 BiTCN-LSTM模型訓練損失值與測試損失值 變化曲線
模型測試集中500天的預測值與真實值的對比曲線如圖13(a)所示。實線和虛線分別代表數(shù)據(jù)標準化后的測試集預測值和真實值的變化情況。預測值與真實值之間的差異曲線如圖13(b)所示。殘差如圖13(c)所示。
圖13 BiTCN-LSTM模型預測值與真實值對比
如圖13(b)、圖13(c)所示,模型預測值曲線呈正態(tài)分布,符合自然規(guī)律。此外,本文提出的BiTCN-LSTM模型對由重大政治事件或重大自然災害等因素影響而引起的突然的價格上漲或下跌也具有較好的預測效果。
此外,本文與3個傳統(tǒng)金融時序預測模型進行了對比實驗,實驗結果詳情見表3。其中:
表3 不同模型之間的RMSE評價指標對比
ARIMA[21]:代表文獻[21]中提出的股票趨勢預測模型。
RNN[22]:代表基于循環(huán)神經網(wǎng)絡的股票趨勢預測模型。
LSTM[23]:代表基于長短時記憶神經網(wǎng)絡的股票趨勢預測模型。
BiTCN-LSTM(本文):代表本文提出的基于社交媒體文本信息和LSTM的股票趨勢預測模型。
由表3可以看出,以上海證券綜合指數(shù)作為研究對象,使用ARIMA模型、RNN模型和LSTM模型所得到的RMSE值分別為55.30、23.61和15.12。與此同時,本文設計的BiTCN-LSTM模型得到的RMSE值為11.68,本文模型與傳統(tǒng)金融時序預測模型相比,RMSE值分別降低78.88%、50.53%和22.75%。
2020年初的新冠肺炎疫情肆虐,從2020年第一個交易日的A股暴跌到美股的4次熔斷,疫情對股市的影響巨大。本文針對上述情況將LSTM模型與本文模型(BiTCN-LSTM)做對比實驗。實驗結果如圖14所示。虛線代表使用LSTM模型的預測值,點線代表真實值,實線代表使用本文模型的預測值。
圖14 LSTM模型與本文模型的對比實驗結果
如圖14所示,由于疫情影響,導致近期股市的波動劇烈。LSTM模型無法做到準確預測,而本文模型在加入社交媒體文本情感特征后,能夠較為準確地預測股市趨勢。因此,本文所提出的BiTCN-LSTM模型具有更好的預測性能。
股市在市場經濟中占據(jù)重要地位,準確的金融時序預測結果對股市交易操作和規(guī)避股市風險都具有指導作用。本文通過對金融時序預測的研究與學習,針對傳統(tǒng)預測模型中忽略社交媒體文本信息對股價變化影響等問題,提出了一種融合社交媒體文本信息和LSTM的股票趨勢預測模型(BiTCN-LSTM)。針對傳統(tǒng)預測模型中忽略社交媒體文本信息對股價變化的影響,該方法使用雙向時間卷積網(wǎng)絡對社交媒體文本信息進行特征提取和情感分類,在預測模型的輸入層面加入社交媒體文本信息特征。同時結合差分運算和LSTM神經網(wǎng)絡,有效解決了時間序列的平穩(wěn)性問題,進一步提高了預測準確率。采用上證指數(shù)和股票社區(qū)評論作為基準數(shù)據(jù)集,實驗對比分析了現(xiàn)有金融時序預測方法,本文的股票趨勢預測效果有了很大的提升。