R語(yǔ)言中的copula GARCH模型擬合時(shí)間序列并模擬分析|附代碼數(shù)據(jù)
原文鏈接:http://tecdat.cn/?p=23115
最近我們被客戶要求撰寫關(guān)于copula GARCH的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。
在這個(gè)文章中,我們演示了copula GARCH方法(一般情況下)
1 模擬數(shù)據(jù)
首先,我們模擬一下創(chuàng)新分布。我們選擇了一個(gè)小的樣本量。理想情況下,樣本量應(yīng)該更大,更容易發(fā)現(xiàn)GARCH效應(yīng)。
##?模擬創(chuàng)新分布
d?<-?2?#?維度
tau?<-?0.5?#?Kendall's?tau
Copula("t",?param?=?th,?dim?=?d,?df?=?nu)?#?定義copula對(duì)象
rCopula(n,?cop)?#?對(duì)copula進(jìn)行采樣
sqrt((nu.-2)/nu.)?*?qt(U,?df?=?nu)?#?對(duì)于ugarchpath()來(lái)說(shuō),邊緣必須具有均值0和方差1!
現(xiàn)在我們用這些copula依賴的創(chuàng)新分布來(lái)模擬兩個(gè)ARMA(1,1)-GARCH(1,1)過(guò)程。
##?邊緣模型的參數(shù)
fixed.p?<-?list(mu??=?1,
spec(varModel,?meanModel,
????????????????????fixed.pars?)?#?條件創(chuàng)新密度(或使用,例如,"std")
##?使用創(chuàng)新模擬ARMA-GARCH模型
##?注意:?ugarchpath():?從spec中模擬;
garchpath(uspec,
????????????????n.sim?=?n,?#?模擬的路徑長(zhǎng)度
???????????????
##?提取結(jié)果系列
X.?<-?fitted(X)?#?X_t?=?mu_t?+?eps_t?(simulated?process)
##?基本檢查:
stopifnot(all.equal(X.,????X@path$seriesSim,?check.attributes?=?FALSE),
##?繪制邊緣函數(shù)
plot(X.,?type?=?"l",?xlab?=?"t")

2 基于模擬數(shù)據(jù)的擬合程序
我們現(xiàn)在展示如何對(duì)X進(jìn)行ARMA(1,1)-GARCH(1,1)過(guò)程的擬合(我們刪除參數(shù)fixed.pars來(lái)估計(jì)這些參數(shù))。
spec(varModel,?mean.model?=?meanModel)
?ugarchfit(uspec,?data?=?x))
檢查(標(biāo)準(zhǔn)化的)Z,即殘差Z的偽觀測(cè)值。
plot(U.)

點(diǎn)擊標(biāo)題查閱往期內(nèi)容
【視頻】Copula算法原理和R語(yǔ)言股市收益率相依性可視化分析

左右滑動(dòng)查看更多

01

02

03

04

對(duì)于邊緣分布,我們也假定為t分布,但自由度不同。
fit("t",?dim?=?2),?data?=?U.,?method?=?"mpl")
nu.?<-?rep(nu.,?d)?#?邊緣自由度
est?<-?cbind(fitted?=?c(estimate,?nu.),?true?=?c(th,?nu,?nu.))?#?擬合與真實(shí)值

3 從擬合的時(shí)間序列模型進(jìn)行模擬
從擬合的copula 模型進(jìn)行模擬。
set.seed(271)?#?可重復(fù)性
sapply(1:d,?function(j)?sqrt((nu[j]-2)/nu[j])?*?qt(U[,j],?df?=?nu[j]))
##?=>?創(chuàng)新必須是標(biāo)準(zhǔn)化的garch()
sim(fit[[j]],?n.sim?=?n,?m.sim?=?1,
并繪制出每個(gè)結(jié)果序列(XtXt)。
apply(sim,fitted(x))?#?模擬序列
plot(X..,?type?=?"l")

