tq_mutate 和不断增长的 window 宽度?

tq_mutate and a growing window width?

使用 tq_mutate 到 运行 具有日内数据的滚动 window lm 模型。当我想要固定大小的滚动 window 时,功能完美无缺。

我如何 运行 保持固定的 window 让我们说在第一个数据点,9:30 AM EST 然后开始增加 window 大小。示例:Window WIDTH 为 720 个刻度宽。每个刻度发生在 5 秒,所以 1 小时是 window。在报价 720 之后,window 增长到 721、722 等,直到当天收盘。好像有一个老化期,然后增长 window 关闭。

tq_mutate是否支持这样的window。固定在开始日期时间(打开),当宽度满足时开始执行并增长直到数据结束。同样仅针对日内数据。

这适用于固定宽度。

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))
}

您可以给 width 一个向量参数,每个 window 的大小为 window:

    tq_mutate(data = pair.ratio,
              mutate_fun = rollapply, 
              width = seq(nrow(pair.ratio)), 
              align='right', 
              FUN = regr_fun,
              col_rename="coefficient")

我没有做一个有效的例子,pair.ratio我相信需要一个日期索引,但你可以创建一个函数来生成你请求的向量,然后使用结果。