原文鏈接:http://tecdat.cn/?p=18310
為了找出影響價格波動的主要因素,我們使用逐步回歸法來剔除一些對於應變量即價格影響很小的自變量剔除出我們的模型,我們分別把WTI Price Field 等自變量的名稱改為x1,x2……,最后的突發事件需要用到啞變量,啞變量只需要2個即可,我們將其作為X49,X50,X51,三個參數並將它們的值”正影響”、”無影響”、”負影響”分別改為-1,0,1。
經過R語言處理以后我們得到模型:
Y~x1 + x2 + x4 + x5 + x7 + x13 + x14 + x15 + x16 + x17 + x18 + x20 + x21 + x23 + x34 + x25 + x26 + x29 + x30 + x33 + x35 + x36 + x37 + x39 + x40 + x42 + x44 + x46 + x47 + x48 + x49 + x50
由此可得,影響較小的已經被剔除了。
Garch模型預測波動性
我們通過使用Garch模型來預測波動性,
先檢驗數據正態性,可以計算得出數據分布函數,QQ圖,對數收益率序列折線圖
-
> shapiro.test(rlogdiffdata)
-
-
Shapiro-Wilk normality test
-
-
data: rlogdiffdata
-
W = 0.94315, p-value = 1.458e-05
由QQ圖以及p值可見,數據大致上符合正態分布。
最后用VaR曲線來進行預警劇烈波動。
紅色的點就是劇烈波動前的預警點。
強影響點分析
我們可以通過使用cook統計量來尋找強影響點,因此我們用R語言的influence.measures()函數來進行影響分析。
右側帶有*號的表示強影響點。
我們通過學生化殘差來構造F檢驗,最終得到t檢驗,以此來檢測異常點。通過
stdres<-rstudent(lm.sol)
來得到學生化殘差,然后通過公式
來計算Fj,並且最終轉化為tj,
t=sqrt((144-51-1)*stdres^2/(144-51-stdres^2))
最后我們可以檢查,如果則它為異常點。
R語言執行
-
res<-t>abs(qt(.025, df=92))
-
可以直接得到大於對應t值的布爾值。
值為True的則可能為異常點。
預測
我們使用了HoltWinters來進行預測我們的價格區間
真實值基本都在預測的范圍內,但是想要凈賺預測還是比較困難的。
最受歡迎的見解
1.HAR-RV-J與遞歸神經網絡(RNN)混合模型預測和交易大型股票指數的高頻波動率
2.R語言中基於混合數據抽樣(MIDAS)回歸的HAR-RV模型預測GDP增長
4.R語言ARMA-EGARCH模型、集成預測算法對SPX實際波動率進行預測