為何要做時間序列分析#
時間序列建模有兩個主要用途:
- 解釋:以過去與當前的觀察值,描述變數的演變
- 預測:以歷史資訊推估未來值
財務分析師日常處理大量時間序列資料:股價、利率、通膨、銷售額、GDP。本章介紹一系列工具,從最簡單的趨勢模型,到自迴歸、隨機漫步、移動平均、ARMA、ARCH,再到多個時間序列之間的迴歸與共整合(cointegration)。
時間序列模型的選擇邏輯#
實務上的建模流程可大致歸納為:
- 檢視原始序列圖,判斷趨勢與穩態性
- 嘗試趨勢模型(線性或對數線性)
- 檢驗殘差是否有序列相關;若有,需要更複雜模型
- 嘗試自迴歸(AR)模型,但前提是序列共變異數穩態
- 若有單根(unit root),先一階差分再建模
- 檢驗季節性、ARCH 效應
- 進行樣本外預測檢驗
趨勢模型#
線性與對數線性#
- 線性趨勢模型:適合每期增加固定金額的序列
$$ 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):
- 期望值在所有期間皆為常數且有限
- 變異數在所有期間皆為常數且有限
- 序列與自身(任意期落差)的共變異數皆為常數且有限
若違反穩態性,線性迴歸的估計與檢定結果無效。透過繪圖可初步察覺:趨勢(均數不穩)或變異數不穩皆為警訊。
模型配適的檢驗#
一個 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 模型可預測誤差變異數的時變特性
- 多序列迴歸前須檢定單根;皆有單根時須共整合才能可靠迴歸,否則為虛假迴歸