传递代码以应用函数来计算r中的beta

时间:2017-06-22 00:57:48

标签: r apply finance

我想为一堆股票计算Beta,而无需为每只股票手动设置等式。

下面是一些示例代码,我想将代码的名称传递给cov()函数中的x参数,同时保持y和var()函数变量不变:

ret <- c(1,2,1,3,1,4,5,10)
ret2 <- 2*ret
ret3 <- 2.5*ret
all_ret <- as.data.frame(cbind(ret,ret2, ret3))
ticks <- colnames(all_ret)

beta1 <- cov(x = all_ret$ret3, y = all_ret$ret) / var(all_ret$ret)

有没有办法用apply函数完成这个?类似的东西:

sapply(ticks, function(x)
       cov(x = all_ret$x, y = all_ret$ret) / var(all_ret$ret)

请告诉我如何才能做到这一点,或者如果有更简单的方法,请感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

beta2 <- cov(x = all_ret, y = all_ret$ret) / var(all_ret$ret)