胡曉彤,程 晨
(天津科技大學 人工智能學院,天津 300457)
金融時間序列數據通常伴隨著大量的噪聲,呈現出非線性、非平穩性等復雜特征[1,2],導致金融時間序列數據很難預測準確。根據時間序列數據的內在變化規律,主要歸類為線性預測和非線性預測兩種方法[3,4]。
在線性預測中常用的經典方法一般是指數平滑方法、自回歸積分移動平均方法等,該類方法結構簡單,計算量少,可以對短期數據進行預測,但是面對長期數據存在局限性。非線性預測方法包括BP神經網絡[5]、支持向量機、循環神經網絡[6]等,非線性預測方法能全面描繪出金融時間序列數據之間的非線性聯系,并能取得相對準確的預測數據。
本研究采用的是非線性預測方法中的循環神經網絡模型方法,即遞歸神經網絡(recurrent neural network,RNN)。由于RNN模型訓練時容易陷入梯度消失問題,于是出現了長短期記憶神經網絡模塊(long-term and short-term memory network,LSTM),LSTM模型是一種改進的時間循環神經網絡,它解決了RNN模型存在的梯度消失問題。但是LSTM模型在進行長期金融時間序列數據預測時是依然存在滯后性問題[7],即時間序列預測中預測數據相較于真實數據滯后的問題,一般都是信息不足而導致預測的滯后。針對這種滯后性問題,本文將通過在LSTM模型加入最值選擇模塊和預測過程中實現短周期數據轉化為長周期數據方法,來降低預測數據的滯后性。
為了提高預測數據精度的,有從數據角度的出發,如基于多源異構數據的結合與處理等[8-11]提升模型的預測精度,也有從模型結構的改變[12,13]提升預測精度。本研究在跨尺度LSTM預測模型基礎上,通過結合經濟學技術性指標多維度數據輸入,來提高模型預測精度。實驗過程中還發現,依據k線圖思路,對金融序列數據進行差值法處理后輸入訓練,模型的預測精度更高,滯后性更弱。
LSTM網絡結構(如圖1所示)是由多個小型神經網絡循環連接構成。這些小型神經網絡結構是由一個或多個細胞(cell)自連接組成,為實現小型神經網絡結構具有記憶功能,故在網絡結構還添加了遺忘門(forget gate)、輸入門(input gate)和輸出門(output gate)3種門限單元系統,所以這些小型神經網絡也稱為記憶模塊。

圖1 LSTM網絡單元
其中,LSTM網絡結構中數據處理流程如下:
先是經過遺忘門ft從細胞中保留所需要的信息
ft=σ(bf+Wfxt+Ufht-1)
(1)
式中:σ為sigmoid激活函數。xt即t時刻的輸入向量,ht-1即t-1時刻的隱藏層向量,bf為偏置循環權重,Wf為輸入權重,Uf為遺忘門權重。
接著,重置細胞中的信息。gt由sigmoid激活函數控制0-1之間的輸出門
gt=σ(bg+Wgxt+Ught-1)
(2)
則在Ct-1基礎上更新細胞狀態Ct為
Ct=f*Ct-1+gt*tanh(bc+Wcxt+Ucht-1)
(3)
最后,由輸出門ot控制信息輸出
ht=ot*tanh(Ct)
(4)
其中,輸出門
ot=σ(bo+Woxt+Uoht-1)
(5)
通過上述操作,LSTM模型就能高效利用輸入歷史數據,從而具有記憶功能。
為解決LSTM模型預測滯后性問題,這里提出一種跨尺度預測方法,即用短周期數據訓練模型,預測長周期數據。對于同一時間跨度的金融序列數據,短周期的數據量是大于長周期數據量的,比如周期2H的數據量是周期6H的數據量的3倍,即1個長周期時間點需要3個短周期時間點來表示。短周期的數據變化率相較于長周期的數據變化率將更小,且金融數據趨勢波動反饋快,那么通過短周期數據集訓練的模型進行預測,將其預測的短周期數據轉化為長周期數據,從而達到降低預測長周期數據的滯后性。


圖2 跨尺度LSTM網絡結構
金融經濟學發展到現在,已經有很多完善的經濟參數技術性分析指標。金融市場交易員依據技術性指標可以預測市場變動。一些常用的技術指標包括:相對強弱指數(relative strength index)、資金流向指數(money flow index)、離散指標(stochastics)、平滑異動移動平均線(MACD)和布林帶(Bollinger Bands)。本研究選取布林帶與MACD技術性分析指標作為研究,觀察這些技術性指標數據的加入對模型預測精度的影響。

布林帶技術指標類似軌道線指標,能反映金融數據波動趨勢范圍。
布林帶有3條線形成。中間線為一般移動平均線(RollingMean)
(6)
高軌道線(BollingerHigh)
(7)
低軌道線(BollingerLow)
(8)
其中,SMA為t周期簡單移動平均,D為特定標準偏差數。
這里關于布林帶參數的設定選擇,多次實驗經驗得出,本研究當t選取20,D為1.7時,模型預測效果最優。
MACD也稱為移動平均聚散指標。MACD指標是通過利用快速(短期)和慢速(長期)移動平均線,還有兩種平均線的聚合與分離征兆,進行雙重平滑運算而得到。MACD指標是基于移動平均線原理發展而來的,具有兩個優點,一是去除了移動平均線頻繁發出虛假信號的缺陷,二是保存了移動平均線的效果,所以,MACD指標具有均線穩定性、趨勢性、安定性等特征,一直以來被從事金融市場人員用來預測金融市場的漲跌。
首先計算平滑系數,其中n為周期數,本研究周短期n=12,長期n=26
(9)
計算指數平均值(EMA)
(10)

計算出離差值(DIF)
(11)
計算出平滑移動平均線DEA
DEAi=(8*DEAi-1+2*DIFi)/10, (i>1)
(12)
其中,DEA1=DIF1。
計算MACD
MACDi=2*(DIFi-DEAi)
(13)
經過數據處理,得到的多維度數據格式部分截圖如圖3所示。基于跨尺度預測方法的基礎上,將多維度數據作為輸入向量進行訓練。

圖3 多維度數據集格式
金融市場常用的K線圖(俗稱蠟燭圖,如圖4所示)來描繪金融市場曲線,K線圖相較于金融時序數值數據的優勢,在于K線圖中蠟燭線能夠分割為不同的時段進行使用,各種周期的時序數據適合。另一方面,K線圖是由一定時間段的金融時間序列數據的open、close、high和low組成,所以K線圖能夠更好地表示金融市場的價格波動趨勢及規律[14]。

圖4 K線圖
通過時序數據數值變化來提取K線圖所表示的數據變化信息及規則,這里采用差值法來提取K線圖的特征信息。也就是將各個時間點的最高值與前一個時間點的閉盤價的差值,作為模型的輸入輸出向量對象進行訓練。
具體方法步驟:
步驟1 首先進行數據處理,針對每個時間點,將第t+1 時間點的hight+1值與第t時間點的closet值進行相減,即xt+1=hight+1-closet,xt+1表示第t時間點閉盤價與第t+1時間點最高值的差值。
步驟2 同理,將第t時間點的hight值與lowt值進行相減,即yt=hight-lowt,yt表示第t時間點的最高值與最低值的差值。
步驟3 將第t時間點xt,yt, 布林帶數據和MACD數據組成新的數據格式,對每個時間點數據進行相同地處理,得到的數據集其特征數為6個維度,部分數據集格式如圖5所示。然后將新的數據集放入跨尺度多元LSTM模型中進行訓練。訓練過程中,模型的窗口序列長度設置為20個。

圖5 數據集格式
步驟4 該跨尺度LSTM模型設置為二元預測輸出,以預測第t+1時間點為例,該模型輸出的預測值分別為第t+1時間點的xt+1和yt+1。 根據第t時間點的實際closet值,就可以預測出第t+1時間 點的最高值hight+1=closet+xt+1, 和最低值lowt+1=hight+1-yt+1。
這里金融序列數據采用外匯數據集,數據來源于軟件MetaTrader5。通過Python中MetaTrader5庫獲取數據進行數據分析處理。
該實驗數據采用H2短周期數據進行訓練模型,來預測H6周期金融數據價格。

由于多維度向量數據實驗中,需要結合布林帶和MACD等指標數據輸入,這與外匯數據集的取值范圍差異化太大,防止數值差異對模型訓練結果影響過大,必須進行歸一化處理,這里將數據集的數值控制在0-1范圍內。歸一化公式如下
(14)
式中:x為原數據集數值,y為處理后的數據集數值,MaxValue為數據集中的最高值,MinValue為數據集中的最低值。
經過多次調參及優化,本研究發現,將模型的測試窗口序列長度設置為20,模型的網絡結構包含2層LSTM層,其中的神經元個數均設置為128。還在網絡結構中增加2層Dropout層,其中dropout系數設置為0.1,再加入1層Dense層,激活函數為relu,再加入1層Dense層,激活函數為linear,得到的最終模型結構如圖6所示。模型的損失函數這里設置為均方誤差(mean squared error,MSE),優化算法設置為Adam。對模型進行訓練300個Epoch,每個Batch設置為256。

圖6 LSTM模型層次結構
模型參數設置的詳細見表1。

表1 模型參數設置
為了評價模型的預測能力,這里采用均方誤差MSE作為評價指標
(15)
其中,n為預測點的總個數,yi為真實值,y′i為對應點預測值。
針對模型的預測滯后性評價,本研究采用的是方紅等[7]實驗中使用的評價指標,即預測滯后性lag
(16)
其中,M、N分別表示測試集預測值和真實值數列內的極大值與極小值的數量和,ti和tk分別表示測試集預測值和真實值數列第i和k各極值對應的排序值。lag越小,說明滯后性越小。
實驗一:跨尺度單元LSTM模型與單元LSTM模型預測效果對比。
為驗證跨周期尺度預測金融數據方法的效果,這里選取外匯數據中的最高值(high)作為輸入對象進行訓練。這里LSTM模型設置為單元輸入LSTM模型。這里跨尺度單元LSTM模型與單元LSTM模型結構參數相同。
驗證集為300條周期2H數據。跨尺度單元模型輸出預測最高值數據300條,將其轉化為100條周期6H的數據,即3個連續時間點的周期2H的數據中選擇最大值作為周期6H的時間點預測值。相對的,周期6H單元LSTM模型輸出預測最高值數據100條。實驗結果如圖7所示。

圖7 跨尺度單元LSTM模型與單元LSTM模型預測效果對比
圖7中,實心曲線為實際周期6H的金融數據曲線,圓點曲線為周期6H單元LSTM模型預測最高值數據曲線,三角點曲線為短周期2H預測長周期的跨尺度單元LSTM模型預測最高值數據曲線。
這里采用MSE和預測滯后性評價指標來進行分析評價,其中Train_MSE為訓練集均方誤差,Test_MSE為驗證集均方誤差。結果見表2。

表2 跨尺度單元LSTM模型與單元LSTM模型預測結果
從結果上看,短周期預測長周期跨尺度LSTM模型相較于傳統同周期預測LSTM模型,在預測金融數據更具有優勢,跨尺度單元LSTM模型均方誤差為0.000 153 2低于單元LSTM模型的0.000 175 4,可以看出跨尺度單元LSTM模型預測的準確度較高。
本實驗中短周期預測長周期跨尺度單元LSTM模型預測結果,其滯后性指標lag=31遠低于同周期預測單元LSTM模型lag=95,從圖中也可看出本周期6H單元LSTM模型預測值曲線與真實值曲線明顯存在“延后平移”,以圖7中時間點10~20段為例,實際數據的極小值位置與跨尺度單元LSTM模型預測數據極小值位置一致(即第一個虛線標注位置),而對應的單元LSTM模型預測數據極小值位置在下一個虛線位置。說明跨尺度單元LSTM模型預測值曲線更符合實際曲線的趨勢波動,表明短周期預測長周期方法能減弱金融時間序列數據預測的滯后性。
實驗二:結合技術性指標數據多維度跨尺度LSTM模型預測效果對比。
在跨尺度LSTM模型的基礎上,這里通過加入技術性指標布林帶數據、MACD數據,來觀察該多維度跨尺度LSTM模型的預測效果。實驗為3組,分別為結合布林帶數據、結合MACD數據和同時結合布林帶與MACD數據。
這里將跨尺度模型設置為多元輸入,模型分別預測了最高值和最低值,為了更加清晰地顯示出模型預測效果,這里結合K線圖進行展示。圖中實心曲線為預測的最高值,實心三角曲線為預測的最低值,圖中K線圖表示的是實際金融數據波動范圍。
實驗結果如圖8~圖10。

圖8 結合布林帶數據多維度跨尺度LSTM模型預測結果

圖9 結合MACD數據多維度跨尺度LSTM模型預測結果

圖10 結合布林帶和MACD數據多維度跨尺度LSTM模型預測結果
采用MSE和預測滯后性評價指標來進行分析評價,其中Train_MSE為訓練集均方誤差,Test_MSE為驗證集均方誤差。結果見表3。

表3 結合不同數據集多維度跨尺度LSTM模型預測結果
從實驗結果中,可以看出相較于單元跨尺度LSTM模型的預測結果,結合技術性指標數據的多維度跨尺度LSTM模型的預測精度更高,均方誤差均小于單元跨尺度LSTM模型,但滯后性沒有太大的變化。結合布林帶數據的多維度跨尺度LSTM模型的均方誤差相較于結合MACD數據的減少了0.000 009 8,可以看出布林帶數據對金融數據預測的效果更優。
結合經濟學技術性指標數據的多維度跨尺度預測方法提高了模型的預測精度。
實驗三:改進型多維度跨尺度LSTM模型預測效果對比。
在實驗二的基礎上,即效果最優的結合布林帶和MACD多維度跨尺度LSTM模型的基礎上,觀察依據K線圖思路的改進型多維度跨尺度數據預測方法的效果。實驗結果如圖11所示。

圖11 改進型多維度跨尺度LSTM模型預測結果
采用MSE和預測滯后性評價指標來進行分析評價,其中Train_MSE為訓練集均方誤差,Test_MSE為驗證集均方誤差。結果見表4。

表4 改進型多維度跨尺度LSTM模型預測結果對比
從圖11和圖10的實驗結果看,依據K線圖思路的改進型多維度跨尺度LSTM模型預測方法的預測結果中,預測的最高值和最低值將實際金融數據K線圖所顯示的波動范圍完全包裹,更好地擬合了金融數據的波動趨勢。從實驗評價指標看,改進型多維度跨尺度LSTM模型的訓練和測試均方誤差均低于多維度跨尺度LSTM模型,說明改進性多維度跨尺度LSTM模型預測精度更高,且預測滯后性為9也低于多維度跨尺度LSTM模型。
本研究為了解決LSTM模型對金融時間序列數據預測時存在的滯后性問題,提出一種跨尺度LSTM模型,通過短周期數據預測長周期數據方法,減弱了LSTM模型對金融時序數據預測的滯后性。并在此基礎上,結合經濟學技術性指標數據進行多維度跨尺度預測,提高了模型預測精度。
不同于傳統金融數據預測方法,直接將金融時序數據(如最高值或最低值)放入模型中進行訓練來預測未來金融數據變化。本研究根據金融市場K線圖理論,對金融時序數據進行處理,通過時序數據數值變化來描述K線圖所表達的數據變化信息及規律,基于改進型多維度跨尺度LSTM模型對該處理后的時序數據進行訓練預測,實驗結果表明,該預測方法相較于傳統預測方法,預測精度更高,滯后性更低。因此,這種改進型多維度跨尺度LSTM模型預測方法在實際應用中可以發揮重要作用。