BookmarkSubscribeRSS Feed
Saba1
Quartz | Level 8

Hi

I have a panel data shown below with "id" identifies different stocks and "month" is monthly dates column. The data set is sorted by id and month.

data have; 
  input id month x1 x2 y;
  datalines;
45  09/30/2004  -0.30  1.34  1
45  09/30/2004  -0.30  1.34  1
45  05/31/2005  -0.08  0.78  0
45  12/31/2008    .     .    0
48  09/30/2001  -0.01  1.88  1
48  02/28/2004   0.78  1.50  0
48  05/31/2005    .    0.54  1
49  01/31/2002   0.05   .    1     
51  03/31/2001  -0.06  1.48  0
55  05/31/2005   0.30  1.21  1
55  05/31/2005   0.30  1.21  1
55  11/30/2007   .      .    0
; run;

I need to run cross sectional regression (proc reg) "by month". So the purpose is to observe variations in coefficient (beta) of "x2" over time i.e. over various months. I am using following proc but there is an Error saying "month" is not sorted in ascending order. When I sort the data by month and run the regression, resulting output gives "0" coefficients for missing values.

proc reg data=have;
 model y=x1 x2; by month; run;

 Kindly guide me in this regard. I also need to know how to create a data set based on time variant coefficients of only x2 along-with their corresponding months (date), and how to ultimately draw their graph.

 

Thanks.

2 REPLIES 2
Rick_SAS
SAS Super FREQ

See the code in Chapter 4 of Using SAS in Financial Research (Boehmer, Broussard, and Kallunki, 2002) Code from the book is available for free from the book's website.

Saba1
Quartz | Level 8

@Rick_SAS Thanks. The book is quite useful with example codes. But I do not need a rolling regression. I have edited my question and will be grateful if you kindly help me in the context of this question.

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 729 views
  • 0 likes
  • 2 in conversation