Introduction¶
All tests expect a 1-d series as the first input. The input can be any array that can squeeze into a 1-d array, a pandas Series or a pandas DataFrame that contains a single variable.
All tests share a common structure. The key elements are:
stat - Returns the test statistic
pvalue - Returns the p-value of the test statistic
lags - Sets or gets the number of lags used in the model. In most test, can be
None
to trigger automatic selection.trend - Sets or gets the trend used in the model. Supported trends vary by model, but include:
'nc': No constant
'c': Constant
'ct': Constant and time trend
'ctt': Constant, time trend and quadratic time trend
summary() - Returns a summary object that can be printed to get a formatted table
Basic Example¶
This basic example show the use of the Augmented-Dickey fuller to test whether the default premium, defined as the difference between the yields of large portfolios of BAA and AAA bonds. This example uses a constant and time trend.
import datetime as dt
import pandas_datareader.data as web
from arch.unitroot import ADF
start = dt.datetime(1919, 1, 1)
end = dt.datetime(2014, 1, 1)
df = web.DataReader(["AAA", "BAA"], "fred", start, end)
df['diff'] = df['BAA'] - df['AAA']
adf = ADF(df['diff'])
adf.trend = 'ct'
print(adf.summary())
which yields
Augmented Dickey-Fuller Results
=====================================
Test Statistic -3.448
P-value 0.045
Lags 21
-------------------------------------
Trend: Constant and Linear Time Trend
Critical Values: -3.97 (1%), -3.41 (5%), -3.13 (10%)
Null Hypothesis: The process contains a unit root.
Alternative Hypothesis: The process is weakly stationary.