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.
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)
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
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).