'Test for instantaneous causality.
The concept of instantaneous causality is described in chapters 3.6.3
and 7.6.4 of [1]_. Test |H0|: "No instantaneous causality between the
variables in `caused` and those in `causing`" against |H1|:
"Instantaneous causality between `caused` and `causing` exists".
Note that 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
:meth:`test_granger_causality()`) may be misleading.
Parameters
causing : int or str or sequence of int or str
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.
signif : float, 0 < `signif` < 1, default 5 %
Significance level for computing critical values for test,
defaulting to standard 0.05 level.
Returns
results : :class:`statsmodels.tsa.vector_ar.hypothesis_test_results.CausalityTestResults`
Notes
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. Reducing the lag order by one in `JMulTi`
leads to equal results in `statsmodels` and `JMulTi`.
References
.. [1] Lutkepohl, H. 2005. *New Introduction to Multiple Time Series Analysis*. Springer.
.. |H0| replace:: H\ :sub:`0`
.. |H1| replace:: H\ :sub:`1`'

def test_inst_causality(self, causing, signif=0.05):

    exog = _deterministic_to_exog(self.deterministic, self.seasons, nobs_tot=(self.nobs + self.k_ar), first_season=self.first_season, seasons_centered=True, exog=self.exog, exog_coint=self.exog_coint)
    (k, t, p) = (self.neqs, self.nobs, self.k_ar)
    var_results = VAR(self.y_all.T, exog).fit(maxlags=p, trend='nc')
    var_results._results.names = self.names
    return var_results.test_inst_causality(causing=causing, signif=signif)
