Wol*_* Wu 5 r time-series filter
我试图计算一个r
在T日期范围内的回报时间序列的滚动总和.但是,在我计算滚动总和的每个日期时,我想要计算滚动总和w
中每个数字的权重.
该公式适用于每个日期t:
[Sum from i=1 to m](w(i)*r(t-i-1))
Run Code Online (Sandbox Code Playgroud)
让我们看一个非常简单的例子.我有一个T = 6返回的返回系列r
.对于每个日期,t
我想计算过去两个日期(m = 2)的滚动总和.我还想把第一次观察的重量增加到第二次.
r <- c(100,110,100,110,100,110)
w <- c(1,0.5)
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用过滤功能轻松完成滚动总和:
filter(r, rep(1, 2))
Run Code Online (Sandbox Code Playgroud)
但是我无法将权重因子包含在滚动总和中.以下行给出了错误的结果c(155, 155, 155, 155, 155, NA)
filter(r*w, rep(1, 2))
Run Code Online (Sandbox Code Playgroud)
在哪里我真的想得到结果 c(155, 160, 155, 160, 155, NA)
任何帮助表示赞赏.
这是一种方法:
filter(r, rev(w))
# [1] 155 160 155 160 155 NA
Run Code Online (Sandbox Code Playgroud)
有关参数的重要信息filter
来自帮助页面?filter
:
按逆时间顺序过滤
滤波器系数向量(对于 AR 或 MA 系数)。