告別RNN,迎來TCN!股市預測任務是時候擁抱新技術了

 2020-09-10 16:00:20.0

本文介紹了 TCN 在股市趨勢預測任務中的應用,表明在集成新聞事件和知識圖譜後,TCN 的性能大幅超過 RNN。


本文主要介紹了以下幾部分內容:

1. 金融時間序列(FTS)中的 深度學習背景介紹;
2. 值得關注的 FTS 數據處理實踐;
3. 時間卷積網絡(TCN);
4. 時間卷積網絡在 FTS 中的應用實例;
5. 基於 TCN 的知識驅動股市趨勢預測與解釋。

1. 背景介紹

金融時間序列(FTS)建模歷史悠久,20 世紀 70 年代初它首次革新了算法交易。FTS 分析包括兩類:基礎分析和技術分析。但這兩種分析方法都受到有效市場假說(EMH)的質疑。

自 1970 年提出以來,EMH 一直備受爭議,它假設股價最終是不可預測的。但這並沒有限制如下研究:通過使用線性、非線性和基於 ML 的模型進行 FTS 建模。

由於金融時間序列具有非平穩、非線性、高噪聲的特點,因此傳統的 統計模型很難準確地預測它們。近年來,越來越多的研究開始嘗試將 深度學習應用於股市預測,雖然還遠遠不夠完善。例如:

2013 年

Lin 等人在論文《An SVM-based approach for stock market trend prediction》中提出一種基於 支持向量機的股票預測方法,建立兩部分 特徵選擇和預測模型,並證明該方法比傳統方法具有更好的泛化能力。

2014 年

Wanjawa 等人在論文《ANN Model to Predict Stock Prices at Stock Exchange Markets》中,提出一種利用誤差反向傳播的前饋 多層感知機來預測股票價格的 神經網絡。結果表明,該模型能夠對典型的股票市場進行預測。

2017 年

進入 LSTM 時代:使用 LSTM 網絡處理時間序列數據的研究激增。

Zhao 等人在論文《Time-Weighted LSTM Model with Redefined Labeling for Stock Trend Prediction》中提出向 LSTM 中加入時間加權函數,其結果優於其他模型。

2018 年

Zhang 等人在文章《Forecasting stock prices with long-short term memory neural network based on attention mechanism》中結合了卷積 神經網絡(CNN)和循環 神經網絡(RNN),提出了一種新的架構——深度廣域 神經網絡(DWNN)。結果表明,與常規 RNN 模型相比,DWNN 模型可以將預測均方誤差降低 30%。

Ha 等人在《Forecasting the volatility of stock price index: A hybrid model integrating LSTM with multiple GARCH-type models》中提出將 CNN 用於定量股票選擇策略,以確定股市趨勢,然後使用 LSTM 預測股票價格,並提出一種混合 神經網絡模型,用於定量擇時策略,以增加利潤。

Jiang 等人在《Stock Price Forecast Based on LSTM Neural Network》中利用 LSTM 神經網絡和 RNN 來構建模型,發現 LSTM 可以更好地應用於股票預測。

2019 年

在論文《Stock closing price prediction based on sentiment analysis and LSTM》中,Jin 等人在模型分析中增加了投資者的情感傾向,並引入經驗模態分解(EMD)與 LSTM 相結合,以獲得更準確的股票預測。基於 注意力機制的 LSTM 模型在語音和圖像識別中很常見,但在金融領域卻很少使用。

Radford 等人提出 GPT-2,旨在設計一個 多任務學習器。它將預訓練與監督微調結合起來,以實現更加靈活的遷移方式。 GPT-2 具有 15 億 參數

在《Knowledge-Driven Stock Trend Prediction and Explanation via Temporal Convolutional Network》中,Shumin 等人提出一種 基於時間卷積網絡的知識驅動方法(KDTCN),來進行股票趨勢預測與解釋。 

他們首先從財經新聞中提取結構化事件,並利用 知識圖譜獲取事件嵌入。然後,將事件嵌入和股票價格結合起來預測股票走勢。實驗表明,該方法對股市趨勢突變情況具有更快的反應能力,在股票數據集上的性能優於 SOTA 方法(本文將重點介紹這一方法)。

2020 年

2020 年,Jiayu 等人和 Thomas 等人提出一類混合注意力網絡,可基於近期新聞預測股票趨勢。具有注意機制的 LSTM 優於常規 LSTM,因爲其獨特的存儲單元結構避免了長期依賴性。

Hongyan 等人在論文《Temporal Convolutional Attention-based Network For Sequence Modeling》中提出一種探索性網絡結構:基於時間卷積注意力的網絡(TCAN)。該網絡結合了 時間卷積網絡注意力機制,包括兩個部分:一個是時間注意力(TA),用來捕獲序列中的相關特徵;另一個是增強殘差(ER),用來提取淺層的重要信息並遷移到深層。

以上時間線旨在方便讀者瞭解 FTS 與 深度學習的歷史關聯,並非淡化同時期學術界其他人所做的重要工作。

需要注意的是:FTS 預測領域的學術出版物可能具有誤導性。由於大量使用模擬器,許多 FTS 預測論文往往會誇大其性能。這些論文中聲稱的許多性能難以復現,因爲它們無法泛化至所預測的特定 FTS 的未來變化。

2. FTS 數據預處理實踐

2.1 去噪

金融時間序列數據(尤其是股票價格)會隨着季節、噪聲和自動校正而不斷波動。傳統的預測方法使用移動平均和差分來減少預測的噪聲。然而,FTS 通常是不穩定的,並且有用信號和噪聲之間存在重疊,這使得傳統的去噪方法無效。

小波分析在圖像和 信號處理等領域取得了令人矚目的成就。它能夠彌補 傅里葉分析的缺點,因此被逐漸引入經濟和金融領域。小波變換在解決傳統時間序列分析問題方面具有獨特優勢,因爲它可以分解和 重構來自不同時域和頻域範圍的金融時間序列數據。

小波變換本質上利用多尺度特徵對數據集進行去噪,從而將有用信號與噪聲高效地分離開來。Jiayu Qiu 等人將 coif3 小波函數用於三個分解層,並通過信噪比(SNR)和 均方根誤差(RMSE)來評估小波變換的效果。SNR 越高,RMSE 越小,小波變換的去噪效果越好:
來源:https://journals.plos.org/plosone/article/file?id=10.1371/journal.pone.0227222&type=printable

2.2 數據 shuffle

在 FTS 中,選擇哪些數據作爲 驗證集並非易事。確實, 驗證集的選擇有無數種方法,但對於變化不定的股票指數,必須仔細考慮。

固定原點方法是最樸素也最常用的方法。給出特定的分割大小,將數據前面一部分分割爲訓練集,後面的部分分割爲 驗證集。但這是一種較爲初級的選擇方法,對於像亞馬遜這樣的高增長股票而言尤其如此。之所以會出現這種情況,是因爲亞馬遜的股價一開始波動性較低,隨着股價的增長,股價波動越來越大。
亞馬遜今年股票價格(圖源:Google Finance)

因此,我們需要訓練一個低波動率動態模型,並期望它能預測高波動率動態。對於上述類型的股票而言,這確實有一定困難,並且還要以性能作爲代價。因此,如果僅考慮這一點,以驗證損失和性能作爲 基準可能存在一定的誤導性。但是,對於像 英特爾這樣波動性較爲穩定的股票(COVID 危機前),這種方法是合理的。

滾動原點重校方法比固定原點方法略穩健,因爲它允許通過對數據的多種不同分割取平均值來計算驗證損失,以避免無法代表高波動率時間段的問題。

最後,滾動窗口方法通常是最有用的方法之一,因爲它尤其適用於長時間運行的 FTS 算法。實際上,該模型輸出多個滾動數據窗口的平均驗證誤差。而這意味着最終獲得的值更能代表最近的模型性能。
數據 shuffle 技術可視化(圖源:https://arxiv.org/abs/1812.07699)

Thomas Hollis 等人的研究表明,滾動窗口(RW)和滾動原點重校(ROR)的性能(58%和 60%)都比簡單的固定原點方法好。這表明對於像亞馬遜這樣的高波動率股票,使用這些數據 shuffle 方法是不可避免的。
數據 shuffle 方法性能比較

3. 時間卷積網絡

時間卷積網絡(TCN),是用於序列建模任務的卷積 神經網絡的變體,結合了 RNN 和 CNN 架構。對 TCN 的初步評估表明,簡單的卷積結構在多個任務和數據集上的性能優於典型循環網絡(如 LSTM),同時表現出更長的有效記憶。

TCN 的特徵是:

1. TCN 架構中的卷積是 因果卷積,這意味着從將來到過去不存在信息「泄漏」;
2. 該架構可以像 RNN 一樣採用任意長度的序列,並將其 映射到相同長度的輸出序列。通過結合非常深的網絡(使用殘差層進行增強)和擴張卷積,TCN 具有非常長的有效歷史長度(即網絡能夠看到很久遠的過去,並幫助預測)。

3.1 TCN 模型架構概覽

3.1.1 因果卷積

如前所述,TCN 基於兩個原則:網絡的輸入輸出長度相同,且從未來到過去不存在信息泄漏。

爲了完成第一點,TCN 使用 1D 全卷積網絡(FCN),每個隱藏層的長度與輸入層相同,並用零填充(長度爲 kernel size − 1)來保持後續層與之前層長度相同。爲了實現第二點,TCN 使用 因果卷積,即卷積中時間 t 處的輸出僅與時間 t 或前一層中的元素進行卷積。

簡而言之: TCN = 1D FCN + 因果卷積

3.1.2 擴張卷積

簡單的 因果卷積回看的歷史長度只能與網絡深度呈線性關係。這使得將 因果卷積應用於序列任務具有一定難度,尤其是需要更長曆史的任務。Bai 等人採用擴張卷積找到了一種解決方案,其 感受野呈指數級增大。對於一維序列輸入 x ∈ R^ⁿ 和濾波器 f:{0,…,k−1}→R,序列元素 s 的擴張卷積運算 F 可定義爲:

其中 d 是擴張因子,k 是濾波器大小,s-d·i 代表過去的方向。因此,擴張卷積等效於在每兩個相鄰的濾波器之間引入一個固定的步長。當 d = 1 時,擴張卷積即爲常規卷積。而使用較大的擴張因子,可使頂層的輸出表示更大範圍的輸入,從而有效地擴展了 ConvNet 的 感受野

擴張因果卷積,擴張因子 d = 1、2、4,濾波器大小 k =3。感受野能夠覆蓋輸入序列中的所有值。

3.1.3 殘差連接

殘差模塊可使層高效學習修改(modification),進而識別 映射而不是整個變換,這對非常深的網絡很有用。

由於 TCN 的 感受野取決於網絡深度 n、濾波器大小 k 和擴張因子 d,因此,對於更深更大的 TCN 來說,穩定性很重要。

3.2 TCN 的優缺點

使用 TCN 進行序列建模具備以下優勢:

並行性。與 RNN 中後繼時間步長的預測必須等待之前時間步完成預測不同,卷積可以並行完成,因爲每一層都使用相同的濾波器。因此,在訓練和評估中,TCN 可以處理一整個較長的輸入序列,而不是像 RNN 中那樣順序處理。

靈活的 感受野大小。TCN 有多種方式更改其 感受野大小。例如, 堆疊更多擴張(因果)卷積層,使用更大的擴張因子,或增加濾波器大小都是可行的選擇。因此,TCN 可以更好地控制模型的內存大小,它們也可以輕鬆適應不同的域。

梯度穩定。與循環網絡不一樣的是,TCN 的反向傳播路徑與序列的時間方向不同。TCN 因此避免了梯度爆炸 / 消失問題,這是 RNN 面臨的主要問題(限制了 LSTM 和 GRU 的發展)。

訓練內存需求低。特別是在輸入序列較長的情況下,LSTM 和 GRU 佔用大量內存存儲其多個單元門的部分結果。然而,在 TCN 中,濾波器是跨層共享的,而反向傳播路徑僅取決於網絡深度。因此,在實踐中,人們發現門控 RNN 比 TCN 消耗的內存更多。

可變長度輸入。RNN 以循環的方式對可變長度輸入進行建模,TCN 也可以通過滑動一維卷積核來接收任意長度的輸入。這意味着,對於任意長度的序列數據,都可以用 TCN 替代 RNN。

使用 TCN 存在兩個明顯的缺點:

評估期間的數據存儲。TCN 需要接收有效歷史長度的原始序列,因此在評估過程中可能需要更多的內存。

域遷移時可能引起 參數更改。不同的域對模型預測所需的歷史量可能有不同的要求。因此,當將模型從僅需要很少記憶(即較小的 k 和 d)的域轉移至需要更長記憶(即較大的 k 和 d)的域時,TCN 可能因爲沒有足夠大的 感受野而表現不佳。

3.3 基準

TCN 和循環網絡在典型的序列建模任務中的評估結果,這些任務通常用來評估 RNN 模型。

上述結果表明,經過最小調優的通用 TCN 架構在大量序列建模任務中優於典型循環架構,而這些任務通常用於對循環架構的性能進行 基準測試。

4. 基於 TCN 的知識驅動股市趨勢預測與解釋

4.1 背景介紹

用於股市趨勢預測的大部分深度 神經網絡存在兩個常見缺陷:1)當前方法對股市趨勢的突然變化不夠敏感;2)預測結果不具備可解釋性。

爲了解決這兩個問題,Deng 等人 2019 年提出一種新型知識驅動 時間卷積網絡(KDTCN)用於股市趨勢預測和解釋,該方法將背景知識、新聞事件和股價 數據集成到深度預測模型中,以解決股市趨勢突變時的趨勢預測和解釋問題。

爲了解決股市趨勢突變下的預測問題,該研究將金融新聞中的事件提取出來並結構化爲事件元組,如「Britain exiting from EU」被表示爲 (Britain, exiting from, EU)。然後將事件元組中的實體和關係鏈接至 知識圖譜(KG),如 Freebase 和 Wikidata。接下來,分別對結構化知識、文本新聞和股價數值進行向 量化和級聯。最後,將這些嵌入饋入基於 TCN 的模型。

實驗表明 KDTCN 可以更快地響應股市突變,在股市數據集上的性能優於 SOTA 方法,此外它還增強了股市突變預測的可解釋性。

此外,基於股市突變預測結果,要想解決可解釋性問題,我們可以通過 知識圖譜中事件的關聯對事件的影響進行可視化。這樣,我們就可以解釋 1)知識驅動的事件如何不同程度地影響股市波動;2)知識如何將股市趨勢預測中與突變相關的事件關聯起來。

4.2 KDTCN 模型架構

這裏介紹的基礎 TCN 模型架構基於第三部分推導而來,通用 TCN 架構包括 因果卷積、殘差連接和擴張卷積。

KDTCN 架構如下所示:

KDTCN 框架圖示

原始模型輸入爲股價 X、新聞 數據庫 N 和 知識圖譜 G。股價經過歸一化處理,並 映射到股價向量:

其中每個向量 p_t 表示股票交易日 t 的實時股價向量,T 表示時間跨度。

至於新聞 數據庫,新聞被表示爲事件集合 ε,然後被結構化爲事件元組 e = (s, p, o),其中 p 爲動作 / 謂語、s 是執行者 / 主語、o 是動作承受者。事件元組中的每個項都與 知識圖譜鏈接,對應 知識圖譜中的實體和關係,通過訓練事件元組和 KG 三元組獲得事件嵌入 V。詳細過程參見 https://core.ac.uk/download/pdf/222446995.pdf。

最後,將事件嵌入和股價向量結合並輸入基於 TCN 的模型。

4.2.1 數據集和基線

數據集:

1. 時間序列股價數據 X:道瓊斯工業平均指數每日記錄構成的股價數據集;
2. 文本新聞數據 N:來自 Reddit WorldNews 頻道的歷史新聞組成的新聞數據集;
3. 結構化知識數據 G:基於兩個常用開放研究 知識圖譜 Freebase 和 Wikidata 的結構化數據構建的子圖。

基線:

使用不同輸入的基線模型。第一列中,前綴 WB 表示詞嵌入,EB 表示事件嵌入,PV 表示股價向量,KD 表示知識驅動。注意,event embedding^(a) 和 event embedding^(b) 分別表示不具備 / 具備 KG 的事件嵌入。

4.3 預測評估

KDTCN 的性能評估基於以下三個方面:1)基礎 TCN 架構的評估;2)不同模型輸入對 TCN 的影響;3)基於 TCN 的模型對股市趨勢突變的預測性能。

基礎 TCN 架構:

在道瓊斯工業平均指數數據集上,不同基礎預測模型的股市趨勢預測結果。

TCN 在股市趨勢預測任務上超過其他基線模型,不管是傳統的 機器學習模型 (ARIMA) 還是深度 神經網絡(如 LSTM 和 CNN),這說明 TCN 在序列建模和 分類問題上有更明顯的優勢。

不同模型輸入:

在道瓊斯工業平均指數數據集上,不同輸入的 TCN 模型的股市趨勢預測結果。

可以看出,WB-TCN 和 EB-TCN 的性能都超過 TCN,這表明文本信息有助於改進預測結果。

KDTCN 獲得了最高的 準確率和 F1 得分,這說明模型輸入集成結構化知識、金融新聞和股價信息是有效的。

模型對股市趨勢突變的預測性能:

基於局部道瓊斯工業平均指數數據集(股市趨勢突變),不同輸入的模型的股市趨勢預測結果。

可以看出,使用知識驅動事件嵌入輸入的模型(如 KDEB-TCN 和 KDTCN)性能大大超過基於數值數據和文本數據的模型。這些對比結果說明,知識驅動的模型對於股市突變能夠做出更快的反應。

那麼,如何 量化股市波動程度呢?

首先,通過識別兩個鄰近股票交易日的波動程度 D_(fluctuation) 獲取股市突變的時間間隔:

其中時間 t 處的 x 表示股票交易日 t 的股票價格。波動程度的差異 C 被定義爲:

如果 | Ci | 超過特定閾值,則可以認爲在第 i 天,股票價格突變。

4.4 解釋預測結果

爲什麼知識驅動事件是不具備 ML 專業知識的人識別股市突變的常規來源?這可以從兩個方面進行解釋:1)將知識驅動事件對突變預測結果的影響可視化;2)將知識驅動事件鏈接至外部 KG,進而檢索事件的背景事實。

將知識驅動事件的影響可視化:

下圖中的預測結果顯示道瓊斯工業平均指數趨勢將下降。注意圖中同色長條表示相同的事件影響,長條的高度反映了影響的程度,事件的流行性自左向右下降。直觀來看,具備更高流行性的事件對股市趨勢突變預測應有更大的影響,但事實並不總是如此。

事件對股市趨勢預測的影響示例。

幾乎所有負影響事件都與這兩個事件有關,如 (British Pound, drops, nearly 5%) 和 (Northern Ireland, calls for poll on United Ireland)。

儘管一些事件對預測股市趨勢上漲有着積極影響也具備高流行性,但整體影響仍是負面的。因此,股票指數波動出現突變可被視爲事件影響和事件流行性的共同結果。

事件元組鏈接至 KG 後的可視化結果:

首先,搜索具備高影響或高流行性的事件元組;然後,回溯包含這些事件的新聞文本;最後,通過 實體鏈接檢索與事件元組相關的 KG 三元組。上圖中,藍色爲事件元組,其中的實體與 KG 鏈接。

列出的這些事件元組字面上並沒有強相關。但是,鏈接 KG 後,它們可以彼此建立關聯,並與英國脫歐和歐盟公投事件產生強相關。通過集成事件影響的解釋,我們可以證明知識驅動事件是突變的常規來源。

結論

循環網絡在序列建模中的優秀效果可能大多是歷史的痕跡。最近,擴張卷積和殘差連接等架構元素的引入使得卷積架構不那麼弱了。近期的學術研究表明,使用這些元素後,簡單的卷積架構在不同序列建模任務上的效果優於循環架構,如 LSTM。由於 TCN 的清晰性和簡潔性,Shaojie Bai 等人提出卷積網絡應被看作序列建模的起點和強大工具。

此外,本文介紹的 TCN 在股市趨勢預測任務中的應用表明,集成新聞事件和 知識圖譜後,TCN 的性能大幅超過 RNN。

參考文獻

[1] Hollis, T., Viscardi, A. and Yi, S. (2020). 「A Comparison Of Lstms And Attention Mechanisms For Forecasting Financial Time Series」. (https://arxiv.org/abs/1812.07699)
[2] Qiu J, Wang B, Zhou C. (2020). 「Forecasting stock prices with long-short term memory neural network based on attention mechanism」. (https://doi.org/10.1371/journal.pone.0227222)
[3] Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio. (2020). 「Neural Machine Translation By Jointly Learning To Align And Translate」. (https://arxiv.org/abs/1409.0473)
[4] Bai, S., Kolter, J. and Koltun, V., 2020. 「An Empirical Evaluation Of Generic Convolutional And Recurrent Networks For Sequence Modeling」. (https://arxiv.org/abs/1803.01271)
[6] Deng, S., Zhang, N., Zhang, W., Chen, J., Pan, J. and Chen, H., 2019. 「Knowledge-Driven Stock Trend Prediction and Explanation via Temporal Convolutional Network」. (https://dl.acm.org/doi/10.1145/3308560.3317701)
[5] Hao, H., Wang, Y., Xia, Y., Zhao, J. and Shen, F., 2020. 「Temporal Convolutional Attention-Based Network For Sequence Modeling」. (https://arxiv.org/abs/2002.12530)

文章來源:機器之心