LSTM在金融時序分析中的應用

2021-02-23 金融科技顧問

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企業,為多家商業銀行、證券公司、保險機構提供業務戰略諮詢與信息化解決方案,在金融科技、大數據與人工智慧在金融業的應用、金融風險管理、數據治理和信息化戰略等方面擁有豐富的經驗。

相關焦點

  • 極端時序預測LSTM+AutoEncoder
    讓我們一起跟著作者的思路看下改進之後的預測效果,來吧展示~問題概述時序預測中的極端時序預測是一個經常會遇到的噩夢,今天我終於發現了處理這個問題非常有趣的一篇文章。特徵向量通過拼接後作為新的輸入傳到LSTM Decoder模塊中做預測(Encoder模塊輸入的是多個時間序列,這裡是拼接好的單一向量)。Decoder模塊也被稱為forecaster模塊,其工作流程十分好理解:輸入一個初始的窗口,代表著不同區域的若干車輛需求數據。
  • LSTM模型在問答系統中的應用
    在問答系統的應用中,用戶輸入一個問題,系統需要根據問題去尋找最合適的答案。1、採用句子相似度的方式。根據問題的字面相似度選擇相似度最高的問題對應的答案,但是採用這種字面相似度的方式並不能有效的捕獲用戶意圖的能力有限。
  • 常見的時序模型:RNN/LSTM/GRU
    x固定,y可變。 圖片標註Klaus Greff LSTM & Colah’s Blog先忽略下圖中的藍線部分,是LSTM的一種變體。去掉所有邏輯門,這樣下圖就剩下中間虛線所框部分。可以這樣簡單地理解LSTM。
  • 金融市場中的NLP——情感分析
    2018年,在一些NLP任務中,一種名為BERT的最先進(STOA)模型的表現超過了人類的得分。在這裡,我將幾個模型應用於情緒分析任務,以了解它們在我所處的金融市場中有多大用處。有很多文章和博客解釋了這種架構,比如Jay Alammar的文章:http://jalammar.github.io/illustrated-bert/我在金融行業工作,在過去的幾年裡,我很難看到我們在NLP上的機器學習模型在交易系統中的生產應用方面有足夠的強勁表現。
  • (源碼)tflearn/tensorflow實現金融文本情感分析:LSTM/雙向LSTM/CNN
    長文本的分類,在傳統的機器學習已經有很普遍的應用,比如新聞分類,話題分類。在深度學習崛起後,短文本分類在電商、電影評論中的應用也開始流行。
  • 如何使用LSTM在Keras中快速實現情感分析任務
    本文對 LSTM 進行了簡單介紹,並講述了如何使用 LSTM 在 Keras 中快速實現情感分析任務。長短期記憶網絡通常被稱為 LSTM,它是由 Hochreiter 和 Schmiduber 提出的,被廣泛地應用在語音識別、語言建模、情感分析和文本預測中。
  • 教程 | 如何使用LSTM在Keras中快速實現情感分析任務
    選自TowardsDataScience作者:Nimesh Sinha機器之心編譯參與:Nurhachu Null、路雪本文對 LSTM 進行了簡單介紹,並講述了如何使用 LSTM 在 Keras 中快速實現情感分析任務
  • 騰訊優圖實驗室高級研究員棟豪:時序動作分析技術的研究與應用 |...
    第一講由優圖實驗室資深高級研究員瑋劍主講,主題為《3D人臉重建技術的研究與應用實例》。第二講由優圖實驗室研究員太平主講,主題為《人臉安全技術的研究與應用》。12月14日晚7點,「騰訊優圖專場」第三講上線,由騰訊優圖實驗室高級研究員棟豪參與,並圍繞《時序動作分析技術的研究與應用》這一主題進行直播講解。
  • 時序分析中的一些基本概念
    時序分析時FPGA設計中永恆的話題,也是FPGA開發人員設計進階的必由之路。慢慢來,先介紹時序分析中的一些基本概念。本文引用地址:http://www.eepw.com.cn/article/201710/365595.htm1.
  • FPGA設計中的時序問題的詳細分析與解決方案
    FPGA設計中的時序問題的詳細分析與解決方案 技術編輯archive1 發表於 2017-11-24 19:49:44 耗費數月精力做出的設計卻無法滿足時序要求,這確實非常令人傷心
  • 金融行業中BI分析的應用及作用
    我們平時聽說的商業智能其實就是BI分析,它是一種提高企業智能化的手段和工具,既可以滿足企業發展的需要,而且也可提高企業競爭力。datafocus作為數據分析系統,很多企業都一直在運用。今天小編主要和大家說說金融行業中BI分析的應用及作用。
  • NLP入門(十)使用LSTM進行文本情感分析
    情感分析簡介  文本情感分析(Sentiment Analysis)是自然語言處理(NLP)方法中常見的應用,也是一個有趣的基本任務,尤其是以提煉文本情緒內容為目的的分類。它是對帶有情感色彩的主觀性文本進行分析、處理、歸納和推理的過程。  本文將介紹情感分析中的情感極性(傾向)分析。所謂情感極性分析,指的是對文本進行褒義、貶義、中性的判斷。在大多應用場景下,只分為兩類。
  • FFT處理器寄生參數提取和靜態時序分析
    關鍵詞:FFT處理器;Star_RCXT;寄生參數抽取;Primetime;靜態時序分析引言對於應用0.18mm及以下工藝的設計而言,二維提取進行Sign-off靜態時序分析就顯得有些粗略,而且精度不夠。
  • 時序邏輯電路的分析方法
    打開APP 時序邏輯電路的分析方法 佚名 發表於 2009-04-07 23:18:11 時序邏輯電路的分析方法1.
  • 約束、時序分析的概念介紹
    獲得正確的時序分析報告  幾乎所有的FPGA設計平臺都包含靜態時序分析工具,利用這類工具可以獲得映射或布局布線後的時序分析報告,從而對設計的性能做出評估。靜態時序分析工具以約束作為判斷時序是否滿足設計要求的標準,因此要求設計者正確輸入約束,以便靜態時序分析工具輸出正確的時序分析報告。
  • 時序分析的一些基本概念
    時序分析時FPGA設計中永恆的話題,也是FPGA開發人員設計進階的必由之路。慢慢來,先介紹時序分析中的一些基本概念。本文引用地址:http://www.eepw.com.cn/article/201808/385204.htm1.
  • 自己動手做聊天機器人 三十三-兩套代碼詳解LSTM-RNN——有記憶的神經網絡
    把樣本拆成每個二進位位用於訓練是因為二進位加法中存在進位標記正好適合利用LSTM的長短期記憶來訓練,每個樣本的8個二進位位剛好是一個時間序列,作者解釋在http://nicodjimenez.github.io/2014/08/08/lstm.html,具體過程還可以參考http://colah.github.io/posts/2015-08-Understanding-LSTMs/中的圖來理解。
  • FPGA時序分析—vivado篇
    可能排版有些亂,有些圖都是直接從文章中截取,但是不影響閱讀。時序分析的基本步驟:一個合理的時序約束可以分為以下步驟:時序約束整體的思路與之前我說的方法基本一致。整體的思路如下:先是約束時鐘,讓軟體先解決內部時序問題;(在這一步驟中可以適當加入時序例外,以便時序通過)然後再加入IO的延遲約束;最後針對沒有過的時序,添加時序例外。在《vivado使用誤區與進階》中,提到了一種叫 UltraFAST 的設計方法。針對下圖中所說的根據迭代結果添加必要的例外約束(步驟1),為什麼是添加必要的呢?
  • 在 TensorFlow 上使用 LSTM 進行情感分析
    我們將介紹如何將深度學習技術應用到情感分析中。該任務可以被認為是從一個句子,一段話,或者是從一個文檔中,將作者的情感分為積極的,消極的或者中性的。這篇教程由多個主題組成,包括詞向量,循環神經網絡和 LSTM。在了解這些概念之後,我們將在文章的最後給出完整的代碼。在討論具體的概念之前,讓我們先來談談為什麼深度學習適合應用在自然語言處理中。
  • 從靜態時序分析到SDRAM時序收斂(上篇)
    下面我們進入正題,今天我們講時序本文引用地址:http://www.eepw.com.cn/article/278905.htm  一、從靜態時序分析說起  我理解的靜態時序分析,就是我們在不加激勵的情況下,通過對電路進行時序的延遲計算,預計電路的工作流程,對電路提出我們需要的一些約束條件