iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0
自我挑戰組

金融量化交易系列 第 19

19.ARIMA+GARCH 交易策略

  • 分享至 

  • xImage
  •  

金融市場的報酬率序列往往同時存在自我相關性 (autocorrelation)波動率群聚 (volatility clustering) 的現象。單獨使用 ARIMA 或 GARCH 模型都只能捕捉到問題的一個面向。ARIMA 模型專注於預測序列的條件期望 (conditional mean),即報酬率的線性動態;而 GARCH 模型則專注於模擬序列的條件變異數 (conditional variance),即波動率的動態。將兩者結合,我們可以建構一個更全面、更能反映市場真實動態的模型,從而制定出更為精細的交易策略。

策略核心邏輯與深度解析

本策略的核心思想是利用 ARIMA 模型來預測未來報酬率的方向,並以此作為交易訊號的基礎。然而,由於金融市場的波動性並非恆定,我們進一步引入 GARCH 模型來捕捉和理解 ARIMA 模型的殘差中所隱含的波動率結構。以下將逐步拆解此策略的具體執行邏輯。

1. 滾動窗口 (Rolling Window) 機制

  • 定義: 對於每一個需要做出交易決策的交易日 t,我們不使用全部的歷史數據,而是選取最近的 k 天(例如 k=500)的對數報酬率數據作為模型的訓練集。當移動到下一個交易日 t+1 時,數據窗口也向前滾動一天,納入最新的數據並剔除最舊的數據。
  • 為何必要: 金融市場的結構並非一成不變,其統計特性會隨著時間演變,這就是所謂的「非定態性 (Non-stationarity)」。一個在五年前表現優異的模型參數,在當前的市場環境下可能早已失效。滾動窗口的設計,確保了我們的模型能夠不斷地用最新的市場資訊來進行「再學習」和「自我調整」,從而更好地適應當前市場的動態與模式,避免模型僵化。
  • 窗口長度 k 的選擇: k 值的選擇是一門藝術,也是一門科學。較短的窗口(如 k=250,約一年)對近期市場變化更為敏感,能更快捕捉到新趨勢,但缺點是可能更容易受到短期市場噪音的干擾,導致模型不穩定。較長的窗口(如 k=750k=1000)模型穩定性較高,不易被短期雜訊誤導,但缺點是對市場結構性轉變的反應較為遲鈍。k=500(約兩年)是一個常見的折衷選擇,但在實際應用中,最佳的窗口長度通常需要透過參數優化和回測來決定。

2. 擬合 ARIMA 模型

  • 目標: 此步驟的核心目標是捕捉對數報酬率序列中的線性結構與自我相關性。簡單來說,我們試圖回答一個問題:「過去的報酬率,在多大程度上可以預測未來的報酬率?」ARIMA(p,d,q) 模型中的 p(自迴歸項)、d(差分階數)、q(移動平均項)三個參數,正是用來描述這種時間上的依賴關係。
  • 模型選擇: 在每個滾動窗口內,我們需要為這 k 筆數據找到一組最優的 (p,d,q) 組合。自動化的模型選擇方法通常是遍歷一個預設的參數範圍(例如 p, q 從 0 到 5),並利用赤池資訊準則 (Akaike Information Criterion, AIC)貝葉斯資訊準則 (Bayesian Information Criterion, BIC) 作為評估標準。AIC 和 BIC 的目標是在模型的解釋力(擬合優度)和模型的複雜度之間找到最佳平衡點,懲罰過於複雜的模型以防止「過擬合 (Overfitting)」。
  • 產出: 擬合完成後,我們得到一個最適化的 ARIMA 模型,以及該模型對數據進行解釋後剩下的「殘差 (Residuals)」。這些殘差,理論上應該是白噪音 (White Noise),不應再有任何線性結構。然而,它們往往隱藏著非線性的波動率資訊。

3. 擬合 GARCH 模型

  • 為何使用 ARIMA 的殘差: ARIMA 模型假設其誤差項(即殘差)的變異數是恆定的 (homoscedasticity)。然而,金融市場一個最顯著的特徵就是波動率群聚:高波動的時期往往接著高波動,低波動的時期接著低波動。這意味著 ARIMA 的殘差序列,其平方值通常會表現出強烈的自我相關性。將這些殘差序列「餵給」GARCH 模型,正是為了捕捉這種被 ARIMA 模型所忽略的「條件異質變異數 (Conditional Heteroskedasticity)」。
  • GARCH 的角色: GARCH(m,s) 模型的核心思想是,今天的波動率不僅與昨天的市場衝擊(即昨天殘差的平方)有關,也與昨天預測的波動率本身有關。最常見的 GARCH(1,1) 模型就足以描述大多數金融資產的波動率動態。透過擬合 GARCH 模型,我們可以量化市場波動的持續性,並對未來的波動率做出預測。

4. 預測下一日的報酬率

  • 結合預測: 在滾動窗口 t,我們已經擬合好了 ARIMA(p,d,q)GARCH(m,s) 模型。我們的目標是預測第 t+1 天的報酬率。這個預測主要由 ARIMA 模型產生,它會給出對 t+1 日報酬率的「點估計 (Point Estimate)」。
  • GARCH 的輔助角色: 雖然在這個基礎策略中,交易訊號直接來自 ARIMA 的預測,但 GARCH 模型的預測(即對 t+1 日波動率的預測)同樣至關重要。它可以作為風險管理的依據,例如,當預測波動率過高時,可以選擇降低倉位甚至不進行交易,以規避潛在的極端風險。

5. 生成交易訊號

  • 基礎訊號: 這是策略中最直接的一步,將模型的預測轉化為可執行的操作。
    • 如果 ARIMA 模型預測下一日的對數報酬率為 (${\hat{r}_{t+1} > 0}$),代表模型預期資產價格將上漲,生成「做多 (Long)」訊號。
    • 如果預測報酬率為 (${\hat{r}_{t+1} < 0}$),代表模型預期資產價格將下跌,生成「做空 (Short)」訊號。
  • 策略優化: 在實務中,為了過濾掉噪音並減少因微小預測值而產生的頻繁交易(這會侵蝕利潤),可以引入一個「閾值 (Threshold) δ」。例如,只有當預測報酬率大於 δ 時才做多,小於 時才做空,介於 [-δ, δ] 之間則保持空倉。這有助於確保只在模型有較高「確信度」時才進場。

6. 策略回測 (Backtesting)

  • 基準比較: 任何主動交易策略的表現,都必須與一個被動的基準進行比較,而「買入並持有 (Buy & Hold)」策略是衡量績效最經典的標竿。回測的目的就是客觀地評估,在承擔相似或更低風險的前提下,我們的 ARIMA+GARCH 策略是否創造了超越市場基準的「超額報酬 (Alpha)」。
  • 績效指標: 評估策略表現不能只看最終的總報酬率。一份嚴謹的回測報告應包含多維度的績效指標:
    • 夏普比率 (Sharpe Ratio): 衡量每單位風險所能換取的超額報酬,是評估風險調整後收益的核心指標。
    • 最大回撤 (Maximum Drawdown): 衡量策略在歷史上從最高點回落到最低點的最大幅度,反映了策略可能面臨的最差情況,是風險控制的關鍵考量。
    • 年化報酬率 (Annualized Return): 將策略的總報酬率轉換為可與其他投資進行比較的年度標準。
    • 勝率 (Win Rate) 與 盈虧比 (Profit/Loss Ratio): 分析交易的成功頻率以及每次盈利交易與虧損交易的平均比率。

結論與實務挑戰

ARIMA+GARCH 模型為量化交易提供了一個嚴謹且強大的統計框架。它系統性地結合了對資產報酬率和波動率的建模,使其遠勝於僅依賴單一模型的簡單策略。然而,模型的成功應用絕非易事。交易者必須警惕過擬合的風險,並充分考慮到交易成本滑價等現實因素。此外,市場結構的突變(例如由重大宏觀經濟事件引發)可能導致模型在短期內失效。因此,持續的監控、定期的模型再評估,以及將此策略作為一個更廣泛、更多元化的投資組合中的一部分,才是通往長期成功的穩健之道。


上一篇
18.時間序列預測模型
下一篇
20. 演算法交易
系列文
金融量化交易23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言