ARMA-GARCH-COPULA模型和金融時(shí)間序列案例|附代碼數(shù)據(jù)
原文鏈接:?http://tecdat.cn/?p=3385
最近我們被客戶要求撰寫關(guān)于ARMA-GARCH-COPULA的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。
最近我被要求撰寫關(guān)于金融時(shí)間序列的copulas的調(diào)查
從讀取數(shù)據(jù)中獲得各種模型的描述,包括一些圖形和統(tǒng)計(jì)輸出。
>?oil?=?read.xlsx(temp,sheetName?=“DATA”,dec?=“,”)
然后我們可以繪制這三個(gè)時(shí)間序列
1?1997-01-10?2.73672?2.25465?3.3673?1.54002?1997-01-17?-3.40326?-6.01433?-3.8249?-4.10763?1997-01-24?-4.09531?-1.43076?-6.6375?-4.61664?1997-01-31?-0.65789?0.34873?0.7326?-1.51225?1997-02-07?-3.14293?-1.97765?-0.7326?-1.87986?1997-02-14?-5.60321?-7.84534?-7.6372?-11.0549
這個(gè)想法是在這里使用一些多變量ARMA-GARCH過程。這里的啟發(fā)式是第一部分用于模擬時(shí)間序列平均值的動(dòng)態(tài),第二部分用于模擬時(shí)間序列方差的動(dòng)態(tài)。
本文考慮了兩種模型
關(guān)于ARMA模型殘差的多變量GARCH過程(或方差矩陣動(dòng)力學(xué)模型)
關(guān)于ARMA-GARCH過程殘差的多變量模型(基于copula)
因此,這里將考慮不同的序列,作為不同模型的殘差獲得。我們還可以將這些殘差標(biāo)準(zhǔn)化。
ARMA模型
>?fit1?=?arima(x?=?dat?[,1],order?=?c(2,0,1))
>?fit2?=?arima(x?=?dat?[,2],order?=?c(1,0,1))
>?fit3?=?arima(x?=?dat?[,3],order?=?c(1,0,1))
>?m?<?-?apply(dat_arma,2,mean)
>?v?<?-?apply(dat_arma,2,var)
>?dat_arma_std?<?-?t((t(dat_arma)-m)/?sqrt(v))
ARMA-GARCH模型
>?fit1?=?garchFit(formula?=?~arma(2,1)+?garch(1,1),data?=?dat?[,1],cond.dist?=“std”)
>?fit2?=?garchFit(formula?=?~arma(1,1)+?garch(1,1),data?=?dat?[,2],cond.dist?=“std”)
>?fit3?=?garchFit(formula?=?~arma(1,1)+?garch(1,1),data?=?dat?[,3],cond.dist?=“std”)
>?m_res?<?-?apply(dat_res,2,mean)
>?v_res?<?-?apply(dat_res,2,var)
>?dat_res_std?=?cbind((dat_res?[,1]?-m_res?[1])/?sqrt(v_res?[1]),(dat_res?[,2]?-m_res?[2])/?sqrt(v_res?[2]),(dat_res?[?,3]?-m_res?[3])/?SQRT(v_res?[3]))
多變量GARCH模型
可以考慮的第一個(gè)模型是協(xié)方差矩陣的多變量EWMA,
>?ewma?=?EWMAvol(dat_res_std,lambda?=?0.96)
波動(dòng)性
>?emwa_series_vol?=?function(i?=?1){
+?lines(Time,dat_arma?[,i]?+?40,col?=“gray”)
+?j?=?1+?if(i?==?2)j?=?5+?if(i?==?3)j?=?9
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
R語言基于ARMA-GARCH過程的VaR擬合和預(yù)測
左右滑動(dòng)查看更多
01
02
03
04
隱含相關(guān)性
>?emwa_series_cor?=?function(i?=?1,j?=?2){
+?if((min(i,j)==?1)&(max(i,j)==?2)){
+?a?=?1;?B?=?9;?AB?=?3}+?r?=?ewma?$?Sigma.t?[,ab]?/?sqrt(ewma?$?Sigma.t?[,a]?*
+?ewma?$?Sigma.t?[,b])
+?plot(Time,r,type?=“l(fā)”,ylim?=?c(0,1))
+}
多變量GARCH,即BEKK(1,1)模型,例如使用:
>?bekk?=?BEKK11(dat_arma)
>?bekk_series_vol?function(i?=?1){
+?plot(Time,?$?Sigma.t?[,1],type?=“l(fā)”,
+?ylab?=?(dat)[i],col?=“white”,ylim?=?c(0,80))
+?lines(Time,dat_arma?[,i]?+?40,col?=“gray”)
+?j?=?1+?if(i?==?2)j?=?5+?if(i?==?3)j?=?9>?bekk_series_cor?=?function(i?=?1,j?=?2){
+?a?=?1;?B?=?5;?AB?=?2}+?a?=?1;?B?=?9;?AB?=?3}+?a?=?5;?B?=?9;?AB?=?6}+?r?=?bk?$?Sigma.t?[,ab]?/?sqrt(bk?$?Sigma.t?[,a]?*
+?bk?$?Sigma.t?[,b])
從單變量GARCH模型中模擬殘差
第一步可能是考慮殘差的一些靜態(tài)(聯(lián)合)分布。單變量邊緣分布是
邊緣密度的輪廓(使用雙變量核估計(jì)器獲得)?
也可以將copula密度可視化(上面有一些非參數(shù)估計(jì),下面是參數(shù)copula)
>?copula_NP?=?function(i?=?1,j?=?2){
+?n?=?nrow(uv)
+?s?=?0.3+?norm.cop?<?-?normalCopula(0.5)
+?norm.cop?<?-?normalCopula(fitCopula(norm.cop,uv)@estimate)
+?dc?=?function(x,y)dCopula(cbind(x,y),norm.cop)
+?ylab?=?names(dat)[j],zlab?=“copule?Gaussienne”,ticktype?=“detailed”,zlim?=?zl)
+
+?t.cop?<?-?tCopula(0.5,df?=?3)
+?t.cop?<?-?tCopula(t.fit?[1],df?=?t.fit?[2])
+?ylab?=?names(dat)[j],zlab?=“copule?de?Student”,ticktype?=“detailed”,zlim?=?zl)
+}
可以考慮這個(gè)
函數(shù),
計(jì)算三個(gè)序列的的經(jīng)驗(yàn)版本,并將其與一些參數(shù)版本進(jìn)行比較,
>
>?lambda?=?function(C){
+?l?=?function(u)pcopula(C,cbind(u,u))/?u
+?v?=?Vectorize(l)(u)
+?return(c(v,rev(v)))
+}
>
>?graph_lambda?=?function(i,j){
+?X?=?dat_res
+?U?=?rank(X?[,i])/(nrow(X)+1)
+?V?=?rank(X?[,j])/(nrow(X)+1)
+?normal.cop?<?-?normalCopula(.5,dim?=?2)
+?t.cop?<?-?tCopula(.5,dim?=?2,df?=?3)
+?fit1?=?fitCopula(normal.cop,cbind(U,V),method?=“ml”)
d(U,V),method?=“ml”)
+?C1?=?normalCopula(fit1?@?copula?@?parameters,dim?=?2)
+?C2?=?tCopula(fit2?@?copula?@?parameters?[1],dim?=?2,df?=?trunc(fit2?@?copula?@?parameters?[2]))
+
但人們可能想知道相關(guān)性是否隨時(shí)間穩(wěn)定。
>?time_varying_correl_2?=?function(i?=?1,j?=?2,
+?nom_arg?=“Pearson”){
+?uv?=?dat_arma?[,c(i,j)]
nom_arg))[1,2]+}
>?time_varying_correl_2(1,2)
>?time_varying_correl_2(1,2,“spearman”)
>?time_varying_correl_2(1,2,“kendall”)
斯皮爾曼與時(shí)變排名相關(guān)系數(shù)
或肯德爾?相關(guān)系數(shù)
為了模型的相關(guān)性,考慮DCC模型(S)
>?m2?=?dccFit(dat_res_std)
>?m3?=?dccFit(dat_res_std,type?=“Engle”)
>?R2?=?m2?$?rho.t
>?R3?=?m3?$?rho.t
要獲得一些預(yù)測, 使用例如
>?garch11.spec?=?ugarchspec(mean.model?=?list(armaOrder?=?c(2,1)),variance.model?=?list(garchOrder?=?c(1,1),model?=“GARCH”))
>?dcc.garch11.spec?=?dccspec(uspec?=?multispec(replicate(3,garch11.spec)),dccOrder?=?c(1,1),distribution?=“mvnorm”)
>?dcc.fit?=?dccfit(dcc.garch11.spec,data?=?dat)
>?fcst?=?dccforecast(dcc.fit,n.ahead?=?200)
本文摘選?《?R語言ARMA-GARCH-COPULA模型和金融時(shí)間序列案例?》?,點(diǎn)擊“閱讀原文”獲取全文完整資料。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
時(shí)間序列分析:ARIMA GARCH模型分析股票價(jià)格數(shù)據(jù)
GJR-GARCH和GARCH波動(dòng)率預(yù)測普爾指數(shù)時(shí)間序列和Mincer Zarnowitz回歸、DM檢驗(yàn)、JB檢驗(yàn)
【視頻】時(shí)間序列分析:ARIMA-ARCH / GARCH模型分析股票價(jià)格
時(shí)間序列GARCH模型分析股市波動(dòng)率
PYTHON用GARCH、離散隨機(jī)波動(dòng)率模型DSV模擬估計(jì)股票收益時(shí)間序列與蒙特卡洛可視化
極值理論 EVT、POT超閾值、GARCH 模型分析股票指數(shù)VaR、條件CVaR:多元化投資組合預(yù)測風(fēng)險(xiǎn)測度分析
Garch波動(dòng)率預(yù)測的區(qū)制轉(zhuǎn)移交易策略
金融時(shí)間序列模型ARIMA 和GARCH 在股票市場預(yù)測應(yīng)用
時(shí)間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價(jià)格
R語言風(fēng)險(xiǎn)價(jià)值:ARIMA,GARCH,Delta-normal法滾動(dòng)估計(jì)VaR(Value at Risk)和回測分析股票數(shù)據(jù)
R語言GARCH建模常用軟件包比較、擬合標(biāo)準(zhǔn)普爾SP 500指數(shù)波動(dòng)率時(shí)間序列和預(yù)測可視化
Python金融時(shí)間序列模型ARIMA 和GARCH 在股票市場預(yù)測應(yīng)用
MATLAB用GARCH模型對股票市場收益率時(shí)間序列波動(dòng)的擬合與預(yù)測R語言GARCH-DCC模型和DCC(MVT)建模估計(jì)
Python 用ARIMA、GARCH模型預(yù)測分析股票市場收益率時(shí)間序列
R語言中的時(shí)間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價(jià)格
R語言ARIMA-GARCH波動(dòng)率模型預(yù)測股票市場蘋果公司日收益率時(shí)間序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價(jià)預(yù)測
R語言時(shí)間序列GARCH模型分析股市波動(dòng)率
R語言ARMA-EGARCH模型、集成預(yù)測算法對SPX實(shí)際波動(dòng)率進(jìn)行預(yù)測
matlab實(shí)現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計(jì)
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價(jià)預(yù)測
使用R語言對S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略
R語言用多元ARMA,GARCH ,EWMA, ETS,隨機(jī)波動(dòng)率SV模型對金融時(shí)間序列數(shù)據(jù)建模
R語言股票市場指數(shù):ARMA-GARCH模型和對數(shù)收益率數(shù)據(jù)探索性分析
R語言多元Copula GARCH 模型時(shí)間序列預(yù)測
R語言使用多元AR-GARCH模型衡量市場風(fēng)險(xiǎn)
R語言中的時(shí)間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價(jià)格
R語言用Garch模型和回歸模型對股票價(jià)格分析
GARCH(1,1),MA以及歷史模擬法的VaR比較
matlab估計(jì)arma garch 條件均值和方差模型R語言POT超閾值模型和極值理論EVT分析