股票的Beta计算+时限限制+滚动计算

时间:2019-01-09 19:05:39

标签: r lm rollapply

我试图找到一个已有答案的问题,但没有成功。

在R中,假设我有此数据set(abc)

     Date    Stock    Index      Stock_AR      Index_AR
1    1999-01-04  23.5000  5189.68            NA            NA
2    1999-01-05  23.7500  5239.99  1.063830e-02  9.694239e-03
3    1999-01-06  22.6250  5362.27 -4.736842e-02  2.333592e-02
4    1999-01-07  22.3000  5356.14 -1.436464e-02 -1.143173e-03
5    1999-01-08  22.8500  5401.23  2.466368e-02  8.418376e-03
6    1999-01-11  23.1250  5322.69  1.203501e-02 -1.454113e-02
7    1999-01-12  23.2750  5250.80  6.486486e-03 -1.350633e-02
8    1999-01-13  22.6250  5005.36 -2.792696e-02 -4.674335e-02
9    1999-01-14  22.5000  5018.86 -5.524862e-03  2.697109e-03
10   1999-01-15  21.0000  4885.62 -6.666667e-02 -2.654786e-02

Stock_AR Index_AR 是计算出的实际每日收益。日期格式为日期。所有其他都是数字。

现在我要计算beta:

(covariance(Stock_AR & Index_AR) / variance (Index_AR))

但是我想在有限的时间范围内滚动滚动(例如,总是包括当前日期在内的最近四天)。

我尝试过:

lm(Stock_AR ~ Index_AR, data.frame(abc))

但是,这为我提供了完整数据集的beta(实际上,它的数据点超过两个星期)。

我将rollapply用于其他计算(例如,求和或均值),但未成功将其应用于此问题。即使阅读了此post

我们非常感谢您的帮助。

0 个答案:

没有答案