Как вычислить коинтеграции двух списков?

Заранее спасибо за помощь!

У меня есть два списка с некоторыми ценами запасов, примером:

a = [10.23, 11.65, 12.36, 12.96]

b = [5.23, 6.10, 8.3, 4.98]

Я могу вычислить корреляцию этих двух списков, с:

import scipy.stats

scipy.stats.pearsonr(a, b)[0]

Но, я не сделал нашел, что метод вычислил коинтеграцию двух списков.

Вы могли дать мне некоторые советы?

Большое спасибо!

7
задан Damiano 24 May 2010 в 09:39
поделиться

1 ответ

Я не верю, что для scipy был реализован тест на коинтеграцию. Возможно, вам будет лучше использовать rpy2 для взаимодействия Python с R. R предоставляет тесты коинтеграции в пакете urca .

Например:

import rpy2.robjects as ro
r=ro.r

a = [10.23, 11.65, 12.36, 12.96]
b = [5.23, 6.10, 8.3, 4.98]

Определите a и b в R:

ro.globalEnv['a']=ro.FloatVector(a)
ro.globalEnv['b']=ro.FloatVector(b)

Вызовите функцию R cor (корреляция):

print(r('cor(a,b,method="pearson")'))
# [1] 0.2438518

Вызов R ca.po (тест коинтеграции Phillips & Ouliaris)

r('library(urca)')
print(r('ca.po(cbind(a,b))'))
# ######################################################## 
# # Phillips and Ouliaris Unit Root / Cointegration Test # 
# ######################################################## 

# The value of the test statistic is: 0 

Я не знаком с коинтеграцией, поэтому извиняюсь, если я использовал ca.po совершенно неуместно.

Также обратите внимание, что R является языком программирования сам по себе, с (по крайней мере, в настоящее время) более богатой библиотекой статистических функций, чем scipy . Можно запустить R напрямую (без Python). Звонки выглядели бы немного проще:

> a = c(10.23, 11.65, 12.36, 12.96)
> b = c(5.23, 6.10, 8.3, 4.98)
> z = cbind(a,b)
> z
         a    b
[1,] 10.23 5.23
[2,] 11.65 6.10
[3,] 12.36 8.30
[4,] 12.96 4.98
> ca.po(z)

######################################################## 
# Phillips and Ouliaris Unit Root / Cointegration Test # 
######################################################## 

The value of the test statistic is: 0 
8
ответ дан 7 December 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: