2010-05-24 16 views
7

¡Gracias de antemano por su ayuda!¿Cómo calcular las cointegraciones de dos listas?

que tienen dos listas con algunos precios de las acciones, ejemplo:

a = [10.23, 11.65, 12.36, 12.96] 

b = [5.23, 6.10, 8.3, 4.98] 

que puede calcular la correlación de estas dos listas, con:

import scipy.stats 

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

Pero, no me encontré un método para calcular la cointegración de dos listas.

¿Podría darme algunos consejos?

¡Muchas gracias!

+0

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

Respuesta

8

No creo que se haya implementado una prueba de cointegración para scipy. Puede estar mejor que using rpy2 para conectar Python con R. R proporciona pruebas de cointegración en el urca package.

Por ejemplo:

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] 

Definir a y b en R:

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

Call el R cor función (correlación):

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

Call el R ca.po (Phillips & Ouliaris prueba de cointegración)

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 

no estoy familiarizado con cointegración, sin embargo, por lo disculpas si mi uso de ca.po es totalmente inepto.

También tenga en cuenta que R es el lenguaje de programación en sí mismo, con (al menos actualmente) una biblioteca más rica de funciones estadísticas que scipy. Es posible ejecutar R directamente (sin Python). Las llamadas se vería un poco más simple:

> 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

¿Podría darme un ejemplo? – Damiano