BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
karen8169
Obsidian | Level 7
Data sp;
infile " E:\Appmethod2016\SAS-1209\SP500.csv " dlm=',' firstobs=2;
input  date spopen sphigh splow spclose spvol spaclose;
format date yymmdd10.;
run;

Data mt;
infile " E:\Appmethod2016\SAS-1209\Moto.csv " dlm=',' firstobs=2;
input  date mtaopen mtahigh mtalow mtaclose mtavol mtaaclose;
format date yymmdd10.;
run;

data Stocks;
merge sp mt;
spret=100*(spaclose-lag1(spaclose))/lag1(spaclose);
mtret =100*(mtaclose-lag1(mtaclose))/lag1(mtaclose);
dow=weekday(date);
run;

proc means data= stocks mean median std skew kurt min max n maxdec=3;
var spret mtret;
run;

proc format;
value dowf
1='Sun'
2='Mon'
3='Tue'
4='Wed'
5='Thu'
6='Fri'
7='Sat';
run;

proc sort data = stocks out= a;
format dow dowf.;
by dow;
run;

proc means data = a mean median std skew kurt min max n maxdec=3;
by dow;
var spret mtret ;
run;

proc sgplot data= stocks noautolegend;
title 'S&P 500 Returns by Day of the Week';
format dow dowf.;
vbox spret / category=dow;
xaxis label=' ';
yaxis label='Return (%)' grid;
refline 0;
run;

proc sgplot data=stocks;
title 'S&P 500 and Motorola Daily Returns';
reg x=spret y=mtret;
ellipse x=spret y=mtret/ alpha =.01;
ellipse x=spret y=mtret/ alpha =.001;
xaxis label='S&P 500 Return (%)';
yaxis label='Motorola Return (%)';
run;

proc reg data =stocks;
model mtret= spret;

proc reg data =stocks;
model mtret=spret ;
run;

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

Specify an informat for the date. 

All errors are related to date variable. 

 

 

Informat date anydtdte.;

View solution in original post

4 REPLIES 4
Reeza
Super User

Please include the log, especially the error you're receiving. 

karen8169
Obsidian | Level 7
I posted log.
Reeza
Super User

Specify an informat for the date. 

All errors are related to date variable. 

 

 

Informat date anydtdte.;

ballardw
Super User

Many users here don't want to download Excel files because of virus potential, others have such things blocked by security software. Also if you give us Excel we have to create a SAS data set and due to the non-existent constraints on Excel data cells the result we end up with may not have variables of the same type (numeric or character) and even values.

 

Your code references a CSV file. If the XLSX is supposed to be the CSV why? Excel can change the contents enough that even saving the XLSX to CSV can yield a different result. Attach the csv file directly.

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
  • 4 replies
  • 1512 views
  • 1 like
  • 3 in conversation