Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- n.ots <- 1000 #number of out of sample obsv
- n.its <- 1500 #obsv in rolling windows
- alpha <- 0.05
- y.ots <- matrix(NA, nrow = n.ots, ncol = 1)
- pred_vol_beta <- matrix(NA, nrow = n.ots, ncol = 1) #predicted volatility (cond. st. deviation)
- pred_vol_beta_sk <- matrix(NA, nrow = n.ots, ncol = 1)
- q_resid_beta <- matrix(NA, nrow = n.ots, ncol = 1)
- q_resid_sk <- matrix(NA, nrow = n.ots, ncol = 1)
- for (i in 1:n.ots) {
- y.its <- log_returns[i:(n.its + i - 1)]
- y.ots[i] <- log_returns[n.its + i]
- pred_vol_beta[i] <- predict(tegarch(y.its,skew = FALSE),n.ahead = 1)
- pred_vol_beta_sk[i] <- predict(tegarch(y.its,skew = TRUE),n.ahead = 1)
- q_resid_beta[i] <- quantile(residuals.tegarch(tegarch(y.its,skew = FALSE),standardized = TRUE),alpha) # quantile of the distribution applied to the standardized residuals
- q_resid_sk[i] <- quantile(residuals.tegarch(tegarch(y.its,skew = TRUE),standardized = TRUE),alpha)
- }
- toc()
- pred_vol_beta <- unlist(pred_vol_beta)
- pred_vol_beta_sk <- unlist(pred_vol_beta_sk)
- VaR_beta <- q_resid_beta*pred_vol_beta
- VaR_beta_sk <- q_resid_sk*pred_vol_beta_sk
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement