Skip to main content
19 events
when toggle format what by license comment
Apr 1, 2023 at 11:06 vote accept Jerem Lachkar
Mar 30, 2023 at 12:10 answer added Richard Hardy timeline score: 1
Mar 28, 2023 at 15:39 comment added Jerem Lachkar Looks like it does, there is still a tiny difference though: correlation of 0.95 in R gives standardized residual conditional correlation to 0.945 with 100k points. I would have expected that 100k points would bring more precision than 0.005 difference. But much better than without standardising, thank you very much ! You can post an answer I'll upvote it
Mar 28, 2023 at 15:18 comment added Richard Hardy If that solves your problem (does it?), should I write it up as a brief answer so that we can close the thread as answered?
Mar 28, 2023 at 14:43 comment added Jerem Lachkar very good point, it works after trying residual standardized residual. Thank you for pointing this out :)
Mar 28, 2023 at 13:48 comment added Richard Hardy Note the word standardized in standardized residuals. Meanwhile, you seem to be worried about the correlation estimate from raw/unstandardized residuals not being equal to that of the standardized one.
Mar 28, 2023 at 9:55 comment added Jerem Lachkar Take original paper archive.nyu.edu/bitstream/2451/26482/2/02-38.pdf, page 8: They say that "A simple estimate of R is the unconditional correlation matrix of the standardized residuals". This estimator would be biased and not consistent then ? (since it does not converge to true value when sample size increase..)
Mar 28, 2023 at 8:17 comment added Jerem Lachkar Precisely, the difference is not very huge. When my cond. corr is 0.9, I get empirical uncond. corr = 0.75. When cond. corr = 0.98 I get uncond. corr to 0.9. Unconditional is always lesser than conditional but I can’t explain why
Mar 28, 2023 at 8:16 comment added Jerem Lachkar But in my case for example I set input dcc_r = [[1, 0.9][0.9, 1]], so I expect a correlation of 0.9. I see that the cond. correlation goes around 0.9 up and down when I plot it, as expected in a garch-dcc. But when I get my uncond correlation from the generated innovations to control it, it’s not the same as the average cond. correlation.
Mar 28, 2023 at 8:13 comment added Jerem Lachkar I’m confused because from all I read over garch-dcc, R matrix should precisely define the unconditional correlation of the residual, and it should be an average of the cond. correlation over time ..
Mar 28, 2023 at 8:12 comment added Jerem Lachkar Yes this is it. More precisely, I get the generated innovations from the GARCH-DCC specification from Engle 2002, iteratively (each iteration, I first forecast the variance using regular GARCH, then forecast the correlation using DCC spec., and finally get from the 2 the var-cov matrix). As you say, when the cond variance changes over time (i.e. when the garch alpha/beta of the garch-dcc are > 0), the empirical uncond. correlation of the overall generated innovation is not equal to the one I provided in DCC-R, as input.
Mar 28, 2023 at 7:55 comment added Richard Hardy OK, so you start from multivariate i.i.d. standardized innovations with a certain unconditional correlation matrix. When you change their variances over time according to GARCH, the correlations get distorted. This is to be expected, though only to a small extent. Is the distortion you are observing large?
Mar 27, 2023 at 20:18 comment added Jerem Lachkar So, without considering the model behind that will use it to generate the random realization (the VECM for example), the issue is that the innovation generated have not the same uncond. correlation than the CCC matrix provided in input, and this happens when input GARCH params > 0 only.
Mar 27, 2023 at 20:17 comment added Jerem Lachkar Actually the code I provided is just used to generate garch-dcc random innovations, provided some GARCH-DCC parameters (to be used to generate a random realization of more general model, for example a ECM with GARCH-DCC innovations). The more general model call conditional_variance_process.generate_innovations() (conditional_variance_process can be an instance of GarchDcc or whatever conditional variance process, but it will always have a generate_innovation fn).
Mar 27, 2023 at 19:46 comment added Richard Hardy What are the generated innovations? Are these obtained from a fitted model? If so, let me call them residuals rather than innovations. (Innovations are the theoretical ones or the ones used for simulating a DCC process.) Are they the standardized residuals (for which your doubts would be justified) or raw residuals (that display GARCH patterns)? The raw residuals might not have quite the same correlation as the standardized residuals, because the assumption about correlation is made about the standardized innovations of the process.
Mar 27, 2023 at 19:02 history edited Jerem Lachkar CC BY-SA 4.0
added 25 characters in body
Mar 27, 2023 at 19:01 comment added Jerem Lachkar I'm computing the empirical unconditional correlation of the generated innovations (using np.corrcoef I get the correlation matrix, and I take the value that is not on the diagonal, there is only one value because asset number = 2, I will update my queston). I'm expecting this correlation coefficient to be equal to the one I gave as input in the CCC matrix. When GARCH alpha, beta > 0 (variance changing over time), these 2 number are not equal, I don't understand why (I don't know if it is normal or if this is the sign of an error in my implementation)
Mar 27, 2023 at 16:35 comment added Richard Hardy What exactly are you calculating the correlation between (the one that is not what you think it should be)?
Mar 27, 2023 at 13:29 history asked Jerem Lachkar CC BY-SA 4.0