I need to replicate what Huang and al (2009)* did without using built-in functions in R. What I'm struggling with is how to forecast returns for my two data samples. I've found the GARCH specs and Copula specs. I can forecast volatility using GARCH but I also have to add the dependent correlation that should stem from the copulas (we're assuming correlation is non-static). I don't know how to forecast correlation every day.

More details : We have 2 assets to construct an equal-weighted portfolio. We model their volatility according to a GARCH(1, 1), then model the residuals with 4 different copulas.In this first part, we should be able to identify which copula is most accurate in its fit. We now need to forecast the portfolio's return for n iterations. I don't have a problem with forecasting using GARCH, I have no clue how to forecast the correlation between the two assets. We need this correlation because we are forecasting a VaR of the portfolio and evaluating if our predictions represent what actually happened.


enter image description here

*Jen-Jsung Huang, Kuo-Jung Lee, Hueimei Liang, Wei-Fu Lin, Estimating value at risk of portfolio by conditional copula-GARCH method, Insurance: Mathematics and Economics, Volume 45, Issue 3, 2009,

  • $\begingroup$ Please include a full reference to Huang et al. (2009). Consider describing the setup in more detail so that one is not required to read Huang et al. (2009) to be able to help you. This way you can increase your chances of getting a useful answer and decrease the chances of the question being closed as "unclear". $\endgroup$ Apr 16, 2022 at 10:47
  • $\begingroup$ VAR is vector autoregression. VaR is value at risk. Var is variance. You wrote VAR, but I guess you meant VaR. $\endgroup$ Apr 18, 2022 at 19:17

1 Answer 1


Correlation will not help determine value at risk (VaR) from a nontrivial copula. The easiest and most general way to obtain VaR would be to

  • simulate a large number (say, 10000) of future paths of the stock returns from the model,
  • construct paths of portfolio returns corresponding to the given portfolio weights (0.5 and 0.5 in your case) and then
  • estimate the VaR nonparametrically, i.e. obtain the appropriate empirical quantile of the simulated distribution.

That will work for any model and any copula. See also this answer for more details.

  • $\begingroup$ I've read the mentionned post and I'm struggling with generating simulated pseudo observations from the copulas without using already existing functions. I've looked through the R source code but I can't see to figure it out. $\endgroup$
    – Sami
    Apr 25, 2022 at 20:24
  • $\begingroup$ @Sami, we inevitably use some existing functions; writing everything from scratch would be way too time consuming. Which function exactly is troubling you? Do you want to use your own random number generator? $\endgroup$ Apr 26, 2022 at 6:32
  • $\begingroup$ @Sami, how is your progress? If my answer is helpful and clear, you may accept it by clicking on the tick mark to the left. Otherwise, you may ask for further clarification. This is how Cross Validated works. $\endgroup$ May 13, 2022 at 12:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.