使用tq_mutate运行带有日内数据的滚动窗口lm模型。当我想要固定大小的滚动窗口时,功能可以完美使用。
如何运行保持固定的窗口,可以说在第一个数据点(美国东部标准时间上午9:30),然后开始增加窗口大小。示例:窗口宽度为720滴答宽度。每个滴答声发生在5秒,因此窗口是1小时。在刻度720之后,窗口增加到721、722等,直到当天结束。就像有一个预热期,然后扩大窗口以将其关闭。
tq_mutate是否支持这样的窗口。固定在开始日期时间(打开),在满足宽度时开始执行,并一直增长到数据结束。再次仅用于日内数据。
这在下面适用于固定宽度。
pair.ratio <- as.tibble(runif(4000, min = 1, max = 5) / runif(4000,min=1,max=5))
tq_mutate(data = pair.ratio,mutate_fun = rollapply, width = 720, align='right', FUN = regr_fun,col_rename="coefficient")
regr_fun <- function(data) {
coef(lm(data[,1] ~ 1))
}
答案 0 :(得分:0)
您可以给width
一个向量参数,该参数具有每个窗口的窗口大小:
tq_mutate(data = pair.ratio,
mutate_fun = rollapply,
width = seq(nrow(pair.ratio)),
align='right',
FUN = regr_fun,
col_rename="coefficient")
pair.ratio我没有做一个有效的例子,我相信需要一个日期索引,但是您可以创建一个函数来生成您请求的向量,然后使用结果。