【问题标题】:How to write a linear regression with an expanding window in R (no packages)如何在 R 中使用扩展窗口编写线性回归(无包)
【发布时间】:2020-02-23 17:14:31
【问题描述】:

如何在不使用包的情况下在 R 中设置具有扩展窗口的线性回归?

设置 for 循环的最佳方法是什么,以便首先使用 30 天的数据进行回归,然后是 31 天,然后是 32 天,等等?

【问题讨论】:

    标签: r for-loop linear-regression quantitative-finance


    【解决方案1】:

    如果您想要的只是一个如何设置扩展窗口的示例,这里有一个。它从start循环(lapply)到向量x的长度,回归器将线性模型拟合到第一个i数据点。

    start <- 30
    res <- lapply(start:n, function(i){
      k <- seq.int(i)
      fit <- lm(y[k] ~ x[k])
      c(days = i, coef(fit))
    })
    res <- do.call(rbind, res)
    
    op <- par(mfrow = c(1, 2))
    plot(res[,1], res[,2], xlab = "window size", ylab = "Intercept", pch = 16)
    plot(res[,1], res[,3], xlab = "window size", ylab = "beta", pch = 16)
    par(op)
    

    数据创建代码。

    set.seed(1234)
    
    n <- 100
    x <- jitter(seq.int(n))
    y <- x + rnorm(n)
    

    【讨论】:

      猜你喜欢
      • 2020-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-21
      • 2015-04-03
      • 2020-04-16
      • 1970-01-01
      相关资源
      最近更新 更多