ARMA-EGARCH模型、集成預測算法對SPX實際波動率進行預測|附代碼數(shù)據(jù)
全文下載鏈接:http://tecdat.cn/?p=12174
本文比較了幾個時間序列模型,以預測SP500指數(shù)的每日實際波動率?;鶞适荢PX日收益序列的ARMA-EGARCH模型。將其與GARCH模型進行比較? 。最后,提出了集合預測算法 。
假設條件
實際波動率是看不見的,因此我們只能對其進行估算。這也是波動率建模的難點。如果真實值未知,則很難判斷預測質(zhì)量。盡管如此,研究人員為實際波動率開發(fā)了估算模型。Andersen,Bollerslev Diebold(2008)??和? Barndorff-Nielsen and Shephard(2007)??以及? Shephard and Sheppard(2009)??提出了一類基于高頻的波動率(HEAVY)模型,作者認為HEAVY模型給出了??很好的??估計。
假設:HEAVY實現(xiàn)的波動率估算器無偏且有效。
在下文中,將HEAVY估計量作為??觀察到的已實現(xiàn)波動率(實際波動率)?來確定預測性能。
數(shù)據(jù)來源
SPX每日數(shù)據(jù)(平倉收益)
SPX盤中高頻數(shù)據(jù)(HEAVY模型估計)
VIX
VIX衍生品(VIX期貨)
在本文中,我主要關(guān)注前兩個。
數(shù)據(jù)采集
實際波動率估計和每日收益
我實現(xiàn)了Shephard和Sheppard的模型,并估計了SPX的實際量。
head(SPXdata)
SPX2.rv ? ? ? SPX2.r ? ? SPX2.rs SPX2.nobs SPX2.open2000-01-03 0.000157240 -0.010103618 0.000099500 ? ? ?1554 ?34191.162000-01-04 0.000298147 -0.039292183 0.000254283 ? ? ?1564 ?34195.042000-01-05 0.000307226 ?0.001749195 0.000138133 ? ? ?1552 ?34196.702000-01-06 0.000136238 ?0.001062120 0.000062000 ? ? ?1561 ?34191.432000-01-07 0.000092700 ?0.026022074 0.000024100 ? ? ?1540 ?34186.142000-01-10 0.000117787 ?0.010537636 0.000033700 ? ? ?1573 ?34191.50
? ? ? ? ? SPX2.highlow SPX2.highopen SPX2.openprice SPX2.closeprice2000-01-03 ? 0.02718625 ? 0.005937756 ? ? ? ?1469.25 ? ? ? ? 1454.482000-01-04 ? 0.04052226 ? 0.000000000 ? ? ? ?1455.22 ? ? ? ? 1399.152000-01-05 ?-0.02550524 ? 0.009848303 ? ? ? ?1399.42 ? ? ? ? 1401.872000-01-06 ?-0.01418039 ? 0.006958070 ? ? ? ?1402.11 ? ? ? ? 1403.602000-01-07 ?-0.02806616 ? 0.026126203 ? ? ? ?1403.45 ? ? ? ? 1440.452000-01-10 ?-0.01575486 ? 0.015754861 ? ? ? ?1441.47 ? ? ? ? 1456.74
? ? ? ? ? ? ? ? DATE ? SPX2.rvol2000-01-03 2000-01-03 0.0125395372000-01-04 2000-01-04 0.0172669342000-01-05 2000-01-05 0.0175278642000-01-06 2000-01-06 0.0116721032000-01-07 2000-01-07 0.0096280842000-01-10 2000-01-10 0.010852972
SPXdata$SPX2.rv
?是估計的實際方差。?SPXdata$SPX2.r
?是每日收益(平倉)。?SPXdata$SPX2.rvol
?是估計的實際波動率

?SPXdata$SPX2.rvol
基準模型:SPX每日收益率建模
ARMA-EGARCH
考慮到在條件方差中具有異方差性的每日收益,GARCH模型可以作為擬合和預測的基準。
首先,收益序列是平穩(wěn)的。
Augmented Dickey-Fuller Test
data: ?SPXdata$SPX2.rDickey-Fuller = -15.869, Lag order = 16, p-value = 0.01alternative hypothesis: stationary
分布顯示出尖峰和厚尾。可以通過t分布回歸分布密度圖來近似? 。黑線是內(nèi)核平滑的密度,綠線是t分布密度。

點擊標題查閱往期內(nèi)容

ARMA-GARCH-COPULA模型和金融時間序列案例

左右滑動查看更多

01

02

03

04

acf(SPXdata$SPX2.r)?##自相關(guān)系數(shù)圖

Box-Ljung testdata: ?SPXdata$SPX2.r
X-squared = 26.096, df = 1, p-value = 3.249e-07
自相關(guān)圖顯示了每周相關(guān)性。Ljung-Box測試確認了序列存在相關(guān)性。
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.97AIC=-25243.94 ? AICc=-25243.93 ? BIC=-25224.92
auro.arima
?表示ARIMA(2,0,0)可以對收益序列中的自相關(guān)進行建模,而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個觀測值重新估計模型一次 。下圖顯示?了樣本外??預測和相應的實際波動率。

預測顯示與實現(xiàn)波動率高度相關(guān),超過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)提出,該模型?使用非對稱動力學表示將實際(已實現(xiàn))波動率測度與潛在? _真實波動率聯(lián)系_起來。與標準GARCH模型不同,它是收益和實際波動率度量的聯(lián)合建模(本文中的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模型相同。下圖顯示??了樣本外??預測和相應的實際波動率。

預測與實際的相關(guān)性超過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估算器,該估算器是根據(jù)日內(nèi)數(shù)據(jù)計算得出的。RealGARCH模型將它們結(jié)合在一起。
以均方誤差衡量,ARFIMA-eGARCH模型的性能略優(yōu)于realGARCH模型。這可能是由于ARFIMA-eGARCH模型的LRD特性所致。
集成模型
隨機森林
**
拓端
,贊11
現(xiàn)在已經(jīng)建立了三個預測
ARMA?
egarch_model
realGARCH?
rgarch model
ARFIMA-eGARCH?
arfima_egarch_model
盡管這三個預測顯示出很高的相關(guān)性,但預計模型平均值會減少預測方差,從而提高準確性。使用了隨機森林集成。
varImpPlot(rf$model)

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

預測與實際波動率的相關(guān)性:
[1]?0.840792
誤差圖:

均方誤差:
[1]?1.197388e-05
MSE與實際波動率方差的比率
[1]?0.2983654
備注
涉及已實際量度信息的realGARCH模型和ARFIMA-eGARCH模型優(yōu)于標準的收益序列ARMA-eGARCH模型。與基準相比,隨機森林集成的MSE減少了17%以上。
從信息源的角度來看,realGARCH模型和ARFIMA-eGARCH模型捕獲了日內(nèi)高頻數(shù)據(jù)中的增量信息(通過模型,HEAVY實際波動率估算)
進一步研究:隱含波動率
以上方法不包含隱含波動率數(shù)據(jù)。隱含波動率是根據(jù)SPX期權(quán)計算得出的。自然的看法是將隱含波動率作為預測已實現(xiàn)波動率的預測因子。但是,大量研究表明,無模型的隱含波動率VIX是有偏估計量,不如基于過去實際波動率的預測有效。Torben G. Andersen,Per Frederiksen和Arne D. Staal(2007)??同意這種觀點。他們的工作表明,將隱含波動率引入時間序列分析框架不會帶來任何明顯的好處。但是,作者指出了隱含波動率中增量信息的可能性,并提出了組合模型。
因此,進一步的發(fā)展可能是將時間序列預測和隱含波動率(如果存在)的預測信息相結(jié)合的集成模型。

本文摘選?《?R語言ARMA-EGARCH模型、集成預測算法對SPX實際波動率進行預測?》?,點擊“閱讀原文”獲取全文完整資料。
點擊標題查閱往期內(nèi)容
R語言多變量廣義正交GARCH(GO-GARCH)模型對股市高維波動率時間序列擬合預測
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預測
ARMA-GARCH-COPULA模型和金融時間序列案例
時間序列分析:ARIMA GARCH模型分析股票價格數(shù)據(jù)
GJR-GARCH和GARCH波動率預測普爾指數(shù)時間序列和Mincer Zarnowitz回歸、DM檢驗、JB檢驗
【視頻】時間序列分析:ARIMA-ARCH / GARCH模型分析股票價格
時間序列GARCH模型分析股市波動率
PYTHON用GARCH、離散隨機波動率模型DSV模擬估計股票收益時間序列與蒙特卡洛可視化
極值理論 EVT、POT超閾值、GARCH 模型分析股票指數(shù)VaR、條件CVaR:多元化投資組合預測風險測度分析
Garch波動率預測的區(qū)制轉(zhuǎn)移交易策略
金融時間序列模型ARIMA 和GARCH 在股票市場預測應用
時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言風險價值:ARIMA,GARCH,Delta-normal法滾動估計VaR(Value at Risk)和回測分析股票數(shù)據(jù)
R語言GARCH建模常用軟件包比較、擬合標準普爾SP 500指數(shù)波動率時間序列和預測可視化
Python金融時間序列模型ARIMA 和GARCH 在股票市場預測應用
MATLAB用GARCH模型對股票市場收益率時間序列波動的擬合與預測R語言GARCH-DCC模型和DCC(MVT)建模估計
Python 用ARIMA、GARCH模型預測分析股票市場收益率時間序列
R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言ARIMA-GARCH波動率模型預測股票市場蘋果公司日收益率時間序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預測
R語言時間序列GARCH模型分析股市波動率
R語言ARMA-EGARCH模型、集成預測算法對SPX實際波動率進行預測
matlab實現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預測
使用R語言對S&P500股票指數(shù)進行ARIMA + GARCH交易策略
R語言用多元ARMA,GARCH ,EWMA, ETS,隨機波動率SV模型對金融時間序列數(shù)據(jù)建模
R語言股票市場指數(shù):ARMA-GARCH模型和對數(shù)收益率數(shù)據(jù)探索性分析
R語言多元Copula GARCH 模型時間序列預測
R語言使用多元AR-GARCH模型衡量市場風險
R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言用Garch模型和回歸模型對股票價格分析
GARCH(1,1),MA以及歷史模擬法的VaR比較
matlab估計arma garch 條件均值和方差模型R語言POT超閾值模型和極值理論EVT分析R語言時間序列GARCH模型分析股市波動率
R語言ARMA-EGARCH模型、集成預測算法對SPX實際波動率進行預測
matlab實現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預測
使用R語言對S&P500股票指數(shù)進行ARIMA + GARCH交易策略
R語言用多元ARMA,GARCH ,EWMA, ETS,隨機波動率SV模型對金融時間序列數(shù)據(jù)建模
R語言股票市場指數(shù):ARMA-GARCH模型和對數(shù)收益率數(shù)據(jù)探索性分析
R語言多元Copula GARCH 模型時間序列預測
R語言使用多元AR-GARCH模型衡量市場風險
R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言GARCH-DCC模型和DCC(MVT)建模估計
R語言用Garch模型和回歸模型對股票價格分析
GARCH(1,1),MA以及歷史模擬法的VaR比較
matlab估計arma garch 條件均值和方差模型
R語言ARMA-GARCH-COPULA模型和金融時間序列案例