在多个列上应用滚动功能

时间:2020-03-29 16:28:26

标签: r return apply stock beta

我对R还是很陌生,我有点挣扎。我有一个样本,样本显示18年内约有1000家公司的日收益率。我必须在一年的时间内计算每个公司的滚动Beta。我已经能够计算单个公司的滚动beta,但是我不能将其应用于所有列。 我使用以下程序包: install.packages("roll") library(roll) 我的数据类似于以下内容:

stock_returns<-data.frame(w=sample(1:10),x=sample(1:10),y=sample(1:10),z=sample(1:10))

index_return<-as.numeric(sample(1:10))

其中股票收益率是数据框,而指数收益率是数值向量。

我应用以下函数来计算第一列的滚动beta:

rollbeta<-as.data.frame(roll_lm(index_return,stock_returns$w,width=3,intercept=F)$coefficients)

我一直在寻找一种将其应用于其他列而不重复很多次代码的方法,但是它还没有奏效。我尝试了apply()函数,但是不确定如何使代码更改roll_lm()代码中的指定列。

有什么提示吗?

我希望这个例子是可重复的。

谢谢!

0 个答案:

没有答案