Help using Base SAS procedures

Creating rolling "betas" using regressions on time-series data

Frequent Contributor
Posts: 101

Creating rolling "betas" using regressions on time-series data

Hello All,

I have data that, essentially, takes the following form:

Date               var1                   var2

x/x/xx                        2                         3

x/x/xx                         2                         2

x/x/xx                    2                              1

x/x/xx                    3                              5

x/x/xx                    2                              1

and so on.  What I want to do is regress one variable on another for the previous y periods, and then have the regression beta be output as a variable in the dataset.  For example, if I picked y = 5, I would take an observation, regress var1 on var2 for the past 5 periods, and then the code would return that regression coefficient as a variable in the dataset.

I may have done a bad job explaining this, but if you have any questions, please let me know.



Super User
Posts: 9,662

Re: Creating rolling "betas" using regressions on time-series data

Create a new table for that previous y periods , like :

%let y=5 ;

data temp;

merge have(keep=date var1) have(firstobs=&y keep=var2);


after that proc reg data=have .

But That might be a bad idea. You'd post it at Foreasting Forum for seeking a Auto Regression Model .

Xia Keshan

Ask a Question
Discussion stats
  • 1 reply
  • 2 in conversation