R語言中基於混合數據抽樣(MIDAS)回歸的HAR-RV模型預測GDP增長|附代碼數據

2023-02-28     tecdat拓端

原標題:R語言中基於混合數據抽樣(MIDAS)回歸的HAR-RV模型預測GDP增長|附代碼數據

原文連結:http://tecdat.cn/?p=12292

最近我們被客戶要求撰寫關於HAR-RV的研究報告,包括一些圖形和統計輸出。

我們複製了Ghysels(2013)中提供的示例。我們進行了MIDAS回歸分析,來預測季度GDP增長以及每月非農就業人數的增長

預測GDP增長

預測公式如下

其中yt是按季度季節性調整後的實際GDP的對數增長,x3t是月度總就業非農業工資的對數增長。

首先,我們加載數據並執行轉換。

R> y <- window(USqgdp, end = c(2011, 2))

R> x <- window(USpayems, end = c(2011, 7))

R> yg <- diff(log(y)) * 100

R> xg <- diff(log(x)) * 100

最後兩行用於均衡樣本大小,樣本大小在原始數據中有所不同。我們只需在數據的開頭和結尾添加其他NA值即可。數據的圖形表示如圖所示。要指定midas_r函數的模型,我們以下等效形式重寫它:

點擊標題查閱往期內容

R語言預測期貨波動率的實現:ARCH與HAR-RV與GARCH,ARFIMA模型比較

左右滑動查看更多

01

02

03

04

就像在Ghysels(2013)中一樣,我們將估算樣本限制在1985年第一季度到2009年第一季度之間。我們使用Beta多項式,非零Beta和U-MIDAS權重來評估模型。

R> coef(beta0)

(Intercept) yy xx1 xx2 xx3

0.8315274 0.1058910 2.5887103 1.0201202 13.6867809

R> coef(betan)

(Intercept) yy xx1 xx2 xx3 xx4

0.93778705 0.06748141 2.26970646 0.98659174 1.49616336 -0.09184983

(Intercept) yy xx1 xx2 xx3 xx4

0.92989757 0.08358393 2.00047205 0.88134597 0.42964662 -0.17596814

xx5 xx6 xx7 xx8 xx9

0.28351010 1.16285271 -0.53081967 -0.73391876 -1.18732001

我們可以使用2009年第2季度至2011年第2季度包含9個季度的樣本數據評估這三個模型的預測性能。

R> fulldata <- list(xx = window(nx, start = c(1985, 1), end = c(2011, 6)),

+ yy = window(ny, start = c(1985, 1), end = c(2011, 2)))

R> insample <- 1:length(yy)

R> outsample <- (1:length(fulldata$yy))[-insample]

R> avgf <- average_forecast(list(beta0, betan, um), data = fulldata,

+ insample = insample, outsample = outsample)

R> sqrt(avgf$accuracy$individual$MSE.out.of.sample)

[1] 0.5361953 0.4766972 0.4457144

我們看到,MIDAS回歸模型提供了最佳的樣本外RMSE。

預測實際波動

作為另一個演示,我們使用midasr來預測每日實現的波動率。Corsi(2009)提出了一個簡單的預測每日實際波動率的模型。實現波動率的異質自回歸模型(HAR-RV)定義為

我們假設一周有5天,一個月有4周。該模型是MIDAS回歸的特例:

為了進行經驗論證,我們使用了由Heber,Lunde,Shephard和Sheppard(2009)提供的關於股票指數的已實現波動數據。我們基於5分鐘的收益數據估算S&P500指數的年度實現波動率模型。

Parameters:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 0.83041 0.36437 2.279 0.022726 *

rv1 0.34066 0.04463 7.633 2.95e-14 ***

rv2 0.41135 0.06932 5.934 3.25e-09 ***

rv3 0.19317 0.05081 3.802 0.000146 ***

---

Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.563 on 3435 degrees of freedom

為了進行比較,我們還使用歸一化指數Almon權重來估計模型

Parameters:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 0.837660 0.377536 2.219 0.0266 *

rv1 0.944719 0.027748 34.046 < 2e-16 ***

rv2 -0.768296 0.096120 -7.993 1.78e-15 ***

rv3 0.029084 0.005604 5.190 2.23e-07 ***

---

Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.535 on 3435 degrees of freedom

我們可以使用異方差性和自相關魯棒權重規範檢驗hAhr_test來檢驗這些限制中哪些與數據兼容。

hAh restriction test (robust version)

data:

hAhr = 28.074, df = 17, p-value = 0.04408

hAh restriction test (robust version)

data:

hAhr = 19.271, df = 17, p-value = 0.3132

我們可以看到,與MIDAS回歸模型中的HAR-RV隱含約束有關的零假設在0.05的顯著性水平上被拒絕,而指數Almon滯後約束的零假設則不能被拒絕。

圖說明了擬合的MIDAS回歸係數和U-MIDAS回歸係數及其相應的95%置信區間。對於指數Almon滯後指標,我們可以通過AIC或BIC選擇滯後次數。

我們使用了兩種優化方法來提高收斂性。將測試函數應用於每個候選模型。函數hAhr_test需要大量的計算時間,尤其是對於滯後階數較大的模型,因此我們僅在第二步進行計算,並且限制了滯後 restriction test 的選擇。AIC選擇模型有9階滯後:

Selected model with AIC = 21551.97

Based on restricted MIDAS regression model

The p-value for the null hypothesis of the test hAhr_test is 0.5531733

Parameters:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 0.96102 0.36944 2.601 0.00933 **

rv1 0.93707 0.02729 34.337 < 2e-16 ***

rv2 -1.19233 0.19288 -6.182 7.08e-10 ***

rv3 0.09657 0.02190 4.411 1.06e-05 ***

---

Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.524 on 3440 degrees of freedom

hAh_test的HAC再次無法拒絕指數Almon滯後的原假設。我們可以使用具有1000個觀測值窗口的滾動預測來研究兩個模型的預測性能。為了進行比較,我們還計算了無限制AR(20)模型的預測。

Model MSE.out.of.sample MAPE.out.of.sample

1 rv ~ (rv, 1:20, 1) 10.82516 26.60201

2 rv ~ (rv, 1:20, 1, harstep) 10.45842 25.93013

3 rv ~ (rv, 1:9, 1, nealmon) 10.34797 25.90268

MASE.out.of.sample MSE.in.sample MAPE.in.sample MASE.in.sample

1 0.8199566 28.61602 21.56704 0.8333858

2 0.8019687 29.24989 21.59220 0.8367377

3 0.7945121 29.08284 21.81484 0.8401646

我們看到指數Almon滯後模型略優於HAR-RV模型,並且兩個模型均優於AR(20)模型。

參考文獻

Andreou E,Ghysels E,Kourtellos A(2010)。「具有混合採樣頻率的回歸模型。」 計量經濟學雜誌,158,246–261。doi:10.1016 / j.jeconom.2010.01。004。

Andreou E,Ghysels E,Kourtellos A(2011)。「混合頻率數據的預測。」 在MP Clements中,DF Hendry(編),《牛津經濟預測手冊》,第225–245頁。

點擊文末 「閱讀原文」

獲取全文完整資料。

本文選自《R語言中基於混合數據抽樣(MIDAS)回歸的HAR-RV模型預測GDP增長》。

點擊標題查閱往期內容

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

R語言預測期貨波動率的實現:ARCH與HAR-RV與GARCH,ARFIMA模型比較

PYTHON用GARCH、離散隨機波動率模型DSV模擬估計股票收益時間序列與蒙特卡洛可視化

極值理論 EVT、POT超閾值、GARCH 模型分析股票指數VaR、條件CVaR:多元化投資組合預測風險測度分析

Garch波動率預測的區制轉移交易策略

金融時間序列模型ARIMA 和GARCH 在股票市場預測應用

時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格

R語言風險價值:ARIMA,GARCH,Delta-normal法滾動估計VaR(Value at Risk)和回測分析股票數據

R語言GARCH建模常用軟體包比較、擬合標準普爾SP 500指數波動率時間序列和預測可視化

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實現MCMC的馬爾可夫轉換ARMA - GARCH模型估計

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預測

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

R語言用多元ARMA,GARCH ,EWMA, ETS,隨機波動率SV模型對金融時間序列數據建模

R語言股票市場指數:ARMA-GARCH模型和對數收益率數據探索性分析

R語言多元Copula GARCH 模型時間序列預測

R語言使用多元AR-GARCH模型衡量市場風險

R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格

R語言用Garch模型和回歸模型對股票價格分析

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

matlab估計arma garch 條件均值和方差模型R語言POT超閾值模型和極值理論EVT分析

R語言極值推斷:廣義帕累托分布GPD使用極大似然估計、輪廓似然估計、Delta法

R語言極值理論EVT:基於GPD模型的火災損失分布分析

R語言有極值(EVT)依賴結構的馬爾可夫鏈(MC)對洪水極值分析

R語言POT超閾值模型和極值理論EVT分析

R語言混合正態分布極大似然估計和EM算法

R語言多項式線性模型:最大似然估計二次曲線

R語言Wald檢驗 vs 似然比檢驗

R語言GARCH-DCC模型和DCC(MVT)建模估計

R語言非參數方法:使用核回歸平滑估計和K-NN(K近鄰算法)分類預測心臟病數據

matlab實現MCMC的馬爾可夫轉換ARMA - GARCH模型估計

R語言基於Bootstrap的線性回歸預測置信區間估計方法

R語言隨機搜索變量選擇SSVS估計貝葉斯向量自回歸(BVAR)模型

Matlab馬爾可夫鏈蒙特卡羅法(MCMC)估計隨機波動率(SV,Stochastic Volatility) 模型

Matlab馬爾可夫區制轉換動態回歸模型估計GDP增長率R語言極值推斷:廣義帕累托分布GPD使用極大似然估計、輪廓似然估計、Delta法

文章來源: https://twgreatdaily.com/zh-hk/3960e8750cd568fce766c7594c644750.html