為何要做時間序列分析#

時間序列建模有兩個主要用途:

  • 解釋:以過去與當前的觀察值,描述變數的演變
  • 預測:以歷史資訊推估未來值

財務分析師日常處理大量時間序列資料:股價、利率、通膨、銷售額、GDP。本章介紹一系列工具,從最簡單的趨勢模型,到自迴歸、隨機漫步、移動平均、ARMA、ARCH,再到多個時間序列之間的迴歸與共整合(cointegration)。

時間序列模型的選擇邏輯#

實務上的建模流程可大致歸納為:

  1. 檢視原始序列圖,判斷趨勢與穩態性
  2. 嘗試趨勢模型(線性或對數線性)
  3. 檢驗殘差是否有序列相關;若有,需要更複雜模型
  4. 嘗試自迴歸(AR)模型,但前提是序列共變異數穩態
  5. 若有單根(unit root),先一階差分再建模
  6. 檢驗季節性、ARCH 效應
  7. 進行樣本外預測檢驗

趨勢模型#

線性與對數線性#

  • 線性趨勢模型:適合每期增加固定金額的序列

$$ y_t = b_0 + b_1 t + \varepsilon_t $$

  • 對數線性趨勢模型:適合以固定比率成長的序列

$$ \ln(y_t) = b_0 + b_1 t + \varepsilon_t $$

通膨、GDP、股價等多以對數線性建模。觀察序列圖:若數列以指數曲線成長,取對數後變直線。

趨勢模型的局限#

趨勢模型常無法完全捕捉時間序列的行為。判斷依據:殘差的 Durbin–Watson 統計量是否顯著偏離 2。若殘差有序列相關,需轉用其他模型。

自迴歸模型#

AR(p) 模型#

$p$ 階自迴歸模型 AR(p) 以序列前 $p$ 期的值預測當期值:

$$ x_t = b_0 + b_1 x_{t-1} + b_2 x_{t-2} + \dots + b_p x_{t-p} + \varepsilon_t $$

共變異數穩態#

使用線性迴歸估計 AR 模型的前提條件是序列必須共變異數穩態(covariance stationary)

  1. 期望值在所有期間皆為常數且有限
  2. 變異數在所有期間皆為常數且有限
  3. 序列與自身(任意期落差)的共變異數皆為常數且有限

若違反穩態性,線性迴歸的估計與檢定結果無效。透過繪圖可初步察覺:趨勢(均數不穩)或變異數不穩皆為警訊。

模型配適的檢驗#

一個 AR 模型若配適良好,殘差項在所有落差的自相關應為 0。可透過 t 檢定或 Box-Pierce/Ljung-Box Q 統計量檢驗。

平均回歸#

若序列共變異數穩態,則具備**均值回歸(mean reverting)**特性:水準高於長期平均時傾向下跌、低於時傾向上漲。AR(1) 模型的長期平均為 $b_0 / (1 - b_1)$。

預測#

AR(1) 的單期向前預測:

$$ \hat{x}_{t+1} = \hat{b}_0 + \hat{b}_1 x_t $$

兩期向前預測可由上式遞迴:

$$ \hat{x}_{t+2} = \hat{b}_0 + \hat{b}1 \hat{x}{t+1} $$

樣本外預測(與估計期不同的時期)比樣本內預測更能反映模型的真實表現。常用比較指標為均方根誤差(root mean squared error, RMSE)

$$ \text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (\hat{x}_i - x_i)^2} $$

RMSE 越小,預測越準確。

隨機漫步與單根#

隨機漫步#

隨機漫步(random walk):當期值等於前期值加上不可預測的隨機誤差:

$$ x_t = x_{t-1} + \varepsilon_t $$

含飄移的隨機漫步(random walk with drift)

$$ x_t = b_0 + x_{t-1} + \varepsilon_t, \quad b_0 \neq 0 $$

所有隨機漫步皆有單根(unit root),因此不共變異數穩態。直接用線性迴歸對隨機漫步建模會產生失真結果。

處理單根#

若序列含單根,常透過**一階差分(first differencing)**轉化為穩態序列:

$$ y_t = x_t - x_{t-1} $$

之後再對 $y_t$ 估計 AR 模型。

單根檢定#

Dickey–Fuller 檢定為最常用的單根檢定。

移動平均模型#

簡單移動平均#

$n$ 期移動平均:

$$ \text{MA}n = \frac{x_t + x{t-1} + \dots + x_{t-(n-1)}}{n} $$

MA(q) 模型#

$q$ 階移動平均模型以隨機誤差項的前 $q$ 期落差預測當期值:

$$ x_t = \varepsilon_t + \theta_1 \varepsilon_{t-1} + \dots + \theta_q \varepsilon_{t-q} $$

區分 AR 與 MA#

  • AR 序列:自相關起始較大,逐漸下降
  • MA(q) 序列:前 $q$ 個自相關不為 0,之後突然跳到 0

此差異有助於辨識序列屬性。

季節性#

若殘差在季節性落差(如季資料的第 4 落差、月資料的第 12 落差)顯現顯著序列相關,表示序列存在季節性。常見處理方式為在 AR 模型中加入季節落差項:

$$ \hat{x}_{t+1} = \hat{b}_0 + \hat{b}_1 x_t + \hat{b}2 x{t-3} $$

(季資料的 AR(1) 加季節項)

ARMA 模型#

**ARMA(Autoregressive Moving-Average)**結合 AR 與 MA:

$$ x_t = b_0 + b_1 x_{t-1} + \dots + b_p x_{t-p} + \varepsilon_t + \theta_1 \varepsilon_{t-1} + \dots + \theta_q \varepsilon_{t-q} $$

ARMA 模型的局限:參數不穩定、難以決定 AR 與 MA 的階數、即使結構複雜也未必比簡單模型預測得好。

ARCH 效應#

自迴歸條件異質變異(autoregressive conditional heteroskedasticity, ARCH):誤差項的變異數取決於前期誤差的變異數。常見於金融報酬序列(波動度聚集現象)。

ARCH(1) 檢定#

對原序列模型的殘差平方做下列迴歸:

$$ \hat{\varepsilon}t^2 = a_0 + a_1 \hat{\varepsilon}{t-1}^2 + u_t $$

若 $a_1$ 顯著異於 0,則存在 ARCH(1) 效應。

變異數預測#

若模型呈 ARCH(1),可用下式預測下一期的誤差變異數:

$$ \hat{\sigma}_{t+1}^2 = \hat{a}_0 + \hat{a}_1 \hat{\varepsilon}_t^2 $$

多個時間序列的迴歸#

當建立兩個時間序列之間的迴歸時,必須先檢定單根

情境是否可用線性迴歸
兩序列皆無單根可以
其中一序列有單根不可以
兩序列皆有單根,且共整合可以
兩序列皆有單根,但不共整合不可以

共整合#

共整合(cointegration):兩個皆有單根的序列之間,存在一個線性組合為穩態。可透過 Engle–Granger 版 Dickey–Fuller 檢定 判斷。

對兩個各自具單根但不共整合的序列做迴歸,會產生虛假迴歸(spurious regression)——表面顯著但無實質意義。

本章重點回顧#

  • 時間序列建模的步驟:圖形檢視 → 趨勢 → 殘差檢驗 → AR 模型(需穩態)→ 差分處理單根 → 檢驗季節性與 ARCH → 樣本外預測
  • 線性與對數線性趨勢模型適用於不同的成長型態;殘差 Durbin–Watson 顯著偏離 2 為警訊
  • AR(p) 模型要求序列共變異數穩態;殘差自相關為 0 是良好配適的指標
  • 隨機漫步與含飄移的隨機漫步皆有單根,須透過一階差分轉換為穩態才能建模
  • MA 與 AR 可由自相關行為區分;ARMA 結合兩者但實務上局限不少
  • ARCH 模型可預測誤差變異數的時變特性
  • 多序列迴歸前須檢定單根;皆有單根時須共整合才能可靠迴歸,否則為虛假迴歸