在Quantopian服务中,我使用Python编程找到给定股票的BETA,然后过滤掉BETA大于3的股票。我通过将资产的历史平均值的协方差与指数进行比较来找到BETA,然后除以指数的历史平均值。但是,当我运行此代码时:
priceFrom1yearAgo = history(bar_count=365, frequency='1d', field='price')
if (np.cov(np.mean(priceFrom1yearAgo[stock]), np.mean(priceFrom1yearAgo[index]))[0][1])/np.var(np.mean(priceFrom1yearAgo[index])) < 3:
但是,当我运行此代码时,我收到此错误:
RuntimeWarning: Degrees of freedom <= 0 for slice
我不完全理解numpy的方差和协方差函数,我很难看出我的问题所在。
错误发生在哪里,我该如何解决?是否有更好的方法来计算股票的BETA?