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.

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 1224 views
  • 1 like
  • 3 in conversation