時序
GARCH 模型和預測
我有一個關於時間序列的波動性和收益預測的問題。基本上這是一個關於包
predict
中的問題fGarch
。以下程式碼來自《金融時間序列分析》一書,它是 SP500 對數收益的 AR/GARCH 模型範例
library(fGarch) sp5=read.table("http://faculty.chicagobooth.edu/ruey.tsay/teaching/fts/sp500.dat")#Load data plot(sp5,type="l") m1=garchFit(formula=~arma(3,0)+garch(1,1),data=sp5,trace=F) summary(m1) m2=garchFit(formula=~garch(1,1),data=sp5,trace=F,cond.dist="std") summary(m2) stresi=residuals(m2,standardize=T) plot(stresi,type="l") Box.test(stresi,10,type="Ljung") predict(m2,5)
首先我們假設一個 ARMA/GARCH 模型。但是,我們看到 AR 模型中的所有係數都不顯著。因此,我們對純 GARCH 時間序列進行建模。我的問題是關於最後一個命令。執行此命令會給出以下輸出:
> predict(m2,5) meanForecast meanError standardDeviation 1 0.008455044 0.05330089 0.05330089 2 0.008455044 0.05327886 0.05327886 3 0.008455044 0.05325781 0.05325781 4 0.008455044 0.05323769 0.05323769 5 0.008455044 0.05321847 0.05321847
這裡的 meanForecast 是什麼,為什麼總是相同的數字?有沒有辦法得到第n 個波動率預測以及第n 個收益預測,例如預測第二天的波動率和收益。在模型的情況下,
m2
波動率預測將是收益預測,因為我們假設一個純 GARCH 模型。但是在這種情況下我們如何提取兩者m1
呢?編輯:正如 user12348 所問,這裡是我的
summary(m1)
and輸出summary(m2)
。> summary(m1) Title: GARCH Modelling Call: garchFit(formula = ~arma(3, 0) + garch(1, 1), data = sp5, trace = F) Mean and Variance Equation: data ~ arma(3, 0) + garch(1, 1) <environment: 0x6ac79b0> [data = sp5] Conditional Distribution: norm Coefficient(s): mu ar1 ar2 ar3 omega 7.7077e-03 3.1968e-02 -3.0261e-02 -1.0649e-02 7.9746e-05 alpha1 beta1 1.2425e-01 8.5302e-01 Std. Errors: based on Hessian Error Analysis: Estimate Std. Error t value Pr(>|t|) mu 7.708e-03 1.607e-03 4.798 1.61e-06 *** ar1 3.197e-02 3.837e-02 0.833 0.40473 ar2 -3.026e-02 3.841e-02 -0.788 0.43076 ar3 -1.065e-02 3.756e-02 -0.284 0.77677 omega 7.975e-05 2.810e-05 2.838 0.00454 ** alpha1 1.242e-01 2.247e-02 5.529 3.22e-08 *** beta1 8.530e-01 2.183e-02 39.075 < 2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Log Likelihood: 1272.179 normalized: 1.606287 Description: Wed Apr 23 18:07:32 2014 by user: Standardised Residuals Tests: Statistic p-Value Jarque-Bera Test R Chi^2 73.04843 1.110223e-16 Shapiro-Wilk Test R W 0.9857968 5.961505e-07 Ljung-Box Test R Q(10) 11.56744 0.3150483 Ljung-Box Test R Q(15) 17.78746 0.2740041 Ljung-Box Test R Q(20) 24.11916 0.2372259 Ljung-Box Test R^2 Q(10) 10.31614 0.4132084 Ljung-Box Test R^2 Q(15) 14.22819 0.5082978 Ljung-Box Test R^2 Q(20) 16.79404 0.6663039 LM Arch Test R TR^2 13.34305 0.3446074 Information Criterion Statistics: AIC BIC SIC HQIC -3.194897 -3.153581 -3.195051 -3.179018 >
和
summary(m2)
:> summary(m2) Title: GARCH Modelling Call: garchFit(formula = ~garch(1, 1), data = sp5, cond.dist = "std", trace = F) Mean and Variance Equation: data ~ garch(1, 1) <environment: 0x6b70f70> [data = sp5] Conditional Distribution: std Coefficient(s): mu omega alpha1 beta1 shape 0.00845504 0.00012485 0.11302582 0.84220210 7.00318063 Std. Errors: based on Hessian Error Analysis: Estimate Std. Error t value Pr(>|t|) mu 8.455e-03 1.515e-03 5.581 2.39e-08 *** omega 1.248e-04 4.519e-05 2.763 0.00573 ** alpha1 1.130e-01 2.693e-02 4.198 2.70e-05 *** beta1 8.422e-01 3.186e-02 26.432 < 2e-16 *** shape 7.003e+00 1.680e+00 4.169 3.06e-05 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Log Likelihood: 1283.417 normalized: 1.620476 Description: Wed Apr 23 18:09:17 2014 by user: Standardised Residuals Tests: Statistic p-Value Jarque-Bera Test R Chi^2 99.61249 0 Shapiro-Wilk Test R W 0.9836345 9.72802e-08 Ljung-Box Test R Q(10) 11.37961 0.3287173 Ljung-Box Test R Q(15) 18.2163 0.2514649 Ljung-Box Test R Q(20) 24.91842 0.2045699 Ljung-Box Test R^2 Q(10) 10.52266 0.3958941 Ljung-Box Test R^2 Q(15) 16.14586 0.3724248 Ljung-Box Test R^2 Q(20) 18.93325 0.5261686 LM Arch Test R TR^2 14.88667 0.247693 Information Criterion Statistics: AIC BIC SIC HQIC -3.228325 -3.198814 -3.228404 -3.216983 >
平均值可能是長期變異數,即
sig2 = fit.Constant/(1-fit.GARCH{1}-fit.ARCH{1});
我希望這能解釋。
如果不是,請注意我通過 Matlab 執行了這個模型,我得到了不同的值。您可以粘貼您的 m1 和 m2 值以及其他一些中間結果,以便我了解 Matlab 為何不同。
編輯:這個問題是指預測回報。使用 AR-GARCH 模型,
$$ r_t= μ+\epsilon_t $$ $$ z_t=\epsilon_t/σ_t $$ $ z_t $ 是白雜訊或獨立同分佈,可以採取任何分佈。 $$ σ_t^2=w+\alpha \epsilon_{t-1}^2+\beta σ_{t-1}^2 $$ R中的預測功能是預測 $ r_{t+k} $ 其中 k 是未來的時期。也可以預測未來的變異數, $ σ_{t+k}^2 $ ,如圖所示,使用上面的 GARCH 公式。