I'm trying to shift a time series (zoo object) 7 days (trading week) ahead into future.
library(quantmod)
getSymbols(c("AAPL"), from="2013-01-01", return.class="zoo")
aapl <- Ad(AAPL)
tail(aapl)
2013-05-07 2013-05-08 2013-05-09 2013-05-10 2013-05-13 2013-05-14
455.64 460.79 456.77 452.97 454.74 443.86
I want this:
2013-05-14 2013-05-15 2013-05-16 2013-05-17 2013-05-20 2013-05-21
455.64 460.79 456.77 452.97 454.74 443.86
Is this somehow possible? I've tried a lot and failed...
Convert it to class zooreg (so that it knows that its regularly spaced or almost so) and then lag it appropriately:
> lag(as.zooreg(tail(aapl)), -7)
2013-05-14 2013-05-15 2013-05-16 2013-05-17 2013-05-20 2013-05-21
455.64 460.79 456.77 452.97 454.74 443.86
For more info, look at the examples section of ?zooreg
and read the comments starting where it reads:
# lag and diff (as diff is defined in terms of lag)