我有一个资产回报系列(见下文),其类型为“数字”,结构类型为num,其名称为相应的时间戳。我希望在系列中执行 apply.rolling 。
据我所知,我需要将资产回报系列(EURUSD15_ccret)转换为时间序列(数据框,xts,zoo对象)。有人可以帮忙吗?试过我在网上找到但从未管理过的几种方法..
> str(EURUSD15_ccret)
Named num [1:40948] 0.00 7.22e-05 0.00 7.21e-05 0.00 ...
- attr(*, "names")= chr [1:40948] "3/11/2014 22:05" "3/11/2014 22:10" "3/11/2014 22:15" "3/11/2014 22:20" ...
> class(EURUSD15_ccret)
[1] "numeric"
> tail(EURUSD15_ccret)
9/23/2014 15:00 9/23/2014 15:05 9/23/2014 15:10 9/23/2014 15:15 9/23/2014 15:20 9/23/2014 15:25
3.880632e-04 7.759457e-05 -3.880331e-04 -1.552554e-04 3.104867e-04 0.000000e+00
答案 0 :(得分:0)
使用apply.rolling是非标准的,使用rollapply,它是动物园的一部分。
require(xts)
EURUSDx <- xts(EURUSD15_ccret, order.by=as.POSIXct(names(EURUSD15_ccret),
format='%m/%d/%Y %H:%M'))
rollapply(xsample, FUN=mean, width=5)