#python #statsmodels
Вопрос:
Я пытался проверить, объединены ли два временных ряда, используя множество учебных пособий в Интернете, но это не дало мне никакого результата. Вот мой код:
import pandas as pd
import statsmodels.api as sm
from statsmodels.tsa.stattools import adfuller
X = pd.read_csv('abc.csv')['Close']
Y = pd.read_csv('xyz.csv')['Close']
df = pd.concat([Y,X],axis=1)
df.columns = ['Y','X']
model = sm.OLS(df.Y.iloc[:90], df.X.iloc[0:90])
model = model.fit()
df['spread'] = df.Y - model.params[0]*df.X
df.spread = df.spread.dropna()
adf = adfuller(df.spread,maxlag=1)
print('ADF Statistic: %f' % adf[0])
print('p-value: %f' % adf[1])
Я хотел бы получить значение p, потому что я знаю, что X и Y объединены тогда и только тогда, когда значение p Однако я получаю следующую ошибку:
статс-модели.инструменты.sm_exceptions.Ошибка MissingDataError: exog содержит inf или nans.
Это странно, потому что НАН должны быть устранены.
Заранее благодарю вас за любую помощь.