'Summarize the Model
Parameters
alpha : float, optional
Significance level for the confidence intervals.
Returns
smry : Summary instance
This holds the summary table and text, which can be printed or
converted to various output formats.
See Also
statsmodels.iolib.summary.Summary'

def summary(self, alpha=0.05):

    from statsmodels.iolib.summary import Summary
    model = self.model
    title = (model.__class__.__name__ + '    Model    Results')
    method = model.method
    k_diff = getattr(self, 'k_diff', 0)
    if ('mle' in method):
        start = k_diff
    else:
        start = (k_diff + self.k_ar)
    if (self.data.dates is not None):
        dates = self.data.dates
        sample = [dates[start].strftime('%m-%d-%Y')]
        sample += [('-    ' + dates[(-1)].strftime('%m-%d-%Y'))]
    else:
        sample = ((str(start) + '    -    ') + str(len(self.data.orig_endog)))
    (k_ar, k_ma) = (self.k_ar, self.k_ma)
    if (not k_diff):
        order = str((k_ar, k_ma))
    else:
        order = str((k_ar, k_diff, k_ma))
    top_left = [('Dep.    Variable:', None), ('Model:', [(model.__class__.__name__ + order)]), ('Method:', [method]), ('Date:', None), ('Time:', None), ('Sample:', [sample[0]]), ('', [sample[1]])]
    top_right = [('No.    Observations:', [str(len(self.model.endog))]), ('Log    Likelihood', [('%#5.3f' % self.llf)]), ('S.D.    of    innovations', [('%#5.3f' % (self.sigma2 ** 0.5))]), ('AIC', [('%#5.3f' % self.aic)]), ('BIC', [('%#5.3f' % self.bic)]), ('HQIC', [('%#5.3f' % self.hqic)])]
    smry = Summary()
    smry.add_table_2cols(self, gleft=top_left, gright=top_right, title=title)
    smry.add_table_params(self, alpha=alpha, use_t=False)
    from statsmodels.iolib.table import SimpleTable
    if (k_ma and k_ar):
        arstubs = [('AR.%d' % i) for i in range(1, (k_ar + 1))]
        mastubs = [('MA.%d' % i) for i in range(1, (k_ma + 1))]
        stubs = (arstubs + mastubs)
        roots = np.r_[(self.arroots, self.maroots)]
        freq = np.r_[(self.arfreq, self.mafreq)]
    elif k_ma:
        mastubs = [('MA.%d' % i) for i in range(1, (k_ma + 1))]
        stubs = mastubs
        roots = self.maroots
        freq = self.mafreq
    elif k_ar:
        arstubs = [('AR.%d' % i) for i in range(1, (k_ar + 1))]
        stubs = arstubs
        roots = self.arroots
        freq = self.arfreq
    else:
        stubs = []
    if len(stubs):
        modulus = np.abs(roots)
        data = np.column_stack((roots.real, roots.imag, modulus, freq))
        roots_table = SimpleTable(data, headers=['                                            Real', '                                    Imaginary', '                                    Modulus', '                                Frequency'], title='Roots', stubs=stubs, data_fmts=['%17.4f', '%+17.4fj', '%17.4f', '%17.4f'])
        smry.tables.append(roots_table)
    return smry
