SVARResults.test_inst_causality(causing, signif=0.05)

Test for instantaneous causality


If int or str, test whether the corresponding variable is causing the variable(s) specified in caused. If sequence of int or str, test whether the corresponding variables are causing the variable(s) specified in caused.

signiffloat between 0 and 1, default 5 %

Significance level for computing critical values for test, defaulting to standard 0.05 level


If True, print a table with the results.


A dict holding the test’s results. The dict’s keys are:


The calculated test statistic.


The critical value of the Chi^2-distribution.


The p-value corresponding to the test statistic.


The degrees of freedom of the Chi^2-distribution.

“conclusion”str {“reject”, “fail to reject”}

Whether H0 can be rejected or not.


Significance level


Test for instantaneous causality as described in chapters 3.6.3 and 7.6.4 of [1]. Test H0: “No instantaneous causality between caused and causing” against H1: “Instantaneous causality between caused and causing exists”.

Instantaneous causality is a symmetric relation (i.e. if causing is “instantaneously causing” caused, then also caused is “instantaneously causing” causing), thus the naming of the parameters (which is chosen to be in accordance with test_granger_causality()) may be misleading.

This method is not returning the same result as JMulTi. This is because the test is based on a VAR(k_ar) model in statsmodels (in accordance to pp. 104, 320-321 in [1]) whereas JMulTi seems to be using a VAR(k_ar+1) model.


[1] (1,2)

Lütkepohl, H. 2005. New Introduction to Multiple Time Series Analysis. Springer.

Last update: Jul 16, 2024