Я пытаюсь получить p-значения моего вектора коинтеграции. Я прочитал много вопросов об этом, и большинство ответов основаны на функции ca.jo из пакета urca (книга Бернхарда Пфаффа на странице 156 - один из примеров). Итак, я решил попробовать (я использую экзогенные переменные для кратковременного запуска, поэтому пакет tsDyn был моим лучшим выбором, так как пользователь может легко это настроить).
Ниже приведена функция, которую я использовал в VECM
(tsDyn). Обратите внимание, что я исключил экзогенные переменные:
X = VECM(sub_target_1, lag=3, r=1, include="const", estim="ML", LRinclude="const")
вот мои результаты:
#############
###Model VECM
#############
Full sample size: 431 End sample size: 427
Number of variables: 4 Number of estimated slope parameters 52
AIC -15665.99 BIC -15442.86 SSR 1.146335
Cointegrating vector (estimated by ML):
Clp_Fx_Nom Copper Oil Ratio const
r1 1 -0.03725038 0.1276867 1.018937 -8.932703
ECT Clp_Fx_Nom -1 Copper -1
Equation Clp_Fx_Nom 0.0042(0.0173) -0.0316(0.0568) -0.0427(0.0258).
Equation Copper 0.0249(0.0379) -0.2829(0.1244)* -0.1045(0.0565).
Это функция ca.jo (urca), которую я сравнивал:
test=ca.jo(sub_target_1, type="trace",K=3,ecdet="const", spec="longrun")
и это были результаты:
######################
# Johansen-Procedure #
######################
Test type: trace statistic , without linear trend and constant in cointegration
Eigenvalues (lambda):
[1] 9.466481e-02 2.847656e-02 1.536945e-02 9.699295e-03 -2.795648e-18
Values of teststatistic and critical values of test:
test 10pct 5pct 1pct
r <= 3 | 4.17 7.52 9.24 12.97
r <= 2 | 10.80 17.85 19.96 24.60
r <= 1 | 23.17 32.00 34.91 41.07
r = 0 | 65.73 49.65 53.12 60.16
Eigenvectors, normalised to first column:
(These are the cointegration relations)
Clp_Fx_Nom.l3 Copper.l3 Oil.l3 Ratio.l3 constant
Clp_Fx_Nom.l3 1.00000000 1.0000000 1.0000000 1.000000 1.000000
Copper.l3 -0.03333813 0.5059200 0.3900929 12.301568 2.931141
Oil.l3 0.11958746 -0.2209898 0.2773398 2.166322 -1.252026
Ratio.l3 1.03753074 1.2162162 -0.2086412 -17.503155 -10.584605
constant -8.96705858 -11.0296017 -9.3375875 -45.202912 6.269255
Как видите, результаты немного отличаются. Я хотел бы понять, почему это так. Я что-то упускаю, когда настраиваю одну из них?
Дополнительно, как я могу найти p-значения, используя входные данные только из VECM (пакет tsDyn)?