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;
Specify an informat for the date.
All errors are related to date variable.
Informat date anydtdte.;
Please include the log, especially the error you're receiving.
Specify an informat for the date.
All errors are related to date variable.
Informat date anydtdte.;
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.
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!
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.