我有一个矩阵(V),在一段时间内每日股票收益率,我试图获得前 1个月(= 21天)和6个月的差异( = 126天)。
这是基于未来1个月和6个月数据的方式。
Variance.x <- rollapply(data=V, width=21, var, by.column=F, align="right")
Variance.x <- rollapply(data=V, width=126, var, by.column=F, align="right")
有什么建议吗?
答案 0 :(得分:3)
这给出了涵盖未来21个时期的方差,假设z
是一个多变量动物园系列:
lag(rollapply(z, 21, function(x) c(var(x)), by.column = FALSE, align = "left"))
由于方差是一个矩阵,我们应该在函数中展平它,如此处所示,无论我们计算未来还是过去的差异,都应该这样做。
以上不包括未来积分的当前点。如果需要从现在开始并包括现在的21个点,那么我们将省略lag
。