statsmodels.tsa.x13.x13_arima_select_order(endog, maxorder=(2, 1), maxdiff=(2, 1), diff=None, exog=None, log=None, outlier=True, trading=False, forecast_periods=None, start=None, freq=None, print_stdout=False, x12path=None, prefer_x13=True, tempdir=None)[source]

Perform automatic seasonal ARIMA order identification using x12/x13 ARIMA.

endogarray_like, pandas.Series

The series to model. It is best to use a pandas object with a DatetimeIndex or PeriodIndex. However, you can pass an array-like object. If your object does not have a dates index then start and freq are not optional.


The maximum order of the regular and seasonal ARMA polynomials to examine during the model identification. The order for the regular polynomial must be greater than zero and no larger than 4. The order for the seasonal polynomial may be 1 or 2.


The maximum orders for regular and seasonal differencing in the automatic differencing procedure. Acceptable inputs for regular differencing are 1 and 2. The maximum order for seasonal differencing is 1. If diff is specified then maxdiff should be None. Otherwise, diff will be ignored. See also diff.


Fixes the orders of differencing for the regular and seasonal differencing. Regular differencing may be 0, 1, or 2. Seasonal differencing may be 0 or 1. maxdiff must be None, otherwise diff is ignored.


Exogenous variables.

logbool or None

If None, it is automatically determined whether to log the series or not. If False, logs are not taken. If True, logs are taken.


Whether or not outliers are tested for and corrected, if detected.


Whether or not trading day effects are tested for.


Number of forecasts produced. The default is None.

startstr, datetime

Must be given if endog does not have date information in its index. Anything accepted by pandas.DatetimeIndex for the start value.


Must be givein if endog does not have date information in its index. Anything accepted by pandas.DatetimeIndex for the freq value.


The stdout from X12/X13 is suppressed. To print it out, set this to True. Default is False.

x12pathstr or None

The path to x12 or x13 binary. If None, the program will attempt to find x13as or x12a on the PATH or by looking at X13PATH or X12PATH depending on the value of prefer_x13.


If True, will look for x13as first and will fallback to the X13PATH environmental variable. If False, will look for x12a first and will fallback to the X12PATH environmental variable. If x12path points to the path for the X12/X13 binary, it does nothing.


The path to where temporary files are created by the function. If None, files are created in the default temporary file location.


A bunch object containing the listed attributes.

  • order : tuple The regular order.

  • sorder : tuple The seasonal order.

  • include_mean : bool Whether to include a mean or not.

  • results : str The full results from the X12/X13 analysis.

  • stdout : str The captured stdout from the X12/X13 analysis.


This works by creating a specification file, writing it to a temporary directory, invoking X12/X13 in a subprocess, and reading the output back in.

Last update: Jun 14, 2024