α和β(用于线性回归)计算输出nan?

2024-09-22 16:33:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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

你知道我为什么要来这里吗?我不知所措,任何帮助都将不胜感激。在


Tags: 代码alpha线性naneurbeta证券print
3条回答
def compute_daily_returns(df):
    daily_returns = (df / df.shift(1)) - 1
    daily_returns.ix[0, :] = 0  
    return daily_returns

{cdkil>将问题添加到Maveli}中

我也无法检索数据。在

我的最佳猜测是:在检索到的数据中存在nans或重复点。在

我想调查一下,但我有点困惑。另外,我无法在我当前的机器上复制从yahoo拉取的数据,因此我无法按原样运行您的代码。在

这里有几个问题和想法:

  • 不应将变量命名为close,因为Python使用这个词。有时候(就像在你的例子中)不管怎样它都是有效的,但这不是一个好的实践。在
  • 你能把你的数据xPltyPlt分开绘制吗?我怀疑错误就在那里。在
  • 使用两个值的数组调用DataReader,并将输出保存在instrument中。然后将一列(按名称选择)分配给close,但实际上,将有两列名为Adj close,对吗?在

长话短说:您应该尝试逐步构建代码,在每个步骤之后添加一些printplot命令,以查看保存在变量中的数据是什么样子的。在

相关问题 更多 >