Submission: Tingjun GARCH model updates#16
Conversation
…sigma_0$ = 0.2586, $z_{off}$ = 0.0214.
…-functional reuse
|
Hi @Orrell, sorry I just saw your email about the 0.01 parameter. I am going to address that and update this PR. |
|
Ok @Orrell I've updated README.md and declare 0.01 as another parameter Mean Reversion (γ) so the model now has 4 parameters. The results did not change. |
|
Hi @tingjun-yang To compare your model with standard GARCH I set alpha=0.2475, beta = 0.7425, sigma = 0.095. In standard GARCH the model has omega = (1.0 - alpha - beta) * sigma2_daily while in your model the difference is that omega = (1.0 - beta) * sigma2_daily. So it isn't the same as a standard GARCH model and I was wondering if (a) you had tried optimizing the standard model to compare performance, and (b) if you had a particular motivation for making the change or was it more trial and error? |
|
Hi @Orrell, Thanks for your question. I think my notation is a little confusing. I was trying to follow the GARCH model as explained in this article: The stability of the GARCH(1,1) model depends on the sum of
My implementation utilizes the mean-reverting setting. I defined the persistence as |
|
Hi @tingjun-yang Yes, the switch to lambda and gamma makes it harder to compare so maybe I am missing something here, but in your model you have beta (=lambda) = 0.8. Also gamma = 1 - alpha - beta = 0.01 so alpha = 1 - beta - 0.01 = 0.19. In a normal GARCH model you have omega = (1 - alpha - beta) * sigma2_daily = 0.01sigma2_daily, but in yours you have omega = (1 - beta) * sigma2_daily = 0.2sigma2_daily. Is that correct? In any case can I ask that for comparison with other GARCH models you rephrase using parameters alpha and beta (rather than lambda/gamma)? This would make interpretation a lot easier. Thanks, David |
|
Hi @Orrell, Thanks for pointing that out. I see what you mean now. Yes, the initial definition of omega was an oversight. I will correct that and use the standard parameter names alpha and beta. I will reoptimize the parameters and submit a PR soon. Thanks! |
|
Thanks, it will be interesting to see whether the standard GARCH can do as well. Either way it would be very useful to have a note in the README summarizing the difference.
David
On Dec 28, 2025, at 3:18 PM, tingjun-yang ***@***.***> wrote:
[https://avatars.githubusercontent.com/u/128106253?s=20&v=4]tingjun-yang left a comment (q-variance/challenge#16)<#16 (comment)>
Hi @Orrell<https://github.com/Orrell>, Thanks for pointing that out. I see what you mean now. Yes, the initial definition of omega was an oversight. I will correct that and use the standard parameter names alpha and beta. I will reoptimize the parameters and submit a PR soon. Thanks!
—
Reply to this email directly, view it on GitHub<#16 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AEBN4KLQLSAA6EC4HHIRK7L4EA3KNAVCNFSM6AAAAACQCQWPR6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTMOJVGAZDAMRYGI>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Hi David,
Thank you for the clarification on the requirements.
Following your instructions, I have re-optimized the model parameters using a 5M-day sample against the theoretical target parameters ($\sigma_0 = 0.2586$ and $z_{off} = 0.0214$ ). Using the new configuration, I achieved an $R^2$ of 0.997.
I also conducted a convergence study to analyze the relationship between sample size and fit stability. My results show that$R^2$ scales positively with the number of days, consistently stabilizing above 0.995 once the sample exceeds 1M days. This confirms the structural robustness of the parameters against stochastic noise.
Additionally, I implemented a vectorized simulation function using NumPy, which has significantly improved computational speed and allowed for faster iteration across these larger datasets.
I have updated the repository with these findings and look forward to your feedback!
Best regards,
Tingjun Yang