class_docstr: Results class for Engle-Granger cointegration tests.
  
  Parameters
  ----------
  stat : float
      The Engle-Granger test statistic.
  pvalue : float
      The pvalue of the Engle-Granger test statistic.
  crit_vals : Series
      The critical values of the Engle-Granger specific to the sample size
      and model dimension.
  null : str
      The null hypothesis.
  alternative : str
      The alternative hypothesis.
  trend : str
      The model's trend description.
  order : int
      The number of stochastic trends in the null distribution.
  adf : ADF
      The ADF instance used to perform the test and lag selection.
  xsection : RegressionResults
      The OLS results used in the cross-sectional regression.
class_docstr_tok: ["Results","class","for","Engle-Granger","cointegration","tests",".","Parameters","--","--","--","--","--","stat",":","float","The","Engle-Granger","test","statistic",".","pvalue",":","float","The","pvalue","of","the","Engle-Granger","test","statistic",".","crit_vals",":","Series","The","critical","values","of","the","Engle-Granger","specific","to","the","sample","size","and","model","dimension",".","null",":","str","The","null","hypothesis",".","alternative",":","str","The","alternative","hypothesis",".","trend",":","str","The","model","'s","trend","description",".","order",":","int","The","number","of","stochastic","trends","in","the","null","distribution",".","adf",":","ADF","The","ADF","instance","used","to","perform","the","test","and","lag","selection",".","xsection",":","RegressionResults","The","OLS","results","used","in","the","cross-sectional","regression","."]
docstr: Summary of test, containing statistic, p-value and critical values
docstr_tok: ["Summary","of","test",",","containing","statistic",",","p-value","and","critical","values"]
code: def summary(self) -> Summary:
      """Summary of test, containing statistic, p-value and critical values"""
      table_data = [
          ("Test Statistic", f"{self.stat:0.3f}"),
          ("P-value", f"{self.pvalue:0.3f}"),
          ("ADF Lag length", f"{self.lags:d}"),
          ("Estimated Root ρ (γ+1)", f"{self.rho:0.3f}"),
      ]
      title = self.name
  
      table = SimpleTable(
          table_data,
          stubs=None,
          title=title,
          colwidths=18,
          datatypes=[0, 1],
          data_aligns=("l", "r"),
      )
  
      smry = Summary()
      smry.tables.append(table)
  
      cv_string = "Critical Values: "
      for val in self.critical_values.keys():
          p = str(int(val)) + "%"
          cv_string += f"{self.critical_values[val]:0.2f}"
          cv_string += " (" + p + ")"
          cv_string += ", "
      # Remove trailing ,<space>
      cv_string = cv_string[:-2]
  
      extra_text = [
          "Trend: " + TREND_DESCRIPTION[self._trend],
          cv_string,
          "Null Hypothesis: " + self.null_hypothesis,
          "Alternative Hypothesis: " + self.alternative_hypothesis,
          "Distribution Order: " + str(self.distribution_order),
      ]
  
      smry.add_extra_txt(extra_text)
      return smry
  
imports: from __future__ import annotations
  import numpy
  import pandas
  from scipy import stats
  from statsmodels.iolib.summary import Summary
  from statsmodels.iolib.table import SimpleTable
  from statsmodels.regression.linear_model import RegressionResults
  from arch.typing import ArrayLike1D, ArrayLike2D, Literal, UnitRootTrend
  from arch.unitroot._shared import ResidualCointegrationTestResult, _check_cointegrating_regression, _cross_section
  from arch.unitroot.critical_values.engle_granger import CV_PARAMETERS, LARGE_PARAMETERS, SMALL_PARAMETERS, TAU_MAX, TAU_MIN, TAU_STAR
  from arch.unitroot.unitroot import ADF, TREND_DESCRIPTION
label_desc: Use image node_id 5 for calling the EngleGrangerTestResults obj's underlying member method code with example usage: obj.summary() and returns: smry