我是Python新手,一直试图计算两种证券的线性回归/Beta/Alpha,但是我的代码都输出了两种Beta&Alpha的Nan,因此我无法绘制回归线。在
问题在于:
#calculate linear regression
beta_yPlt, alpha_yPlt = np.polyfit(xPlt, yPlt, 1) # fit poly degree 1
print "Y Beta", beta_yPlt
print "Y Alpha", alpha_yPlt
plt.plot(xPlt, beta_yPlt * xPlt + alpha_yPlt, '-', color='red')
下面是完整的脚本:
^{pr2}$输出如下:
C:\Python27\python.exe C:/Users/Us/Desktop/untitled3/scatterPlot.py
Y Beta nan
Y Alpha nan
Correlation EUR=X JPY=X
EUR=X 1.000000 0.228223
JPY=X 0.228223 1.000000
Process finished with exit code 0
你知道我为什么要来这里吗?我不知所措,任何帮助都将不胜感激。在
{cdkil>将问题添加到Maveli}中
我也无法检索数据。在
我的最佳猜测是:在检索到的数据中存在
nan
s或重复点。在我想调查一下,但我有点困惑。另外,我无法在我当前的机器上复制从yahoo拉取的数据,因此我无法按原样运行您的代码。在
这里有几个问题和想法:
close
,因为Python使用这个词。有时候(就像在你的例子中)不管怎样它都是有效的,但这不是一个好的实践。在xPlt
和yPlt
分开绘制吗?我怀疑错误就在那里。在DataReader
,并将输出保存在instrument
中。然后将一列(按名称选择)分配给close
,但实际上,将有两列名为Adj close
,对吗?在长话短说:您应该尝试逐步构建代码,在每个步骤之后添加一些
print
和plot
命令,以查看保存在变量中的数据是什么样子的。在相关问题 更多 >
编程相关推荐