LSTM(Long Short Term Memory, 長短期記憶網絡)是循環神經網絡(Recurrent Neural Network, RNN)的一種特例,在金融領域多用於時序分析場景。近期在研究機器學習在金融時間序列分析中的應用,而LSTM又是在人工智慧領域比較時間序列場景的模型,所以總結了一些LSTM在時序分析中的應用思路。
循環神經網絡RNN是深度學習中應用較為廣泛的一種模型。在傳統的神經網絡框架中通常包含一個輸入層、一個輸出層和多個隱層。層與層之間是全連接的,但每一層的各個節點是無連接的。這意味著輸入、輸出之間都是相互獨立的,也是傳統神經網絡無法處理時間序列數據的原因——因時序問題考慮的是前後結點(單詞、事件、數值...)的關聯關係,各結點並非相互獨立的關係。
神經網絡:各層級之間結點相互獨立
RNN採用了一種巧妙的設計——循環結構來彌補上述問題,從而可以處理序列數據。這使得RNN常被用於自然語言處理 (NLP)、語音識別等領域。在金融應用場景中,可以作為行情研報讀取、金融時序分析、資產波動率分析等方向。
RNN網絡會對前面的信息進行記憶並應用於當前輸出的計算中——隱藏層之間的節點不再無連接而是有連接的,並且隱藏層的輸入不僅包括輸入層的輸出還包括上一時刻隱藏層的輸出。換句話說,RNN在鏈式結構中增加了重複性的神經網絡模塊,重複模塊一般使用非線性tanh作為。
RNN:隱藏層輸入包括輸入層的輸出和上一時刻隱藏層的輸出
由於RNN存在梯度消失(vanishing gradient)的問題——在多層神經網絡中後面結點對於前序結點感知能力下降,也就是記不住過去發生的事情。這時候就需要一種新的結構來幫助RNN記憶,即LSTM(Long Short Term Memory)。可以看出LSTM的名字含義就是解決長短期的記憶。
LSTM與RNN結構本質上並沒有什麼不同,只是使用不同的函數去去計算隱藏層的狀態。LSTM採用了一種新的結構——細胞單元(Cell)。Cell保存了當前輸入狀態之前保存的狀態,而LSTM模型實現的基礎就是Cell的狀態。
LSTM通過"門(Gate)"的結構判斷Cell的狀態,實現信息有選擇的通過。門的結構在數學意義上是一個Sigmod函數和點乘乘法(Pointwise)。Sigmod函數也就是Logistic Regression常用的激活函數,也被用作神經網絡的閾值函數,將結果映射到【0,1】之間。在LSTM中,0代表所有量都可以通過,1代表所有量均不能通過。LSTM的「門」結構包括三種形式:
忘記門(Forget Gate):判斷哪些Cell狀態需要被丟棄。通過Sigmod函數的結果判斷是保留(輸出1)還是丟棄(輸出0):輸入門(Input Gate):判斷哪些信息需要加入到Cell狀態中。通過Sigmod函數判斷需要更新的值,通過tanh(激活函數)創建新的向量增加到Cell狀態中:輸出門(Output Gate):更新Cell狀態後輸出。通過Sigmod函數判斷哪些部分需要輸出,再通過tanh函數處理Cell狀態最終輸出:總結下來,LSTM模型在RNN中增加了Cell結構和「門」,通過「門」來控制Cell狀態的方式,實現長期依賴的信息分析。在實際應用中,若我們希望預測金融資產價格,由於資產波動是一個典型的時間序列信息,可以藉助LSTM模型實現。
LSTM:通過Sigmod和tanh控制Cell狀態的輸入和輸出
金融時間序列分析是將一些統計指標按其發生的時間先後順序排列而成的數列,例如資產價格、波動率等,可根據歷史數據對未來進行預測。若對金融資產波動有所了解的話,可以看出時間序列包括長期總體趨勢、周期性/季節性變動趨勢、循環規律變動趨勢、不規則變動趨勢(隨機遊走)等等。
在金融時序分析中,判斷資產價格是比較常見的一種,例如股價預測。傳統計量經濟學中的時序分析一般是自回歸移動平均模型(ARIMA)。LSTM在深度學習中可以作為時序分析的模型來預測資產價格。如下是我總結的一個利用LSTM模型預測股價的一般步驟:
1. 數據收集:收集上證A股市場過去X年的收盤價;
2. 選擇框架:深度學習框架可以利用Keras、Theano或TensorFlow。一般多採用Keras封裝,後端採用Theano和TensorFlow;
3. LSTM建模:可利用Keras框架封裝好的LSTM模型方便的定義:
4. 訓練預測:可利用預測函數實現直接預測、滾動預測和滑動窗口
J.P.Morgan:LSTM的滾動窗口實現對SPX價格預測
由於Keras框架在我的Windows系統上一直沒有配置好,我沒有用Python在Keras上測試上證A股市場的收盤價預測。後續若配置成功後我會實際測試一下這個Case。雖然利用LSTM方法預測股價目前看還存在很多問題,但這不失為深度學習在量化金融中的應用場景之一,可結合其他機器學習算法在技術分析中的應用來輔助判斷。
備註:本文圖片取自於Big Data and AI Strategies: Machine Learning and Alternative Data Approach to Investing. J.P.Morgan 2017
從大類資產配置角度看智能投顧
金融科技中大數據技術應用趨勢
新金融環境下的監管科技(RegTech)與技術應用趨勢
從投資組合理論與實踐角度看智能投顧
網際網路時代商業銀行的數據思維與企業轉型
大數據時代的金融風險管理
金融科技的數據邏輯
雲計算時代業務績效管理BPM構想
區塊鏈與資料庫:一種混合計算系統架構
網際網路金融與大數據應用分析
2016金融領域大數據發展報告
區塊鏈技術及應用發展
人工智慧是不是「灰犀牛」?
機器學習在金融領域的創新應用
人工智慧是個偽命題
機器學習與金融風險管理
從機器學習角度看智能投顧
R、Python和Mahout實現隨機森林算法
大數據分析—數據科學應用場景與實踐精髓
多年金融服務、金融科技諮詢經驗,曾服務於大型金融集團、FinTech公司、跨國IT企業,為多家商業銀行、證券公司、保險機構提供業務戰略諮詢與信息化解決方案,在金融科技、大數據與人工智慧在金融業的應用、金融風險管理、數據治理和信息化戰略等方面擁有豐富的經驗。