拓端tecdat|R語言ARMA-EGARCH模型、集成預測算法對SPX實際波動率進行預測


原文鏈接:http://tecdat.cn/?p=12174


介紹

本文比較了幾個時間序列模型,以預測SP 500指數的每日實際波動率。基准是SPX日收益系列的ARMA-EGARCH模型。將其與GARCH模型進行比較  。最后,提出了集合預測算法。

假設條件

實際波動率是看不見的,因此我們只能對其進行估算。這也是波動率建模的難點。如果真實值未知,則很難判斷預測質量。盡管如此,研究人員為實際波動率開發了估算器。Andersen,Bollerslev Diebold(2008)  和  Barndorff-Nielsen and Shephard(2007)  以及  Shephard and Sheppard(2009)  提出了一類基於高頻的波動率(HEAVY)模型,作者認為HEAVY模型給出了  很好的  估計。

假設:HEAVY實現的波動率估算器無偏且有效。

在下文中,將HEAVY估計量作為  觀察到的已實現波動率  來確定預測性能。

數據來源

  • SPX每日數據(平倉收益)
  • SPX盤中高頻數據(HEAVY模型估計)
  • VIX
  • VIX衍生品(VIX期貨)

在本文中,我主要關注前兩個。

數據采集

實際波動率估計和每日收益

我實現了Shephard和Sheppard的模型,並估計了SPX的實現量。

head(SPXdata)
               SPX2.rv       SPX2.r     SPX2.rs SPX2.nobs SPX2.open
2000-01-03 0.000157240 -0.010103618 0.000099500      1554  34191.16
2000-01-04 0.000298147 -0.039292183 0.000254283      1564  34195.04
2000-01-05 0.000307226  0.001749195 0.000138133      1552  34196.70
2000-01-06 0.000136238  0.001062120 0.000062000      1561  34191.43
2000-01-07 0.000092700  0.026022074 0.000024100      1540  34186.14
2000-01-10 0.000117787  0.010537636 0.000033700      1573  34191.50
           SPX2.highlow SPX2.highopen SPX2.openprice SPX2.closeprice
2000-01-03   0.02718625   0.005937756        1469.25         1454.48
2000-01-04   0.04052226   0.000000000        1455.22         1399.15
2000-01-05  -0.02550524   0.009848303        1399.42         1401.87
2000-01-06  -0.01418039   0.006958070        1402.11         1403.60
2000-01-07  -0.02806616   0.026126203        1403.45         1440.45
2000-01-10  -0.01575486   0.015754861        1441.47         1456.74
                 DATE   SPX2.rvol
2000-01-03 2000-01-03 0.012539537
2000-01-04 2000-01-04 0.017266934
2000-01-05 2000-01-05 0.017527864
2000-01-06 2000-01-06 0.011672103
2000-01-07 2000-01-07 0.009628084
2000-01-10 2000-01-10 0.010852972

SPXdata$SPX2.rv 是估計的實際方差。 SPXdata$SPX2.r 是每日收益(平倉/平倉)。 SPXdata$SPX2.rvol 是估計的實際波動率

​ SPXdata$SPX2.rvol  

基准模型:SPX每日收益率建模

ARMA-EGARCH

考慮到在條件方差中具有異方差性的每日收益,GARCH模型可以作為擬合和預測的基准。

首先,收益序列是平穩的。


    Augmented Dickey-Fuller Test

data:  SPXdata$SPX2.r
Dickey-Fuller = -15.869, Lag order = 16, p-value = 0.01
alternative hypothesis: stationary

分布顯示出尖峰和厚尾。可以通過縮放的t分布回歸分布密度圖來近似  。黑線是內核平滑的密度,綠線是縮放的t分布密度。

acf(SPXdata$SPX2.r)  ## acf plot


    Box-Ljung test

data:  SPXdata$SPX2.r
X-squared = 26.096, df = 1, p-value = 3.249e-07

自相關圖顯示了一些星期相關性。Ljung-Box測試確認了序列存在相關性。

Series: SPXdata$SPX2.r 
ARIMA(2,0,0) with zero mean     

Coefficients:
          ar1      ar2
      -0.0839  -0.0633
s.e.   0.0154   0.0154

sigma^2 estimated as 0.0001412:  log likelihood=12624.97
AIC=-25243.94   AICc=-25243.93   BIC=-25224.92

auro.arima 表示ARIMA(2,0,0)可以對收益序列中的自相關進行建模,而eGARCH(1,1)在波動率建模中很受歡迎。因此,我選擇具有t分布誤差的ARMA(2,0)-eGARCH(1,1)作為基准模型。


*---------------------------------*
*       GARCH Model Spec          *
*---------------------------------*

Conditional Variance Dynamics   
------------------------------------
GARCH Model     : eGARCH(1,1)
Variance Targeting  : FALSE 

Conditional Mean Dynamics
------------------------------------
Mean Model      : ARFIMA(2,0,0)
Include Mean        : TRUE 
GARCH-in-Mean       : FALSE 

Conditional Distribution
------------------------------------
Distribution    :  std 
Includes Skew   :  FALSE 
Includes Shape  :  TRUE 
Includes Lambda :  FALSE 

我用4189個觀測值進行了回測(從2000-01-03到2016-10-06),使用前1000個觀測值訓練模型,然后每次向前滾動預測一個,然后每5個觀測值重新估計模型一次 。下圖顯示  了樣本外  預測和相應的實際波動率。

預測顯示與實現波動率高度相關,超過72%。

cor(egarch_model$roll.pred$realized_vol, egarch_model$roll.pred$egarch.predicted_vol, 
    method = "spearman")
[1] 0.7228007

誤差摘要和繪圖

      Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
-0.0223800 -0.0027880 -0.0013160 -0.0009501  0.0003131  0.0477600 

平均誤差平方(MSE):

[1] 1.351901e-05

 

改進:實現的GARCH模型和LRD建模

已實現GARCH

realGARCH 該模型由  Hansen,Huang和Shek(2012)  (HHS2012)提出,該模型 使用非對稱動力學表示將實現的波動率測度與潛在  真實波動率聯系起來。與標准GARCH模型不同,它是收益和已實現波動率度量的聯合建模(本文中的HEAVY估計器)。 

模型:


*---------------------------------*
*       GARCH Model Spec          *
*---------------------------------*

Conditional Variance Dynamics   
------------------------------------
GARCH Model     : realGARCH(2,1)
Variance Targeting  : FALSE 

Conditional Mean Dynamics
------------------------------------
Mean Model      : ARFIMA(2,0,0)
Include Mean        : TRUE 
GARCH-in-Mean       : FALSE 

Conditional Distribution
------------------------------------
Distribution    :  norm 
Includes Skew   :  FALSE 
Includes Shape  :  FALSE 
Includes Lambda :  FALSE 

滾動預測過程與上述ARMA-EGARCH模型相同。下圖顯示  了樣本外  預測和相應的實現。

 

 

預測與實現的相關性超過77%

cor(arfima_egarch_model$roll.pred$realized_vol, arfima_egarch_model$roll.pred$arfima_egarch.predicted_vol, 
    method = "spearman")
[1] 0.7707991

 誤差摘要和圖:

      Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
-1.851e-02 -1.665e-03 -4.912e-04 -1.828e-05  9.482e-04  5.462e-02 

均方誤差(MSE):

[1] 1.18308e-05

 備注:

  • 用於每日收益序列的ARMA-eGARCH模型和用於實現波動率的ARFIMA-eGARCH模型利用不同的信息源。ARMA-eGARCH模型僅涉及每日收益,而ARFIMA-eGARCH模型基於HEAVY估算器,該估算器是根據日內數據計算得出的。RealGARCH模型將它們結合在一起。

  • 以均方誤差衡量,ARFIMA-eGARCH模型的性能略優於realGARCH模型。這可能是由於ARFIMA-eGARCH模型的LRD特性所致。

集成模型

隨機森林 

現在已經建立了三個預測

  • ARMA egarch_model
  • realGARCH rgarch model
  • ARFIMA-eGARCH arfima_egarch_model

盡管這三個預測顯示出很高的相關性,但預計模型平均值會減少預測方差,從而提高准確性。使用了隨機森林集成。

varImpPlot(rf$model)

隨機森林由500棵樹組成,每棵樹隨機選擇2個預測以適合實際值。下圖是擬合和實現。

預測與實現的相關性:

[1] 0.840792

誤差圖:

均方誤差:

[1] 1.197388e-05

MSE與已實現波動率方差的比率

[1] 0.2983654

備注

涉及已實現量度信息的realGARCH模型和ARFIMA-eGARCH模型優於標准的收益系列ARMA-eGARCH模型。與基准相比,隨機森林集成的MSE減少了17%以上。

從信息源的角度來看,realGARCH模型和ARFIMA-eGARCH模型捕獲了日內高頻數據中的增量信息(通過模型,HEAVY實現的波動率估算器)

進一步研究:隱含波動率

以上方法不包含隱含波動率數據。隱含波動率是根據SPX歐洲期權計算得出的。自然的看法是將隱含波動率作為預測已實現波動率的預測因子。但是,大量研究表明,無模型的隱含波動率VIX是有偏估計量,不如基於過去實現的波動率的預測有效。 Torben G. Andersen,Per Frederiksen和Arne D. Staal(2007)  同意這種觀點。他們的工作表明,將隱含波動率引入時間序列分析框架不會帶來任何明顯的好處。但是,作者指出了隱含波動率中增量信息的可能性,並提出了組合模型。

因此,進一步的發展可能是將時間序列預測和隱含波動率(如果存在)的預測信息相結合的集成模型。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM