Hi Alex,
The creation of additional lists can be avoided by generating the correct Span
s.
list = {15, 18, 10, 13, 16, 14, 29, 55};
lag = 3;
length = Length@list
Table[list[[lag + i ;; length + i - 1]], {i, 1, 1 - lag, -1}]
Encapsulated in a function
ClearAll@lagWindow
lagWindow[list_List, lag_?Positive] /; Length@list > lag :=
Module[{length = Length@list},
Table[list[[lag + i ;; length + i - 1]], {i, 1, 1 - lag, -1}]]