使用numpy,xlrd协整:继续得到一个特定的错误

时间:2017-08-01 03:57:36

标签: python numpy statsmodels xlrd quantitative-finance

我试图看看一些商品对是否是协整的。但是,我遇到了一些非常奇怪的事情。我使用的代码与一个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']

0 个答案:

没有答案