Я пытаюсь лучше понять метод Йохансена, поэтому разработал пример 3.1, приведенный в книге «Метод вероятностного вывода-коинтеграции-авторегрессии-эконометрики», в котором мы имеем три процесса:
поэтому векторы коинтеграции должны быть [a, -1, 0] и [0, 0 1], но когда я запускаю метод Йохансена, я не могу их получить.
Код, который я пробую, выглядит следующим образом:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from statsmodels.tsa.stattools import adfuller
from statsmodels.tsa.johansen import coint_johansen
mu, sigma = 0, 1 # mean and standard deviation
n = 1000
s1 = np.random.normal(mu, sigma, n)
s2 = np.random.normal(mu, sigma, n)
s3 = np.random.normal(mu, sigma, n)
x_1t = np.cumsum(s1)+s2
x_2t = 7*np.cumsum(s1)+s3
x_3t = s3
#Creating Pandas object
todays_date = datetime.datetime.now().date()
index = pd.date_range(todays_date-datetime.timedelta(10), periods=n, freq='D')
y = pd.DataFrame(index=index, data={'col1': x_1t, 'col2': x_2t, 'col3':x_3t} )
p = 4
jres = coint_johansen(y, 0, p)
Я пробовал несколько р-значений и не могу получить векторы коинтеграции, я знаю, что делаю что-то не так. Спасибо.
self-study
cointegration
vecm
mapsa
источник
источник
Ответы:
Я нашел ответ. Если это кому-нибудь пригодится, можете проверить следующую записную книжку:
http://nbviewer.ipython.org/github/mapsa/seminario-doc-2014/blob/master/cointegration-example.ipynb
источник