View User Guide


Eventus Features

Eventus and

Who Uses


Examples for Users




Request a Quote

Fama-French Factors

Volume Indexest face="Arial" size="3">General

Software Capabilities

Long-horizon event study methods

Control-firm methods

CUSIP to CRSP PERMNO conversion

Tips, Tricks and Techniques

Control-firm event study approach

Fama-French factor data

Indexing data sets for the SASNONCRSP method

Indexing data sets for the companion portfolio approach

Basing the estimation period for one event on the date of a different event

Holding a firm-specific estimation period constant across multiple event studies

Retrieving index returns alone

Retrieving returns a fixed number of trading days before a given calendar date

Stock return variance

Stock return variance

Error Messages

"Statement is not valid" errors on all Eventus statements

Interpretation of Results

Meaning of Extract,  OutWin or FileWin weights

Output of RETURNS with SIZEINDX and BOTH options

Compatibility with Other Vendors

Compatibility with CRSP and how to handle updates of CRSP

Compatibility with Datastream

Compatibility with Specific SAS Versions

Cowan Research, L.C. Home Page

"Statement is not valid" errors on all Eventus statements

Q: We installed Eventus for Windows, but when we try to run a test program, the Eventus; statement and each subsequent statement is flagged with the message

By many factors, that may have been provided by anyother name. Article:

ERROR 180-322 Statement is not valid or is used out of proper order.
What’s going on?

Solution: The most common cause is installing Eventus in one user account (such as an administrator account used only for installing software), then trying to use it from another without following the additional steps advised by the setup program.

To make Eventus available to another user on the same computer, you may want to re-install Eventus in the account in which it will be used. (This advice is displayed at the beginning of the setup program). This is desirable because the user will then be able to check for and install hotfixes without switching accounts and manually copying files. If you are installing for multiple users or if the end user's account is not allowed to install software, please try the following instructions.

Please close SAS and copy the following files from the first user's My SAS Files folder (typically something like Documents\My SAS Files\9.2) to the next user's My SAS Files folder:
nyupdat.sas7bdat  (if present)
nyupdat.sas7bndx (if present)
If some of the above files exist, overwrite them with the newly installed copies, except in the rare event that the user has done advanced SAS programming to create stored compiled macros or custom SAS formats. In that very rare case, make a backup copy of the user's macro or format catalog (whichever the user created), then install Eventus while logged in as that user.  You will need to repeat this copying process every time you install an Eventus update.

A second possible explanation is that the SAS 9.2 (or 9.1) configuration file arrangement was changed after SAS was first installed on the PC. To investigate this possibility, close SAS and use Notepad to check all files SASV9.CFG on your computer (it may be helpful to use the newest version of Windows Search or a third party desktop search tool to find all the files with this name and type). If you are running 64-bit Windows, 64-bit SAS and Eventus 9, please contact us through Eventus versions before 9.0 are not compatible with 64-bit SAS. If you are running 32-bit SAS in 64-bit Windows, the instructions below still apply.

Typically there are two copies of SASV9.CFG, in C:\Program Files\SAS\SAS 9.2\ and C:\Program Files\SAS\SAS 9.2\nls\en. If you use a non-English version of SAS, en may be replaced by another two-letter language code. Also, 9.2 may be replaced by 9.1, and (x86) may appear after Program Files. One of the SASV9.CFG files contains over 200 lines including the line
/* set default locations
If this line is the first non-blank line in the file, another SASV9.CFG should begin with 3-7 lines each starting with a hyphen. Copy these 3-7 lines to the top of the 200-plus line file, above the line shown above, save and close the file. Be careful not to make any change to any SASV9.CFG except for adding lines to the top of the file.

A third possibility is that the user's Documents or My Documents folder has moved since Eventus was installed. The simplest solution in this case typically would be to re-install Eventus.

A fourth potential cause is that the user's Documents or My Documents folder has moved since SAS was installed. In this case, check SAS documentation or about how to move the SASUSER (My SAS Files) folder. Try to avoid having multiple folders named My SAS Files under (or usable by) one user account even if most are empty. You probably will need to re-install Eventus after taking care of this issue.

A fifth, quite uncommon situation is where a laptop has My Documents defined one way when the laptop is docked or attached to a network and another way at other times. SAS by default defines the My SAS Files folder as being under Documents or My Documents, so the My SAS Files location is automatically redefined -- but the contents not automatically copied from the original location -- if the documents folder is changed. If this situation applies, close SAS and copy the files listed above for the multiple user account situation, from the My SAS Files folder in which they currently appear, to the My SAS Files folder under the new or undocked My SAS Files. You will need to repeat this step every time you install an Eventus update.

Return to list of FAQ subjects

Implementing a control-firm approach

Q: How can I use a control-firm approach, where each sample firm is pre-matched to a similar firm?

Solution: REQUEST statement option SHORT for details. The simple paired difference test frequently used with the control-firm approach can be  invoked with the EvtStudy statement option CSECTERR. To suppress benchmark models, include the EvtStudy statement options RAW NOMM NOMAR. An estimation period still must be defined, but may be forced to overlap the event period using the EvtStudy statement option OVERLAP and appropriate specifications of the REQUEST statement options ESTand ESTLEN.

Return to list of FAQ subjects

Data set indexes for SASNONCRSP

Q: Could you explain further how the data statement index options needed for SASNONCRSP work?

Solution: Indexing allows a SAS data set to be used (by Eventus in this case) as if the data set were sorted by the index variable or variables. In Eventus 9, you no longer need to index the mini-database component data sets; Eventus builds the indexes for you automatically.

Return to list of FAQ subjects

Data set indexes for PORT1DS

Q: Could you explain how to index the portfolio assignment data set for the companion portfolio method?

Solution: In the code below, replace mydataset by the name of the data to which the PORT1DS option will point. If you are preparing the data set for a SASNONCRSP run, also change permno to the variable name of your security identifier.
proc sql;
 create index IssuYrKey on mydataset(permno,yy);

Return to list of FAQ subjects

Same estimation period for different events

Q: I want to run separate event studies on three different events using the same sample of firms (three events per firm, with a different event date for each firm). I want the estimation period to end 31 days before the first event date. I read about the est=specific option in the User's Guide. But exactly how do I use it, and how can I find out the estimation period ending date for the first event?

Solution: Run Eventus statements like the following.

* Convert calendar event date to CRSP trading day number;
filename request 'C:\My Request Files\File Name 1.txt';
 DateConv outsas=work.temp1;

* Move date back 31 trading days;
 DateConv insas=work.temp1 datefmt=crsp shift1=-31 outsas=work.temp2;

* Combine shifted and original dates into a new request file in SAS data set form;
data request_event1;
 merge temp1 temp2(rename=(eventdat=estend));
 by permno;

* Print the request file for visual inspection;
proc print data=request_event1;
 id permno;
 format eventdat estend yymmddn8.;

* Use the new request file to run the first event study;
 Request insas=work.request_event1 est=specific;

* Set up the request file for the second event study;
filename request 'C:\My Request Files\File Name 2.txt';
 DateConv outsas=work.temp3;

data request_event2;
 merge temp3 temp2(rename=(eventdat=estend));
setup process similar to that shown for the second event study above.

Any shift is calculated in terms of the input date units. When datefmt=crsp appears on the DateConv or Request statement, any shift1 or shift2ID=... or CUSIPERM, the same options can be used on DateConv too. If using CUSIPERM or if there is more than one event with the same PERMNO, the use of ID=, and merging by the specified identifying variable instead of PERMNO, are recommended

Item revised 11 February 2004.

Return to list of FAQ subjects

Basing the estimation period for one event on the date of a different event

Q: Is there a way to set up the estimation period, for an event study around one event , relative to the date of a second event?

Solution: Yes. The Eventus statements below demonstrate how to set up the estimation period for a security offer registration as days +31,+150 relative to the actual offering date.

The request file

* Use the TWIN option and Dateconv statement to convert both dates (registration and offering) to CRSP trading day numbers;
filename request 'C:\My Request Files\File Name.txt';
Eventus twin;
DateConv cusiperm outsas=work.temp1 id=id;

* Use the TWIN option and Dateconv statement to read both dates and shift the second 150 trading days into the future, to create an estimation-period ending date of offering date+150;
Eventus twin;
DateConv insas=work.temp1 datefmt=crsp shift2=+150 outsas=work.request id=id;

* Rename the CRSP-date variables to the required column names for a single event date and specific estimation period ending date;
proc datasets library=work nolist;
modify request;
rename crspday1=crspday crspday2=crspest;

* Run the event study, using datefmt=crsp to use crspday as the event date, est=specific to use crspest as the last trading day of the estimation period (both specified as CRSP dates) and estlen=120 to specify a 120 trading day long estimation period;
 title 'Registration Date -- Estimation Period is Offering Date(+31,+150)
Request insas=work.request datefmt=crsp est=specific estlen=120 id=id;

Item created 11 February 2004.

Return to list of FAQ subjects

Retrieving index returns alone

Q: Is it possible to get returns for a market index alone? My study does not individual stocks.

Solution: In Eventus 9, you do this with the new IndexData statement as show in the example below. In Eventus 8 and earlier, you have to select a stock that traded for the period over which you want index data, and use the Returns statement with the Index option to get stock and index returns.

data request;
 input eventda1:yymmdd8. eventda2:yymmdd8.;
19891212 19900111
Eventus GetData;
 IndexData insas=request autodate outsas=some_ew_mkt_returns;

Return to list of FAQ subjects

Retrieving returns a fixed number of trading days before a given calendar date

Q: I want to use the returns statement to extract, from the CRSP daily stock database, the return 31 trading days before a date that varies from firm to firm. I have the dates in an ascii text request file named c:\myproject\request.dat, where each line contains the PERMNO and calendar date for one firm (for example, 12345 19980701). If I use the shift1=-31 option on the Request statement, I get the return 31 calendar days bef;
 Request insas=work.request datefmt=crsp shift1=-31 ndays=1;

Return to list of FAQ subjects

Fama-French Factor Data

Q: Where can I obtain Fama-French factor data for event study purposes?

Solution: Eventus for WRDS users can access the factor data, maintained by WRDS staff, through the SAS library name FF. Eventus 8.0 and greater for Windows users, please go to the Windows Start Menu folder for Eventus and select Fama-French Factor Installer, which downloads the factor data from Professor Ken French's web site and installs it in the SAS data set format expected by Eventus software. If your organization is an annual subscriber to Eventus and you have trouble obtaining the factors by the above methods or use Eventus for Solaris or Linux on your own organization's system, please our data sets page for other options.

Return to list of FAQ subjects

Stock return variance

Q: How can I get Eventus software to put the stock return variance in a SAS data set? I am not interested in event study results, just the return variance.

Solution: The following program creates a temporary SAS data set, work.volatile, that contains the variable OWNVAR, the variance of raw stock returns. It is assumed that the request file

  • The identifying number is optional, and as with any Request statement, the id= and idfmt= options can be omitted.
  • Proc print is included above only as a simple example of SAS processing that can be performed on work.volatile. It is a normal SAS data set and can be used as input to any SAS procedure or set, merge or update data step statement.
  • est=-1 shift1=+1 is required because est=0 is ambiguous.
  • To make the period over which the return variance is computed different, change an appropriate combination of estlen, est, and possibly the shift1 option. Example #1: For a variance computation period starting on the date that you provide, use estlen=253 est=+1 shift1=-1 Example #2: To make the computation period 100 days long and starting three weeks (21 calendar days) after the stock-specific date that you provide, use estlen=100 est=+1 shift1=+20. Also change pre and post on the following line to match. For example #1, use pre=0 post=253. For example #2, use pre=0 post=100.
  • This example assumes that the user's PERMNOs, dates and Item numbers are in a text file pointed to by a previous filename request statement (or a SAS file shortcut request created in the Explorer pane of PC SAS). If they are already in a SAS data set, use the insas option on the Request statement.
  • For the standard deviation of market-model abnormal returns, omit raw and nomm; the variable in work.volatile is _RMSE_. For the standard deviation of market-adjusted returns, omit raw nomar on the EvtStudy statement and divide StDenom by the square root of (1+1/Ti) (both from data set work.volatile).
  • The code above prints event study results, which the researcher may prefer to discard because of the overlapping estimation and event periods. The illustrates the addition of the OutSAS option to the EvtStudy statement to put the parameter estimates that are available
    directly into a SAS data set, followed by SAS code to calculate the standard errors of the coefficients and display them. In Eventus 9, just use OutParam instead of OutSAS, drop Package=p, and don't bother with the rest of the example. Eventus 9 also has options to put the parameters in an Excel, CSV or Stata file.

     EvtStudy OutSAS=work.params Package=p;

    data se;
     set params;

    proc print data=se;
     id permno; /* change permno to another identifier if applicable */
    var alpha s_alpha beta s_beta;

    Notes on above
    • Proc print is included above as a simple example of SAS processing that can be performed on, which is an ordinary SAS data set that can be used as input to any SAS procedure or set, merge or update data step statement.
    • The Package=p specification is not essential; it only limits the contents of the output data set.
    • The NoPrint option also could be added to EvtStudy to suppress the usual listing output from the event study if desired.
    • Other Eventus, Request and EvtStudy statement options applicable to this type of event study, and a Windows statement, may be used in conjunction with OutSAS, of course.
    • Adding other benchmark methods such as MAR to EvtStudy will complicate the subsequent SAS data step code, so we suggest limiting the run in which coefficient standard errors are calculated to the market model as the only benchmark method.

    Return to list of FAQ subjects

    Meaning of Extract, OutWin or FileWin weights

    Q. The weights produced by the OutWin or FileWin option of the EvtStudy statement, or by the Extract statement, look strange. How can I make sense out of them?

    Solution: The weights created by OutWin, FileWin and Extract are designed to meet the requirements of the WEIGHT statement in SAS regression procedure PROC REG, to simplify weighted least squares (WLS) cross-sectional regressions. The weights are designed to make the WLS estimation conform to the same assumptions about the variance as are used in the development of the Patell and Standardized Cross-Sectional tests. The weights may seem strangely proportioned because a) they are not intended to be portfolio weights, and do not sum to 1; and b) they are reciprocals of variance, not standard deviation, because that is appropriate for the way that PROC REG works, given the desired variance assumptions.

    Nevertheless, the weighting scheme is consistent with portfolio weights based on the reciprocals of standard deviations. The following experiment demonstrates that this is so. When the SERIAL and STDCSECT options are not specified on the EvtStudy statement, the precision-weighted cumulative average abnormal return printed in the default event study output is equivalent to taking a weighted-average CAR using the square roots of the OutWin, FileWin or Extract weights. Run an event study using the OutWin=work.demo option, but not the SERIAL and STDCSECT options. Then run the following statements:
        data demo;
         set demo
        proc summary data=demo;
         weight w1;
         var winar1;
         outsas out=pwcaar mean=pwmean;
        proc print;
         var pwmean;

    The weighted average pwmean is equal to the corresponding precision-weighted cumulative average abnormal return in the original event study output.

    Return to list of FAQ subjects

    Output of RETURNS with SIZEINDX and BOTH options

    Q. When I run Eventus using the GETDATA option on EVENTUS statement, the SIZEINDX option on the REQUEST statement, and the option BOTH on the RETURNS statement, I get two sets of index returns, labeled EQUAL and VALUE. Do I assume that these are the value-weighted and equal-weighted indices for the size-decile index?

    Solution: No. Keep in mind that Eventus it>?

    Answer: Eventus 9 can directly read any recent release of the CRSP U.S. Stock Database if installed, from the DVD provided by CRSP, on the same computer as Eventus or accessible on a local network drive.

    Q: CRSP was recently updated on our local network, but unless I use the dbfnstmt option of the Eventus statement, Eventus for Windows still uses the previous version of the CRSP data.

    Answer:  Except when the dbfnstmt option is present, Eventus uses the Windows environment variables CRSP_DSTK and CRSP_MSTK to locate the CRSP daily and monthly databases respectively. The dbfnstmt option bypasses the environment variables. When a CRSP update is installed, the environment variables are updated automatically on the PC or server on which the update is performed. Individual PCs accessing CRSP on.htm">Site Search     Support     Sales     Home     Privacy    Legal