我试图看看一些商品对是否是协整的。但是,我遇到了一些非常奇怪的事情。我使用的代码与一个excel文件一起使用但不能与另一个更全面的代码一起使用。相反,它会引发以下错误:
Traceback (most recent call last):
File "/Users/test.py", line 28, in <module>
score, pvalue, _ = coint(sb,kc)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/statsmodels/tsa/stattools.py", line 1009, in coint
xx = add_trend(y1, trend=trend, prepend=False)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/statsmodels/tsa/tsatools.py", line 98, in add_trend
col_const = np.logical_and(np.any(np.ptp(np.asanyarray(x), axis=0) == 0, axis=0),
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/fromnumeric.py", line 2151, in ptp
return _wrapfunc(a, 'ptp', axis=axis, out=out)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/fromnumeric.py", line 67, in _wrapfunc
return _wrapit(obj, method, *args, **kwds)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/fromnumeric.py", line 47, in _wrapit
result = getattr(asarray(obj), method)(*args, **kwds)
TypeError: cannot perform reduce with flexible type
我无法理解发生了什么,特别是因为两个文件的格式完全相同。
任何有关此处可能发生的事情的见解都将不胜感激。
以下是我的参考代码:
import numpy as np
from statsmodels.tsa.stattools import coint
import os
import xlrd
cwd = os.getcwd()
workbook = xlrd.open_workbook("price dataset.xlsx")
sheet = workbook.sheet_by_index(0)
ct = []
kc = []
sb = []
for rowx in range(sheet.nrows):
cols = sheet.row_values(rowx)
ct.append(cols[1])
kc.append(cols[2])
sb.append(cols[3])
ct = np.asarray(ct[1:])
kc = np.asarray(kc[1:])
sb = np.asarray(sb[1:])
score, pvalue, _ = coint(sb,kc)
print(pvalue)
print(np.corrcoef(sb,kc))
PS:如果我犯了一个非常明显的错误,请道歉。编程很新,尝试了各种方法。
谢谢!
编辑#1:
这就是数据的样子:
COTTON COFFEE SUGAR
1/1/2007 56.19 126.2 11.75
1/2/2007 56.19 126.2 11.75
1/3/2007 54.89 123.6 11.51
1/4/2007 54.56 125 11.27
1/5/2007 54.42 120.45 11.09
1/8/2007 54.53 120.1 11.16
1/9/2007 54.1 118.4 11.1
1/10/2007 53.93 120.75 11.12
1/11/2007 54.04 120.65 11.02
1/12/2007 54.7 120.3 10.93
1/15/2007 54.7 120.3 10.93
1/16/2007 54.92 121.65 10.91
1/17/2007 55.06 121.6 10.76
1/18/2007 54.53 119.75 10.71
1/19/2007 54.55 119.7 10.86
... ... ...
所有这些格式(包括类型)与其他似乎正常工作的文件的格式相同。
只需打印这些元素即可输出:
[u'C' u'56.19' u'56.19' ..., u'69.02' u'70.5' u'70.22']
[u'' u'126.2' u'126.2' ..., u'134.8' u'135.95' u'137.85']
[u'' u'11.75' u'11.75' ..., u'14.23' u'14.43' u'14.37']