예제 #1
0
 def test_no_change_lags_trend(self):
     adf = ADF(self.inflation)
     lags = adf.lags
     with pytest.warns(FutureWarning, match="Mutating unit root"):
         adf.lags = lags
     trend = adf.trend
     with pytest.warns(FutureWarning, match="Mutating unit root"):
         adf.trend = trend
     ml = adf.max_lags
     with pytest.warns(FutureWarning, match="Mutating unit root"):
         adf.max_lags = ml
예제 #2
0
 def ADF_test(self, df_ts, lags=None):
     if lags == 'None':
         try:
             adf = ADF(df_ts)
         except:
             adf = ADF(df_ts.dropna())
     else:
         try:
             adf = ADF(df_ts)
         except:
             adf = ADF(df_ts.dropna())
         adf.lags = lags
     print(adf.summary().as_text())
     return adf
예제 #3
0
 def ADF_test(df_ts, lags=None):
     """
     ADF from arch
     formula:
     xt-xt-1 ~ b0 + (b1-1)*xt-1 + e
     test if b1-1 == 0 ~ DF statistics
     :param df_ts:
     :param lags:
     :return:
     """
     if lags == 'None':
         try:
             adf = ADF(df_ts)
         except:
             adf = ADF(df_ts.dropna())
     else:
         try:
             adf = ADF(df_ts)
         except:
             adf = ADF(df_ts.dropna())
         adf.lags = lags
     print(adf.summary().as_text())
     return adf
예제 #4
0
 def test_negative_lag(self):
     adf = ADF(self.inflation)
     with pytest.raises(ValueError):
         adf.lags = -1
예제 #5
0
파일: test_unitroot.py 프로젝트: esvhd/arch
 def test_negative_lag(self):
     adf = ADF(self.inflation)
     with pytest.raises(ValueError):
         adf.lags = -1
from statsmodels.tsa.arima_model import ARMA

from sklearn.metrics import mean_squared_error as mse
from sklearn.metrics import r2_score as r2
from arch.unitroot import ADF

def parser(x):
    return datetime.strptime(x,'%d/%m/%Y')

data = pd.read_csv('Bitcoin-Train.csv',index_col=0,parse_dates= [0],date_parser = parser)
test_data = pd.read_csv('Bitcoin-Test.csv',index_col=0,parse_dates = [0],date_parser = parser)

# Augmented Dickey Fuller Test for Stationarity

adf_test = ADF(data,regression = 'c')
adf_test.lags = 2
adf.trend = 'c'
print(adf_test.summary().as_text())

plt.plot(data)

# ACF and PACF of Raw data
plot_acf(data)
plot_pacf(data)

### Stationarity Conversion ###

data_diff = data.diff(periods = 1)
data_diff = data_diff[1:]

### ACF and PACF for differenced Time Series ###