【发布时间】:2020-02-23 17:14:31
【问题描述】:
如何在不使用包的情况下在 R 中设置具有扩展窗口的线性回归?
设置 for 循环的最佳方法是什么,以便首先使用 30 天的数据进行回归,然后是 31 天,然后是 32 天,等等?
【问题讨论】:
标签: r for-loop linear-regression quantitative-finance
如何在不使用包的情况下在 R 中设置具有扩展窗口的线性回归?
设置 for 循环的最佳方法是什么,以便首先使用 30 天的数据进行回归,然后是 31 天,然后是 32 天,等等?
【问题讨论】:
标签: r for-loop linear-regression quantitative-finance
如果您想要的只是一个如何设置扩展窗口的示例,这里有一个。它从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)
【讨论】: