2010-05-24 12 views
7

Z góry dziękujemy za pomoc!Jak obliczyć kointegracje dwóch list?

Mam dwie listy z Niektóre ceny zapasy, przykład:

a = [10.23, 11.65, 12.36, 12.96] 

b = [5.23, 6.10, 8.3, 4.98] 

mogę obliczyć korelację z tych dwóch list z:

import scipy.stats 

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

Ale ja nie znaleziono metoda obliczania kointegracji dwóch list.

Czy możesz dać mi kilka porad?

Dziękuję bardzo!

+0

http://stackoverflow.com/questions/12186994/johansen-cointegration-test-in-python – gliptak

Odpowiedz

8

Nie wierzę, że za pomocą scipy wdrożono test kointegracji. Lepiej być using rpy2 do interfejsu Python z R. R zapewnia testy kointegracji w urca package.

Na przykład:

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] 

Definiowanie a i b w R:

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

połączeń R cor funkcji (związek)

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

połączeń R ca.po (Phillips & Ouliaris kointegracji testowy)

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 

nie jestem zaznajomiony z kointegracji jednak, więc jeśli moje przeprosiny wykorzystanie ca.po jest całkowicie niedorzeczny.

Należy również zauważyć, że R jest językiem programowania samemu, z (przynajmniej obecnie) bogatszą biblioteką funkcji statystycznych niż scipy. Możliwe jest uruchamianie R bezpośrednio (bez Pythona). Połączenia wyglądałaby trochę prościej:

> 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 
+0

Proszę, mógłbyś podać mi przykład? – Damiano

Powiązane problemy