-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
How hard would it be to wrap ARCHModels.jl?
It can fit ARMA{p,q} models (where p, q are the tuning parameters)
julia> using ARCHModels;
julia> fit_arma(df, p, q) = fit(ARCH{0}, df, meanspec=ARMA{p,q});
julia> fit_arma(BG96, 2, 3)
TGARCH{0,0,0} model with Gaussian errors, T=1974.
Mean equation parameters:
────────────────────────────────────────────────
Estimate Std.Error z value Pr(>|z|)
────────────────────────────────────────────────
c -0.00983746 0.0354041 -0.277862 0.7811
φ₁ 0.551574 0.589292 0.935995 0.3493
φ₂ -0.144346 1.92247 -0.0750838 0.9401
θ₁ -0.542057 0.591114 -0.91701 0.3591
θ₂ 0.113263 1.92454 0.0588521 0.9531
θ₃ 0.0501891 0.0282235 1.77828 0.0754
────────────────────────────────────────────────
Volatility parameters:
─────────────────────────────────────────
Estimate Std.Error z value Pr(>|z|)
─────────────────────────────────────────
ω 0.220462 0.0117617 18.7441 <1e-77
─────────────────────────────────────────
julia>It can comes w/ a self-tuning function to easily & quickly select the optimal ARMA{p,q}:
julia> auto_arma(df, bic) = selectmodel(ARCH{0}, df, meanspec=ARMA, criterion=bic, minlags=1, maxlags=3);
julia> auto_arma(BG96, bic) # ARMA(1,1)
TGARCH{0,0,0} model with Gaussian errors, T=1974.
Mean equation parameters:
─────────────────────────────────────────────
Estimate Std.Error z value Pr(>|z|)
─────────────────────────────────────────────
c -0.0266446 0.0174716 -1.52502 0.1273
φ₁ -0.621838 0.160741 -3.86857 0.0001
θ₁ 0.643588 0.154303 4.17095 <1e-4
─────────────────────────────────────────────
Volatility parameters:
─────────────────────────────────────────
Estimate Std.Error z value Pr(>|z|)
─────────────────────────────────────────
ω 0.220848 0.0118061 18.7063 <1e-77
─────────────────────────────────────────
julia> auto_arma(DOW29[:,1], bic) # ARMA(2,2)
TGARCH{0,0,0} model with Gaussian errors, T=2785.
Mean equation parameters:
───────────────────────────────────────────────
Estimate Std.Error z value Pr(>|z|)
───────────────────────────────────────────────
c -0.166748 0.0681206 -2.44783 0.0144
φ₁ 0.0178542 0.0401341 0.444864 0.6564
φ₂ -0.932372 0.0803993 -11.5968 <1e-30
θ₁ -0.0191798 0.0463979 -0.413375 0.6793
θ₂ 0.903732 0.0963863 9.37614 <1e-20
───────────────────────────────────────────────
Volatility parameters:
─────────────────────────────────────────
Estimate Std.Error z value Pr(>|z|)
─────────────────────────────────────────
ω 3.65185 0.220716 16.5455 <1e-60
─────────────────────────────────────────
julia> auto_arma(DOW29[:,3], bic) # ARMA(2,1)
TGARCH{0,0,0} model with Gaussian errors, T=2785.
Mean equation parameters:
────────────────────────────────────────────────
Estimate Std.Error z value Pr(>|z|)
────────────────────────────────────────────────
c 0.00192406 0.0345892 0.0556262 0.9556
φ₁ -0.371152 0.2418 -1.53496 0.1248
φ₂ -0.145134 0.0625429 -2.32055 0.0203
θ₁ 0.231451 0.235409 0.983186 0.3255
────────────────────────────────────────────────
Volatility parameters:
─────────────────────────────────────────
Estimate Std.Error z value Pr(>|z|)
─────────────────────────────────────────
ω 2.20732 0.164313 13.4336 <1e-40
─────────────────────────────────────────
julia> auto_arma(DOW29[:,9], bic) # ARMA(1,2)
TGARCH{0,0,0} model with Gaussian errors, T=2785.
Mean equation parameters:
──────────────────────────────────────────────
Estimate Std.Error z value Pr(>|z|)
──────────────────────────────────────────────
c -0.0184696 0.0215819 -0.855789 0.3921
φ₁ 0.109868 0.306715 0.358211 0.7202
θ₁ -0.110765 0.308797 -0.358699 0.7198
θ₂ -0.107618 0.0347561 -3.09639 0.0020
──────────────────────────────────────────────
Volatility parameters:
─────────────────────────────────────────
Estimate Std.Error z value Pr(>|z|)
─────────────────────────────────────────
ω 1.79002 0.109611 16.3307 <1e-59
─────────────────────────────────────────It takes any vector as input (it assumes vector is in chronological order)...
auto_arma(randn(5000), bic)
using MLJ;
X, y = @load_boston;
auto_arma(y, bic) #Nonsense bc y has no time structure in this datasetCan you please help me wrap ARCHModels.jl?
Metadata
Metadata
Assignees
Labels
No labels