0

使用 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))
}
4

1 回答 1

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 我相信需要一个日期索引,但您可以创建一个函数来生成您请求的向量,然后使用结果。

于 2019-04-12T03:41:17.650 回答