我想写一段代码,给定两个数字列表,找到beta coefficient。这可以通过求直线的斜率或使用两个列表的协方差来实现。我试过np.cov()
,但结果与预期不同(值应该接近1)。Excel的^{
# both of these are lists (same size) of numbers
bmreturns = merged['Close-bm'].pct_change()
stockreturns = merged['Close-s'].pct_change()
# incorrect value (too small) - maybe because it's normalized
print(bmreturns.cov(stockreturns))
##=SLOPE({2,4,6}, {10,20,30}) = 0.2
当阅读WikiPedia page on simple regression时,很明显
β=cov(x,y)/var(x)
只计算cov(x,y),不除以var(x)
解决办法是
相关问题 更多 >
编程相关推荐