ARCH (GARCH) 為時間序列分析中特別為金融交易數據打造的模型,針對金融資料的波動度 (volatility) 不一致性,進行波動度的預測。Robert Fry Engle 在 Econometrica 提出 ARCH 模型,在財務工程領域被廣泛使用,並於 2003 年到諾貝爾獎。而 GARCH 則是廣義的 ARCH 模型,這篇講解 GARCH 的精神並且使用 R 套件 urgarch 做示範。
GARCH 模型
GARCH(p,q) 模型的表示式:
基本上 GARCH 模型就是建立在 ARMA 模型上,並且對 加上可預測性的假設。
R 套件: rugarch
R 有許多支援計算 garch 模型的套件,而小編推薦使用 rugarch 這個套件。事實上 GARCH 在財務工程領域上取得非常不錯的成績後,學者前仆後繼建立許許多多以 GARCH 為基礎的變形模型,讓模型更加貼近實際的金融交易資料。而 rugarch 包含的 GARCH 變形模型應該算最豐富的套件之一,故推薦這個套件提供大家使用。
R 實作
接下來為 rugarch 的 R 實作練習,小編使用 rugarch 自帶的 sp500ret 資料集,為 S&P 500 從 1987-03-10~2009-01-30 的 Close price log return。
install.packages("rugarch") require(rugarch) data(sp500ret) spec show(spec) fit = ugarchfit(spec, sp500ret[1:1000, , drop = FALSE], solver = 'hybrid') plot(fit, which = "all")

結論
GARCH 對連續資料做波動度 (volatility ) 隨落後資訊期數變化的彈性預測,讓時間序列模型更能有效地預測金融商品或金融市場的風險值,隨著學者們對 GARCH 給予更廣泛貼近實際金融交易情況的假設,讓 GARCH 有一系列的家族,像是 iGARCH, eGARCH, GARCH-M 等等的變化型,投資人不仿挑選一個模型,並且來練習預測,並且控制自己商品的風險。