makystats GitHub PyPI FR · EN

VAR

Autorégression vectorielle en niveau, estimation OLS native (coefficients, IC, IRF, FEVD, Granger, JB, whiteness, diagnostics graphiques).

README source : makystats/var_model/README.md

Import

from makystats import VAR, select_var_order

Déterministes

detContenu
naucun
cconstante (défaut)
ttendance linéaire seule
ctconstante + tendance
cttconstante + tendance + quadratique

Exemple

res = VAR(df[["DTS", "FMG"]], k_ar=1, det="c").fit()
print(res.summary())
print(res.aic, res.bic)
print(res.forecast(5, conf_int=True, variables=["DTS", "FMG"]))
print(res.irf(10).to_wide()["DTS"])
print(res.fevd(10).to_wide()["DTS"])
print(res.test_causality("DTS", "FMG"))
print(res.test_normality())
print(res.test_whiteness(nlags=2))
res.plot_diagnostics(lags=12)

Sélection d’ordre

order = select_var_order(data, maxlags=4, det="c", criterion="bic")
print(order.table, order.best, order.selected)
order = select_var_order(data, maxlags=4, return_best=True, criterion="aic")
order.best_model.summary()

Options : criterion, return_best, verbose, common_sample.

Pont vers le VECM

p = order.best
k_ar_diff = p - 1
rank = select_coint_rank(data, k_ar_diff=k_ar_diff, test_case="3")
if rank.rank >= 1:
    model = VECM(data, k_ar_diff=k_ar_diff, coint_rank=rank.rank, det_case="3a").fit()
else:
    res = VAR(data, k_ar=p, det="c").fit()

API VARResults

Méthode / propriétéRôle
summary()Tables par équation + diagnostics + IC système
params / stderr / tvalues / pvaluesCoefficients
fittedvalues / residDataFrames, index d’estimation
forecast(..., variables=…)Prévision filtrée
irf / fevd.to_wide(), .plot()
test_causality, test_normality, test_whitenessTests
plot_diagnostics1 ligne / équation

IRF, FEVD, lecture

Pour l’équation DTS à l’horizon 5, shock[FMG] = 0.38 signifie qu’environ 38 % de l’erreur de prévision de DTS à 5 pas est attribuable aux chocs sur FMG (ordre de Cholesky = ordre des colonnes).

IC système (−2ℓ/T) : AIC = −2ℓ/T + 2k/T ; BIC = −2ℓ/T + k log(T)/T.