Upgrade to the GARCH implementation
Please refer to issue #53.
I passed the test on my local system. However the test failed on Travis CI because there is no NLOpt package. How should I resolve it?
I think it is better to house each model separately in their own submodule. If the aim of the TimeModels module is to showcase individual models, then it may be good to compartmentalize them so that anyone can just grab the local files and be able to replicate the models.
Currently, we need to go to TimeModels.jl to obtain the various using and export statements before we can reproduce a local model.
Its ok, I passed the Travis CI test by putting NLopt as a dependency package.
By the way, I added a test capsule module wrap in all.jl. For REPL and Juno user who do TDD, any change to types will result in a restart if we do not do the wrap.
After working with the code, I realized that this is just a GARCH(1, 1) implementation. The volatility process is not derived correctly. Also, the package and functions used may be outdated, and there may be better ways to represent them. Lastly, the notation deviates from the original paper by Bollerslev. In the spirit of providing Julia examples of these models, we may want to keep the notation closer to the original.
These are things that I will try to do going ahead. Any recommendation or help to this PR is greatly appreciated =)
Thanks for the input @milktrader. Do keep the suggestion coming. I will continue to give the original code a face lift until I fully understood the code. Then I will upgrade its functionality.