時間序列模型

2021-02-28 GoInvest

阿法狗最近給人工智慧長臉了,但是比起一隻貓,它還是弱爆了,我勒個去,是哪只作死的貓敢叫板阿法狗呀。請看封面,對!就是能穿越時空,口袋裝滿高科技的機器貓,字哆啦A夢,號藍胖子。雖然人家長的胖了點,但它的的確確是個機器,還是個肉呼呼,萌噠噠的機器。比起阿法狗,藍胖子只需要一個穿越時空的技能就能在股市中玩的風生水起,帶領大熊當上總經理,出任CEO,迎娶小靜,走向人生巔峰,想想還有點小激動呢。

好,YY結束,現實中的我們還是得通過不斷的分(連)析(蒙)研(帶)究(猜),才能在充滿演技的股市中生存。在前面的文章中,我們討論了大體的交易框架,接下來我們需要討論,在沒有藍胖子的時間機器的情況下,如何從時間中挖掘信息,來指導我們的交易。

ARMA-GARCH模型

名字貌似長了點,看著暈,其實他是兩個模型的合體,一個叫ARMA,一個叫GARCH。別著急,我們來各個擊破。

ARMA模型

這個模型是時間序列模型中的一個重要模型,不僅在金融領域,在其他領域都有廣泛的應用。而ARMA模型其實又是兩個模型的合體,一個叫AR(autoregressive),一個叫MA(moving average)。大家內心肯定有一萬匹草泥馬在奔騰。。。但人家的確是這麼設計的模型,先忍一忍。

AR模型

AR模型中文叫做自回歸模型,意思就是變量自身的數值是自身變量歷史數值的線性組合。上個公式就明白了:

這裡的時間序列變量是,如果我們t時刻的值只和t-1時刻的值相關,我們記得到最簡單的AR(p=1)模型:


這裡的是噪音,一般認為是個均值為0的高斯分布,信號處理裡習慣叫做white noise process。基本進行數據擬合的模型都會加這麼個噪音。加上這個噪音,一個巨傻無比的線性函數就變成了高大上的隨機過程了。

如果我們擬合的時間序列是個穩態過程的話,需要AR(p=1)模型滿足:



顯然,這裡需要,才能使得穩態條件滿足。

MA模型

再來看MA,中文叫做滑動平均,他是把t時刻的數值用當前時刻的噪音和之前的噪音來構造:

最簡單的MA(q=1)模型是:


如果我們擬合的時間序列是個穩態過程的話,需要MA(q=1)模型滿足:


把這倆模型合體,也就是說t時刻的數值使用之前時刻的數值和之前時刻的噪音一起來表示,於是ARMA模型就這麼誕生了:

GARCH模型

再來看GARCH是個啥呢。ARMA一般我們是用來擬合穩態時間序列的,但是在之前我們就介紹了,股票的收益並不是個穩態模型,他的波動率是隨著時間變化的,為了估計波動率的時間序列,我們就需要GARCH模型了。

先看他最基本的形式ARCH模型:



他是說,t時刻的噪音符合高斯分布,而高斯分布的方差是之前噪音的線性組合。

ARCH模型的最簡單形式是ARCH(p=1):

在ARCH基礎上,GARCH又增加了方差本身的信息。使得方差是噪音和方差的線性組合:


GARCH模型的最簡單形式是GARCH(p=1,q=1):

這麼一來,ARMA-GARCH模型的思路就非常明確了,他需要構建收益率的時間序列模型,而收益率是非穩態過程,所以需要ARMA擬合收益的同時用GARCH來輔助擬合波動率。

一般我們在實際中最常用的是ARMA(1,0)-GARCH(1,1)模型,他的表達式為:


也許你很納悶,這麼多參數要如何取值呢?這裡我們要使用梯度下降方法對下面的函數的最大值:

這樣,我們只需要股價信息,得到其收益率的時間序列,直接丟給ARMA-GARCH模型,他就能自動計算出一個波動率序列,並且找到最佳擬合的所有參數。在下一篇文章裡,我們來使用這個ARMA-GARCH模型來構造一個實戰型的交易信號。

最後,歡迎大家訂閱我的微信公眾號GoInvestSG,請用您的纖纖玉手深情的按住下方二維碼,點擊關注:)。

相關焦點

  • 時間序列模型(三)——馬爾可夫模型
    很多教材都會單獨介紹馬爾可夫模型,但它是一種時間序列模型,可以用時間序列模型的思維來學習,並和其它時間序列模型做比較。       狀態空間指的是序列數據的狀態。(最少要有兩種狀態)理論上來說,這個空間可以是離散的,或者是連續的。本文主要討論最重要的離散狀態的情況。
  • 如何使用XGBoost模型進行時間序列預測
    XGBoost也可以被用於時間序列預測,儘管它需要將時間序列數據集先轉換成監督學習問題。它需要用到一種被稱為前進式驗證的特殊方法來評估模型,因為使用k折驗證來評估模型容易導致偏向樂觀的結果。本教程中,你將探索如何為時間序列預測開發一個XGBoost模型。
  • SAS時間序列模型預測未來航班數量
    時間序列模型利用歷史資料進行延伸預測,也稱歷史引伸預測法。
  • 從時間序列ariam模型到Prophet模型的應用
    所遇問題前兩個星期,我的一個朋友(任職於上海的一家數據公司的機器學習崗位)在工作中有一個華為手機各價位銷售趨勢預測的項目,需要用到時間序列,找到我一起做一下協助。了解完數據的特點,我首先想到的是用時間序列裡的arima模型,把2017年1月,2018年1月的數據作為訓練集,2019年1月的數據作為測試集,跑入模型,預測2020年1月的數據,同理用2017年2月,2018年2月的數據作為訓練集,2019年2月的數據作為測試集,預測2020年2月的數據,用這個思路分別來預測2020年1月,2月,3月,4月,5月,6月的數據
  • 時間序列的LSTM模型預測——基於Keras
    一、問題背景    現實生活中,在一系列時間點上觀測數據是司空見慣的活動,在農業、商業、氣象軍事和醫療等研究領域都包含大量的時間序列數據。時間序列的預測指的是基於序列的歷史數據,以及可能對結果產生影響的其他相關序列,對序列未來的可能取值做出預測。
  • R語言ARIMA集成模型預測時間序列分析
    p=18493 本文我們使用4個時間序列模型對每周的溫度序列建模。第一個是通過auto.arima獲得的,然後兩個是SARIMA模型,最後一個是Buys-Ballot方法。我們使用以下數據k=620n=nrow(elec)futu=(k+1):ny=electricite$Load[1:k]plot(y,type="l")我們開始對溫度序列進行建模(溫度序列對電力負荷的影響很大)
  • 時間序列分析(三):平穩時間序列分析之數據準備
    平穩時間序列是時間序列中一類重要的時間序列,對於該時間序列,有一套非常成熟的平穩序列建模方法,這也是本節中將重點介紹的部分。對於非平穩序列,可以通過差分、提取確定性成分等方法,將轉化成平穩序列,再運用平穩序列建模方法進行建模。在實際操作中,由於樣本數據的匱乏,要根據樣本數據要找到生成樣本的真實隨機過程基本是不太可能的。
  • 時間序列基本概念
    平穩時間序列是時間序列中一類重要的時間序列,對於該時間序列,有一套非常成熟的平穩序列建模方法,這也是本節中將重點介紹的部分。對於非平穩序列,可以通過差分、提取確定性成分等方法,將轉化成平穩序列,再運用平穩序列建模方法進行建模。在實際操作中,由於樣本數據的匱乏,要根據樣本數據要找到生成樣本的真實隨機過程基本是不太可能的。
  • 時間序列深度學習:狀態 LSTM 模型預測太陽黑子(上)
    來源:Understanding LSTM NetworksLSTM 模型在預測具有自相關性(時間序列和滯後項之間存在相關性)的時間序列時非常有用,因為模型能夠保持狀態並識別時間序列上的模式。但是,在「狀態」模式下運行時,我們通常可以通過利用時間序列中存在的自相關性來獲得高質量的預測結果。在完成本教程時,我們會進一步解釋。就目前而言,可以認為 LSTM 模型對涉及自相關性的時間序列問題可能非常有用,而且 Keras 有能力創建完美的時間序列建模工具——狀態 LSTM 模型。
  • 序列模型的實現細節
    介紹了變長序列 attention 的常見實現錯誤,並分享了一個簡單的數值穩定實現介紹了對長句的處理方案。討論了長句導致的內存溢出問題以及解決方案。介紹了 使用 TBPTT 對序列任務進行加速的方案,並對其與 BPTT 的區別進行了分析。前言序列模型組件如 RNN 和 Attention 在自然語言處理中有廣泛的應用。
  • 自動化所提出基於腦功能影像時間序列的多尺度卷積循環神經網絡模型
    自動化所提出基於腦功能影像時間序列的多尺度卷積循環神經網絡模型 2019-10-28 自動化研究所 【字體:大 中 小】
  • r語言檢驗時間序列平穩性_r中時間序列平穩怎麼檢驗 - CSDN
    同樣,似乎這個時間序列可能是用加性模型來描述的,因為季節性波動的大小隨著時間的推移大致不變,似乎並不依賴於時間序列的水平,隨機波動似乎也是隨著時間的推移大小不變。因此,我們可能需要轉換時間序列以獲得可以使用加法模型描述的變換時間序列。
  • 特徵工程自動化 時間序列的數據是關鍵
    【IT168 資訊】今天介紹一個通用框架,用於開發時間序列模型,生成特徵並對數據進行預處理,並探索使這一過程自動化的潛力,以便將先進的機器學習算法應用於幾乎所有的時間序列問題。目前大多數機器學習算法都不具有時間意識,不容易應用於時間序列和預測問題。
  • R語言:時間序列經典分析法(二)
    前面一章,介紹了時間序列中涉及到的基本概念,本章將在此基礎上介紹如何對時間序列的資料進行分析,怎麼選擇合適的模型。時間序列的分析方法,已經給大家整理出一個流程圖,如下圖。本章介紹時間序列經典分析法。
  • 數據統計方法:確定性時間序列的分析法
    通常影響時間序列變化的4個要素如下:長期趨勢(T):是時間序列在長時期內呈現出來的持續向上或持續向下的變動。季節變動(S):是時間序列在一年內重複出現的周期性波動。循環波動:是時間序列呈現出得非固定長度的周期性變動。
  • 使用LSTM深度學習模型進行溫度的時間序列單步和多步預測
    本文的目的是提供代碼示例,並解釋使用python和TensorFlow建模時間序列數據的思路。本文展示了如何進行多步預測並在模型中使用多個特徵。本文的簡單版本是,使用過去48小時的數據和對未來1小時的預測(一步),我獲得了溫度誤差的平均絕對誤差0.48(中值0.34)度。
  • 乾貨分享 | 時間序列回歸預測模型——ARIMA
    (1)自回歸模型(AR)在時序分析中,描述時間序列{Xt}自身某一時刻和前p個時刻之間相互關係的模型稱自回歸模型,其形式為:Xt = a1Xt-1 + a2Xt-2 + ... + apXt-p + εt其中,aj 為參數,{εt} 為白噪聲,它反映了所有其它隨機因素的幹擾,其中p為模型階次,即Xt由前p個值決定。
  • 利用深度學習進行時間序列預測
    介紹長期以來,我聽說時間序列問題只能用統計方法(AR[1],AM[2],ARMA[3],ARIMA[4])。這些技術通常被數學家使用,他們試圖不斷改進這些技術來約束平穩和非平穩的時間序列。幾個月前,我的一個朋友(數學家、統計學教授、非平穩時間序列專家)提出讓我研究如何驗證和改進重建恆星光照曲線的技術。
  • 關於時間序列分析,你要知道這些
    文章作者 | 石鵬 文章來源 |  SPSS學堂時間序列簡單的說就是各時間點上形成的數值序列。時間序列分析就是通過觀察歷史數據預測未來的值,研究內容包括長期變動趨勢、季節性變動規律、周期變動規律、以及預測未來時刻的發展和變化等。
  • 基於圖卷積神經網絡GCN的時間序列預測
    時間序列預測任務可以按照不同的方法執行。最經典的是基於統計和自回歸的方法。更準確的是基於增強和集成的算法,我們必須使用滾動周期生成大量有用的手工特性。另一方面,我們可以使用在開發過程中提供更多自由的神經網絡模型,提供對順序建模的可定製的特性。循環和卷積結構在時間序列預測中取得了巨大的成功。