% MATLAB FUNCTION: lags.m % DESCRIPTION: % Creates a matrix containing lagged values of the input matrix for the % given sample range %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % INPUTS: % xmatrix--original data matrix of time-series to be used in creating % the lagged series % numberlag--the length of the lag of the original matrix (xmatrix) % seriessdate--index of the first observation in the xmatrix % seriesedate--index of the last observation in the xmatrix % smplsdate--index of the first observation in the xmatrix for which the % the lag series should be created % smpledate--index of the last observation in the xmatrix for which the % the lag matrix should be created % % OUTPUTS: % lagmatrix--matrix of lagged values running from smplsdate to smpledate % % September 25, 2000 % Written by Steve Sumner, University of California, San Diego % Support provided by Wouter den Haan's NSF grant #9708587 is gratefully acknowledged. % % Documentation of the program is given at the end of the program % and on the website http://weber.ucsd.edu/~wdenhaan/soft.html %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function lagmatrix = lags(xmatrix,numberlag,seriessdate, seriesedate,... smplsdate, smpledate) % Check to make sure the sample date range ends before or at the same % time as the series date range if smpledate>seriesedate display('Your sample is outside the series date range'); break; end % Check to see if you have enough data in the series to create a lag of % the requested length if seriessdate>smplsdate-numberlag display(['You do not have enough data to create a lagged series of length ' numberlag]); break; else lagmatrix=xmatrix(smplsdate-numberlag:smpledate-numberlag,:); end