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

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

    • -

介紹

本文比較了幾個時間序列模型,以預測SP500指數的每日實際波動率。基準是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的實際量spa

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 是估計的實際波動率code

 SPXdata$SPX2.rvolorm

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

ARMA-EGARCH

考慮到在條件方差中具備異方差性的每日收益,GARCH模型能夠做爲擬合和預測的基準。遞歸

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

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)  ##自相關係數圖

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)  贊成這種觀點。他們的工做代表,將隱含波動率引入時間序列分析框架不會帶來任何明顯的好處。可是,做者指出了隱含波動率中增量信息的可能性,並提出了組合模型。

所以,進一步的發展多是將時間序列預測和隱含波動率(若是存在)的預測信息相結合的集成模型。

    • -

最受歡迎的看法

1.HAR-RV-J與遞歸神經網絡(RNN)混合模型預測和交易大型股票指數的高頻波動率

2.R語言中基於混合數據抽樣(MIDAS)迴歸的HAR-RV模型預測GDP增加

3.波動率的實現:ARCH模型與HAR-RV模型

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

5.GARCH(1,1),MA以及歷史模擬法的VaR比較

6.R語言多元COPULA GARCH 模型時間序列預測

7.R語言基於ARMA-GARCH過程的VAR擬合和預測

8.matlab預測ARMA-GARCH 條件均值和方差模型

9.R語言對S&P500股票指數進行ARIMA + GARCH交易策略

相關文章
相關標籤/搜索