Next {quantmod}R Documentation

Advance a Time Series


Create a new series with all values advanced forward one period. The value of period 1, becomes the value at period 2, value at 2 becomes the original value at 3, etc. The opposite of Lag. NA is used to fill.


Next(x, k = 1)

## S3 method for class 'quantmod.OHLC':

## S3 method for class 'zoo':

## S3 method for class 'data.frame':

## S3 method for class 'numeric':


x vector or series to be advanced
k periods to advance


Shift series k-periods up, appending NAs to end of series.

Specifically designed to handle quantmod.OHLC and zoo series within the quantmod workflow.

If no S3 method is found, a call to lag in base is made, with the indexing reversed to shift the time series forward.


The original x appended with k NAs and missing the leading k values.
The returned series maintains the number of obs. of the original.
Unlike Lag, only one value for k is allowed.


This function's purpose is to get the “next” value of the data you hope to forecast, e.g. a stock's closing value at t+1. Specifically to be used within the quantmod framework of specifyModel, as a functional wrapper to the LHS of the model equation.

It is not magic - and thus will not get tomorrow's values...


Jeffrey A. Ryan

See Also

specifyModel, Lag


Stock.Close <- c(102.12,102.62,100.12,103.00,103.87,103.12,105.12)
Close.Dates <- as.Date(c(10660,10661,10662,10665,10666,10667,10668),origin="1970-01-01")
Stock.Close <- zoo(Stock.Close,Close.Dates)

Next(Stock.Close)       #one period ahead
Next(Stock.Close,k=1)   #same


## Not run: 
# a simple way to build a model of next days
# IBM close, given todays. Technically both
# methods are equal, though the former is seen
# as more intuitive...ymmv
specifyModel(Next(Cl(IBM)) ~ Cl(IBM))
specifyModel(Cl(IBM) ~ Lag(Cl(IBM)))
## End(Not run)

[Package quantmod version 0.3-6 Index]