Hi,
I use the sashelp.stocks as the input file and I want to run regression of
Close = Volume
For a given day, say 27Feb2023, I want to run this regression on 30 rows including 27Feb2023.
The output I want to have is date, stock, predicted value and residual value as in the code below.
Can you please help?
Thank you,
HHC
proc reg noprint data=sashelp.stocks outest=want_test;
by stock;
model close = volume;
output out=want (keep = stock date predicted residual) p=predicted r=residual;
run;
quit;
Thanks for you suggestion.
proc sort data=sashelp.stocks out =have ; by stock descending date;run;
data have; set have ;
by stock;
if first.stock then n=0;
n+1;
run;
proc sql;
create table full
as select a.stock, a.date , b. date as _date, b.close, b.volume
from have as a left join have as b
on a.stock=b.stock and a.n<=b.n<=a.n+30
order by a.stock, a.date , b.date;
quit;
proc reg noprint data=full outest=want_test;
by stock date;
model close = volume;
output out=want (keep = stock date predicted residual) p=predicted r=residual;
run;
quit;
Thanks for you suggestion.
proc sort data=sashelp.stocks out =have ; by stock descending date;run;
data have; set have ;
by stock;
if first.stock then n=0;
n+1;
run;
proc sql;
create table full
as select a.stock, a.date , b. date as _date, b.close, b.volume
from have as a left join have as b
on a.stock=b.stock and a.n<=b.n<=a.n+30
order by a.stock, a.date , b.date;
quit;
proc reg noprint data=full outest=want_test;
by stock date;
model close = volume;
output out=want (keep = stock date predicted residual) p=predicted r=residual;
run;
quit;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.