Copula-GARCH模型(R)

时间:2016-10-21 10:17:05

标签: r var

我试图用R中的Copula-GARCH模型创建一个VaR曲线。 这就是我所拥有的:

library("fGarch")
library("quantmod")
library(ghyp)
library(copula)

获取波音公司的股价空客和计算产量:

getSymbols("BA", from="2014-01-01", to="2016-10-19")
p<-as.numeric(Ad(BA))
l<-length(p)
y<-p[2:l]/p[1:(l-1)]-1
getSymbols("AIR",from="2014-01-01", to="2016-10-19")
p1<-as.numeric(Ad(AIR))
y1<-diff(p1)/head(p1,-1)

创建最佳投资组合:

gammas <- seq(0,1,0.001)
var <- var(y)*gammas^2 + var(y1)*(1-gammas)^2 + 2*cov(y, y1)*gammas*(1-gammas)
optimal <- (var(y1) - cov(y, y1))/(var(y) + var(y1) - 2*cov(y, y1))
optimal
prt<-optimal*y+(1-optimal)*y1
y2<-cbind(y,y1)
head(y2)

产量的二维分布:

cdf<-pobs(y2)
plot(cdf)

初始化copula:

t.cop<-tCopula(dim=2, param=0.5, df=2, df.fixed=TRUE)
fit<-fitCopula(data=cdf, copula=t.cop)
summary(fit)

Monte-Carlo&amp; VAR:

N0<-10000
points_cop<-rCopula(copula=fit@copula, N0)
plot(points_cop, cex=0.2)
y_cop<-quantile(y, points_cop)
y1_cop<-quantile(y1, points_cop)
prt_y2<-optimal*y_cop+(1-optimal)*y1_cop
quantile(prt_y2, 0.05)

问题在于获得VaR曲线(这里将样品分成测试和检验样品):

N1<-15000
test1<-prt_y2[(N1+1):length(prt_y2)]
VaR1<-rep(0,length(test1))
for(i in (N1+1):length(prt_y2))
{train1<-prt_y2[(i-N1):(i-1)]
...............
}

如何组合GARCH和copula来拟合模型并创建VaR曲线?

0 个答案:

没有答案