GARCH, Соотношение цены и риска, Студенческий и перекос t, пакет rugarch - PullRequest
0 голосов
/ 24 октября 2019

Буду очень признателен, если кто-нибудь поможет мне прояснить некоторые сомнения относительно GARCH из пакета rugarch, условного распространения и VaR. Я вычисляю VaR со студенческим и асимметричным распределением. Я использую пакет rugarch. Должен ли я стандартизировать остатки или rugarch сделать это для меня?

Мой вопрос: правильный ли следующий код? Под этим я подразумеваю, если мне нужно стандартизировать пакет остатков или пакет rugarch, сделайте это для меня. Я думаю, что квантиль QT стандартизирован. Я точно знал, что мой код был верным, но сейчас я не уверен. Этот же пример можно использовать для асимметричного распределения t, но изменив квантиль и добавив новый параметр: skew

Спасибо!

 ##ARMA(1,0) GARCH(1,1)  STUDENT T##
  model=ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)),
                    mean.model = list(armaOrder = c(1,0), include.mean = TRUE),
                    distribution.model = "std"
      )
 gt11= ugarchfit(spec=model, solver = "hybrid", data=return)

Я извлекаю параметры для вычисления условного среднего и условного отклонения.

   mu11=gt11@fit$coef[1]
   ar11=gt11@fit$coef[2]
   omega11=gt11@fit$coef[3]
   alpha11=gt11@fit$coef[4]
   beta11=gt11@fit$coef[5]
   nut11=gt11@fit$coef[6]

    arma_t11[t+1]= mu11 + ar11*(return- mu11)
  sigma2_t11[t+1]= omega11 + alpha11 *(return- arma_t11[t+1])^2 + 
 beta11*sigma2_t11[t]
 sigma_t11[t+1]=sqrt(sigma2_t11[t+1]) * sqrt((nut11-2)/nut11)
 VaRt1[t+1]= arma_t11[t+1] + sigma_t11[t+1] * qt(p1, df=nut11) * value

 #ARMA(1,0) GARCH(1,1) SKEWED T##

 modelsst=ugarchspec(variance.model = list(model = "sGARCH", garchOrder = 
 c(1, 1)),
                    mean.model = list(armaOrder = c(1,0), include.mean = 
 TRUE),
                    distribution.model = "sstd"
   )
 gsst11= ugarchfit(spec=model, solver = "hybrid", data=return)

Я извлекаю параметры для вычисления условного среднего и условного отклонения.

 mu11=gsst11@fit$coef[1]
 ar11=gsst11@fit$coef[2]
 omega11=gsst11@fit$coef[3]
 alpha11=gsst11@fit$coef[4]
 beta11=gsst11@fit$coef[5]
 skewst11=gsst11@fit$coef[6]
 nut11=gsst11@fit$coef[7]
 arma_st11[t +1]= mu11 + ar11*(return-mu11) 
 sigma2_st11[t+1]= omega11 + alpha11 *(return- arma_st11[t+1])^2 + 
 beta11*sigma2_st11[t] 
 sigma_st11[t+1]=sqrt(sigma2_st11[t+1]) 
 VaRst1[t+1]= arma_st11[t+1] + sigma_st11[t+1] * qsstd(p1, nu=nust11, 
 xi=skewst11) * value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...