Кривая подверженной риску ценности (VaR) с моделью Copula-GARCH (R)

#r #var

#r #var

Вопрос:

Я пытаюсь создать кривую VaR с помощью модели Copula-GARCH в R. Вот что у меня есть:

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

Получение цен на акции Boeing и Airbus и расчет доходности:

 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)
  

Инициализация связки:

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

Монте-Карло и 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 и copulas для подгонки модели и создания кривой VaR?