You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

This document provided by Professor Robyn McLaughlin, Finance Department, Sawyer Business School

***********************************************************************************

*   This program shows how to get raw data (returns, prices, trading bolume) using SAS and Eventus

*   It also uses Eventus to run an event study  

*   It reads cusips and "event" dates from a SAS data file, a text file

*   For more info, go to http://www.eventstudy.com/  the EVENTUS home page or even more directly, http://www.eventstudy.com/Eventus-Guide-8-Public.pdf ==> the EVENTUS user's manual & search for getdata (starting on page 51) ;

***********************************************************************************/;

libname DGTWdata "E:\sas-data\robynm\Eventus\datasets\DGTW_data";

libname FFFdata "E:\sas-data\robynm\Eventus\datasets";

LIBNAME Mdata2 "E:\sas-data\robynm\master_data2";;   /* define the SAS "libraries" = shorthand for file path names*/;

***********************************************************************

*   Reading in data from an excel file

***********************************************************************;

*####################################################################################;

proc import DBMS=EXCEL

DATAFILE = "E:\sas-data\robynm\master_data2\Ex_test.xls"

out=mdata2.sas_data_in REPLACE;

     sheet="INPUT_DATA";

     getnames=yes;

*     MIXED=YES;

       USEDATE=YES;

run;

*####################################################################################;

***********************************************************************

*   Getting "raw" data

***********************************************************************;

eventus getdata;                        

request insas=Mdata2.sas_data_in CusiPerm autodate ;        

Returns index both                      

   outsas=Mdata2.SAS_OutRet_D

   extfile = "E:\sas-data\robynm\master_data2\text_OutRet_D.txt" ;;

run;

/*  1st line:  getdata => get raw data, not run an event study

               Daily data is the default 

**  2nd line:  insas= => use a SAS data file as the request (input) file

                 must have variables: cusip, eventadat and/or eventda1 & eventda2

               cusiperm => the firm id is cusip (must be char 8) (can also use permno)

               autodate => if the event days aren't trading days => use next trading day

**  3rd line:  get raw RETURNS from eventda1 through eventda2 

               index => write CRSP equally-weighted index

               both => also write value-weighted index

**  4th line:  outsas => write output to SAS data file

               extfile => write output to text file   */;

*####################################################################################;

*####################################################################################;

eventus getdata monthly;                      

request insas=Mdata2.sas_data_in CusiPerm autodate ndays=60;   

Prices nominus

   outsas=Mdata2.SAS_OutPr_M

   extfile = "E:\sas-data\robynm\master_data2\TxT_OutPr_M.txt" ;;

run;

/*  1st line:  getdata => get raw data, not run an event study

               monthly => use monthly data 

**  2nd line:  insas= => use a SAS data file as the request (input) file

               cusiperm => the firm id is cusip (char 8)

               autodate => if the event days aren't trading days => use next trading day

               ndays => data from eventdat through time +ndays (here month +60) 

**  3rd line:  get raw PRICES

               nominus => remove minus sign used by CRSP to indicate bid/ask avg

**  4th line:  outsas => write output to SAS data file: "SAS_RawRPr_M1" in SAS library 'Mdata2' 

               extfile => write output to text file   */;

*####################################################################################;

*####################################################################################;

filename request "E:\sas-data\robynm\master_data2\TxT_data_in1.txt";;

eventus getdata;                        

request CusiPerm autodate ndays=100;        

Volume                      

   outsas=Mdata2.SAS_OutVol_D

   extfile = "E:\sas-data\robynm\master_data2\TxT_OutVol_D.txt" ;;

run;

/*  filename line:  defines E:\sas-data\robynm\master_data2\TxT_data_in1.txt

                       as the request file

**  1st line:  getdata => get raw data, not run an event study

               by default use daily data

**  2nd line:  cusiperm => the firm id is cusip (char 8)

               autodate => if the event days aren't trading days => use next trading day

               ndays => data from eventdat through time +ndays (here day +100) 

**  3rd line:  get Volumes

**  4th line:  outsas => write output to SAS data file 

               extfile => write output to text file

*/;

*####################################################################################;

***********************************************************************

*   Running an 'EVENT' study

***********************************************************************;

*####################################################################################;

eventus monthly ;

TITLE1 "Eventus 2-stage Event Study - Test - Various Holding periods thru Month +60";;

    Request insas=Mdata2.sas_data_in CusiPerm autodate ; 

      windows (-12,-1)(-6,-1)(-1,0) (-1,1)(0,12)(0,24)(0,36)(0,48) (0,60)

   (1,12)(1,24)(1,36)(1,48) (1,60);

    evtstudy nonames post=60

           OutWin= Mdata2.SAS_HP_M

           FileWin="E:\sas-data\robynm\master_data2\TxT_HP_M"

           ExcelWin="E:\sas-data\robynm\master_data2\Ex_HP_M"

           CSVWin="E:\sas-data\robynm\master_data2\CSV_HP_M"

           DTAWin="E:\sas-data\robynm\master_data2\Stata_HP_M" ;;

run;

/*  1st line:  run an event study - monthly data  

**  2nd line:  put a title on each output page

**  3rd line:  insas= => use a SAS data file as the request (input) file

                  must have variables: cusip, eventadat and/or eventda1 & eventda2

               cusiperm => the firm id is cusip (must be char 6 or char 8) (can also use permno)

               autodate => if the event days aren't trading days => use next trading day

**  4th line:  windows => calc CARs for the following holding periods returns relative

                          to the event date

**  5th line:  evtstudy => run the event study

               nonames => omit some of Eventus's output (it produce3s lots)

               post => calc ARs thru post (here month 60) relative to the event date

               outwin => write output to SAS data file

               FileWin => write output to text file

               ExcelWin = write output to an Excel file

               CSVWin => write output to comma deliminated file

               DTAWin => write output to stata file*/;

*####################################################################################;

******************************************************************

*   You can also export SAS files to excel files

******************************************************************;

 proc export data=Mdata2.sas_data_in

   dbms=excel2000

   outfile = "E:\sas-data\robynm\master_data2\Ex_test.xls"  replace;;

   sheet=Input_data;

run;

  • No labels