arch.unitroot.cointegration.engle_granger(y, x, trend='c', *, lags=None, max_lags=None, method='bic')[source]

Test for cointegration within a set of time series.

  • y (array_like) – The left-hand-side variable in the cointegrating regression.

  • x (array_like) – The right-hand-side variables in the cointegrating regression.

  • trend ({"n","c","ct","ctt"}, default "c") –

    Trend to include in the cointegrating regression. Trends are:

    • ”n”: No deterministic terms

    • ”c”: Constant

    • ”ct”: Constant and linear trend

    • ”ctt”: Constant, linear and quadratic trends

  • lags (int, default None) – The number of lagged differences to include in the Augmented Dickey-Fuller test used on the residuals of the

  • max_lags (int, default None) – The maximum number of lags to consider when using automatic lag-length in the Augmented Dickey-Fuller regression.

  • method ({"aic", "bic", "tstat"}, default "bic") – The method used to select the number of lags included in the Augmented Dickey-Fuller regression.


Results of the Engle-Granger test.

Return type


See also


Augmented Dickey-Fuller testing.


Phillips & Perron’s unit root test.


Phillips-Ouliaris tests of cointegration.


The model estimated is

\[Y_t = X_t \beta + D_t \gamma + \epsilon_t\]

where \(Z_t = [Y_t,X_t]\) is being tested for cointegration. \(D_t\) is a set of deterministic terms that may include a constant, a time trend or a quadratic time trend.

The null hypothesis is that the series are not cointegrated.

The test is implemented as an ADF of the estimated residuals from the cross-sectional regression using a set of critical values that is determined by the number of assumed stochastic trends when the null hypothesis is true.