【发布时间】:2021-04-28 04:15:20
【问题描述】:
我有下表:
# A tibble: 40 x 5
# Groups: stock [1]
stock date mkt_cap week returns
<chr> <date> <dbl> <int> <dbl>
1 A 2019-03-04 10522834. NA NA
2 A 2019-03-05 11659707. NA 9.70
3 A 2019-03-06 11464531. NA -2.25
4 A 2019-03-07 12217241. NA 5.80
5 A 2019-03-08 11619351. 1 -5.57
6 A 2019-03-09 11578687. NA -0.899
7 A 2019-03-10 11658368. NA 0.141
8 A 2019-03-11 12722921. NA 8.20
9 A 2019-03-12 15429934. NA 18.8
10 A 2019-03-13 16801600. NA 7.98
11 A 2019-03-14 17898334. NA 5.79
12 A 2019-03-15 18492686. 2 2.74
13 A 2019-03-16 20686683. NA 10.7
14 A 2019-03-17 22299970. NA 6.98
15 A 2019-03-18 22924182. NA 2.24
16 A 2019-03-19 24174351. NA 4.79
17 A 2019-03-20 24661467. NA 1.48
18 A 2019-03-21 23351810. NA -5.97
19 A 2019-03-22 27826601. 3 17.0
20 A 2019-03-23 30670482. NA 9.22
21 A 2019-03-24 32802772. NA 6.21
22 A 2019-03-25 31778387. NA -3.68
23 A 2019-03-26 33237006. NA 3.99
24 A 2019-03-27 34971479. NA 4.59
25 A 2019-03-28 36774005. NA 4.53
26 A 2019-03-29 37594815. 4 1.71
27 A 2019-03-30 38321816. NA 1.42
28 A 2019-03-31 35167070. NA -9.08
29 A 2019-04-01 35625396. NA 0.808
30 A 2019-04-02 35764747. NA -0.0940
31 A 2019-04-03 28316242. NA -23.8
32 A 2019-04-04 26124803. NA -8.53
33 A 2019-04-05 30390295. 5 14.6
34 A 2019-04-06 28256485. NA -7.76
35 A 2019-04-07 29807837. NA 4.87
36 A 2019-04-08 30970364. NA 3.36
37 A 2019-04-09 30470093. NA -2.10
38 A 2019-04-10 30860276. NA 0.806
39 A 2019-04-11 27946472. NA -10.4
40 A 2019-04-12 27662766. 6 -1.48
在这张表上,我想运行一个滚动回归,其中滚动回归包含过去一个月的数据。我想在几周内运行这些滚动回归。也就是说,在 week==1、week ==2 等,我们使用过去一个月的数据。回归应该是lm(return~mkt_cap)。我已经使用 slide_period() 函数尝试了很多事情,但是,这对我来说并不奏效。例如,我试图运行
tbl.data %>% group_by(stock, week) %>% slide_period(date, date, "month", ~.x, .before = 1)。我的数据中存在一些空白,因此我更喜欢考虑日期的解决方案。
有人可以帮我吗?亲切的问候。
【问题讨论】:
-
您可能会发现这个问题很有帮助:The rolling regression in R using roll apply
-
roll apply 的一个问题是它没有考虑数据中的“间隙”。所以这不是我的首选解决方案。
-
也许您可以更新您的问题,提供有关预期输出的更多详细信息,并考虑为什么
rollapply不是您的首选解决方案。否则,有人会过来并花时间提供该解决方案。 -
好主意。我会补充的。
标签: r