[ANN] ARCHModels.jl

I am happy to announce that ARCHModels.jl just had its v0.1.0 release. ARCH (Autoregressive Conditional Volatility) models are the workhorse tools for modelling daily volatility in financial time series data. ARCHModels.jl implements simulation, estimation, forecasting, and testing for a variety of models from this class.

Feedback is welcome!


Hi Simon,

When I run the following codes based on your instruction, Julia always shows me a warning below:
julia> using ARCHModels
julia> spec = GARCH{1, 1}([1., .9, .05]);
julia> data = BG96;
julia> am = UnivariateARCHModel(spec, data; dist=StdT(3.), meanspec=Intercept(1.))
julia> fit!(am)

ERROR: StackOverflowError:

Could you please let me know the reason? Thanks.

I cannot replicate your error with ARCHModels 0.5.3 on Julia 1.2.

Hi Yifan,

Thanks for your response. The current version of ARCHModels is 0.5.1, isn’t it? Is there a way to get version 0.5.3?

The information shown by Julia is as follow when I install the package ARCHModels:
julia> Pkg.add(“ARCHModels”)
Resolving package versions…
Updating C:\Users\qingx\.julia\environments\v1.2\Project.toml
[6d3278bc] + ARCHModels v0.5.1
Updating C:\Users\qingx\.julia\environments\v1.2\Manifest.toml
[6d3278bc] + ARCHModels v0.5.1
[861a8166] + Combinatorics v0.7.0
[09f84164] + HypothesisTests v0.8.0
[f2b01f46] + Roots v0.8.4

I have tried to install the package with specific version but it still doesn’t work:

julia> Pkg.add(Pkg.PackageSpec(name=“ARCHModels”, version=“0.5.3”))
Resolving package versions…
ERROR: Unsatisfiable requirements detected for package SpecialFunctions [276daf66]:
SpecialFunctions [276daf66] log:
├─possible versions are: [0.7.0-0.7.2, 0.8.0, 0.9.0] or uninstalled
├─restricted by compatibility requirements with TensorFlow [1d978283] to versions: [0.7.0-0.7.2, 0.8.0, 0.9.0]
│ └─TensorFlow [1d978283] log:
│ ├─possible versions are: [0.10.2, 0.10.4, 0.11.0] or uninstalled
│ └─restricted to versions 0.11.0 by an explicit requirement, leaving only versions 0.11.0
├─restricted by julia compatibility requirements to versions: [0.7.0-0.7.2, 0.8.0] or uninstalled, leaving only versions: [0.7.0-0.7.2, 0.8.0]
├─restricted by compatibility requirements with Distributions [31c24e10] to versions: 0.8.0
│ └─Distributions [31c24e10] log:
│ ├─possible versions are: [0.16.0-0.16.4, 0.17.0, 0.18.0, 0.19.1-0.19.2, 0.20.0, 0.21.0-0.21.3, 0.21.5-0.21.11] or uninstalled
│ └─restricted to versions 0.21.8 by an explicit requirement, leaving only versions 0.21.8
└─restricted by compatibility requirements with ARCHModels [6d3278bc] to versions: 0.7.2 — no
versions left
└─ARCHModels [6d3278bc] log:
├─possible versions are: [0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0-0.5.3] or uninstalled
└─restricted to versions 0.5.3 by an explicit requirement, leaving only versions 0.5.3

Hi @Qing_Xu

I’ve just tagged a new release (v0.6.0). Could you please try if it fixes your issue?

What happened is the following: you have a version of Distributions installed (0.21.8) that requires SpecialFunctions at version 0.8. ARCHModels 0.5.3 however requires version 0.7.2 (because of this issue: https://github.com/JuliaMath/SpecialFunctions.jl/issues/186). That’s why you were unable to install version 0.5.3, and the resolver fell back to ARCHModels 0.5.1. The latter should also require SpecialFunctions to be at 0.7.2, but didn’t explicitly say so. In version 0.6 of ARCHModels, I’ve now worked around the bug in SpecialFunctions 0.8/0.9, allowing me to relax the version bounds on it. This means that you should now be able to install 0.6, and it should work without issues (note that 0.5.1, which you currently have, should also work for the most part, except anything that relies on the t distribution).

Let me know how it goes!

1 Like

Is it possible to export the results of your package to latex tables?

Hi @s-broda

It goes well now with version 0.6.0. Thanks a lot!

Best regards,


Happy to hear that Qing!

@Yifan_Liu I’m afraid no. I saw however that PrettyTables.jl just gained a LaTeX backend, maybe that could be of help to you: [ANN] PrettyTables.jl now has LaTeX backend