Расчет стоимости под риском с использованием распределения смеси - PullRequest
0 голосов
/ 04 марта 2020

Я хочу вычислить альфа-квантиль распределения Гауссовой смеси. Я пробовал следующее:

альфа <- 0,05 </p>

# N равно длине возвращаемого ряда (2544 наблюдения), так что я хочу получать квантиль Value at Risk / Alpha для каждого дня я. w1 и w2 являются весами компонентов 1 и 2 обоих векторов одинаковой длины (2544). То же самое верно для mu, определяющего среднее значение = 0 и сигма для каждого компонента sig_sq_1 и sig_sq_2. К сожалению, я получаю убывающее сообщение: нет знака Изменить после 1000 итераций. Без использования exteInt = "yes" в uni root я получаю сообщение об уменьшении: конечная точка имеет такой же знак. Я действительно надеюсь, что любой из вас сможет помочь мне решить мою проблему!

for (i in 1:N){

  x = OutSampleL[i]

  mu = mu[i]

  w1 = w[1,i] 
  w2 = w[2,i]

  sig1 = sig_sq_1[i]
  sig2 = sig_sq_2[i]

  fx <- function(x) w1* dnorm(x, mu, sig1) + w2 * dnorm(x, mu, sig2)

 cfx <- function(x, alpha, FUN = fx) {

integrate(function(x, FUN = fx) FUN(x), -Inf, x, subdivisions = 1000, stop.on.error = FALSE)$value - (1 - alpha)

}


  VaR[i] <- uniroot(cfx, c(0, 1), extendInt = "yes", tol = 0.001, alpha = 0.05)$root

}

Большое спасибо !!

...