時序

GARCH 模型和預測

  • February 6, 2017

我有一個關於時間序列的波動性和收益預測的問題。基本上這是一個關於包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 公式。

引用自:https://quant.stackexchange.com/questions/11019