LIBNAME libref SASECRSP ’physical name ’ options;
The physical name that the LIBNAME statement requires should point to the directory of CRSPAccess data files where the CRSP database that you want to open is located. Note that the physical name must end in a slash for UNIX environments and a backslash for Windows environments.
The CRSP environment variable CRSPDB_SASCAL must be defined before the SASECRSP engine can access the CRSPAccess database calendars. The CRSP environment variable CRSPDB_SASCAL is necessary for the SASECRSP libref to be assigned successfully. This environment variable should be defined automatically either by the CRSP software installation or, in later versions, by the CRSP data installation. Because occasionally the variable is not set properly, always check to ensure that the CRSPDB_SASCAL environment variable is set to the location where your most recent CRSP data reside. Remember to include the final slash or backslash as required.
After the libref is assigned, you can access any of the available data sets or members within the opened database. For a complete description of available data sets and their fields, see the section Data Elements Reference: SASECRSP Interface Engine.
You can specify the following options.
specifies the CRSP database that you want to read from. SETID= is a required option. Choose one SETID from the six possible values in Table 1. The SETID limits the frequency selection of time series that are included in the SAS data set.
For example, to access monthly CRSP US Stock data, you would use the following statements:
LIBNAME myLib sasecrsp 'physical-name'
SETID=20;
enables you to select data from your CRSP database by the PERMNO (or other keys) that you specify. A PERMNO is CRSP’s unique permanent issue identification number. There is no limit to the number of crsp_permnumber options that you can use. By default, the SASECRSP engine reads all keys for the CRSPAccess database that you specified in your SASECRSP libref.
From a performance standpoint, the PERMNO= option enables efficient random access and reads only the data for the PERMNOs specified.
For example, the following LIBNAME statement reads data only for Microsoft Corporation (PERMNO=10107) and International Business Machines Corporation (PERMNO=12490) by using the primary PERMNO key and thus is very efficient:
LIBNAME myLib sasecrsp 'physical-name'
SETID=20
PERMNO=10107
PERMNO=12490;
The PERMCO=, CUSIP=, HCUSIP=, SICCD=, TICKER=, and INDNO= options behave similarly, and you can use them in conjunction with or in place of the PERMNO= option. For example, you could use the following statement to access monthly data for Microsoft and IBM:
LIBNAME myLib sasecrsp 'physical-name'
SETID=20
TICKER='MSFT'
CUSIP=59491810;
Details about the use of the other key selection options (PERMCO, CUSIP, HCUSIP, TICKER, SICCD, and INDNO) follow.
PERMNOs that you specify by using this option can select the companies or issues to keep for CRSP US Stock data, but PERMNO is not a supported option for CRSP Indices data. Use the INDNO= option with the CRSP Indices data and use the PERMNO= option with the CRSP US Stock data. Details about the use of key selection options for each type of database follow.
STK Databases
PERMNO is the primary key for CRSP Stock data. Every valid PERMNO that you specify with the PERMNO= option keeps exactly one issue.
IND Databases
INDNO is the primary key for accessing CRSP Indices data. PERMNO is not available as a key for the IND (CRSP Indices) Databases; use INDNO for efficient access of the IND Databases.
is similar to the PERMNO= option in that it enables you to use the CRSP’s unique permanent company identification key (PERMCO) to select the companies or issues to keep. There is no limit to the number of crsp_permcompany options that you can use.
STK Databases
PERMCO is a secondary key for accessing CRSP US Stock data. One PERMCO can map to multiple PERMNOs. Access by a PERMCO key is equivalent to access by all mapped PERMNOs.
IND Databases
Use INDNO for accessing CRSP Indices data. PERMCO is not available as a key for accessing CRSP Indices data; use INDNO instead.
is similar to the PERMNO= option in that it enables you to use the CUSIP key to select the companies or issues to keep. There is no limit to the number of crsp_cusip options that you can use.
STK Databases
CUSIP is a secondary key for accessing CRSP US Stock data. One CUSIP maps to one PERMNO.
IND Databases
Use INDNO for accessing CRSP Indices data. CUSIP is not available as a key for accessing CRSP Indices Databases; use INDNO instead.
is similar to the PERMNO= option in that it enables you to use the historical CUSIP key, HCUSIP, to select the companies or issues to keep. There is no limit to the number of crsp_hcusip options that you can use.
STK Databases
HCUSIP is a secondary key for accessing CRSP US Stock Databases. One HCUSIP maps to one PERMNO.
IND Databases
Use INDNO for accessing CRSP Indices Databases. HCUSIP is not available as a key for accessing CRSP Indices Databases; use INDNO instead.
is similar to the PERMNO= option in that it enables you to use the TICKER key to select the companies or issues to keep. There is no limit to the number of crsp_ticker options that you can use.
STK Databases
TICKER is a secondary key for accessing CRSP US Stock Databases. One TICKER maps to one PERMNO. Note: Some PERMNOs are inaccessible by the TICKER key.
IND Databases
Use INDNO for accessing CRSP Indices Databases. TICKER is not available as a key for accessing CRSP Indices Databases; use INDNO instead.
is similar to the PERMNO= option in that it enables you to use the Standard Industrial Classification (SIC) code (SICCD) to select the companies or issues to keep. There is no limit to the number of crsp_siccd options that you can use.
STK Databases
SICCD is a secondary key for accessing CRSP US Stock Databases. One SICCD can map to multiple PERMNOs. All PERMNOs that have been classified once under the specified SICCD are mapped and the data for them are retrieved. Access by the SICCD key is equivalent to access by all PERMNOs that have ever been classified under the specified SICCD key.
IND Databases
Use INDNO for accessing CRSP Indices Databases. SICCD is not available as a key for accessing CRSP Indices Databases; use INDNO instead.
is similar to the PERMNO= option in that it enables you to use CRSP’s permanent index number INDNO to select the companies or issues to keep. There is no limit to the number of crsp_indno options that you can use.
STK Databases
INDNO is not available as a key for accessing CRSP US Stock Databases, but it can be used in the combined CRSP US Stock and Indices Databases.
IND Databases
INDNO is the primary key for accessing CRSP Indices Databases. Every INDNO that you specify keeps exactly one index series or group.
For example, you can use the following statement to access the CRSP NYSE Value-Weighted and Equal-Weighted daily market indices:
LIBNAME myLib3 sasecrsp 'physical-name'
SETID=460
INDNO=1000000 /* Value-Weighted */
INDNO=1000001; /* Equal-Weighted */
limits the time range of data that are read from your CRSPAccess database. Specify this option in your LIBNAME libref SASECRSP statement, where crsp_begdt is the beginning date of the range in YYYYMMDD format and crsp_enddt is the ending date of the range in YYYYMMDD format.
For example, to access monthly stock data for Microsoft Corporation and for International Business Machines Corporation for the first quarter of 1999, you can use the following statement:
LIBNAME myLib sasecrsp 'physical-name'
SETID=20
PERMNO=10107
PERMNO=12490
RANGE='19990101-19990331';
The specified beginning and ending dates are interpreted as calendar dates.
You can use the RANGE= option for all members of CRSP US Stock and Indices Databases. CRSP data members are associated with only one date, and all CRSP data members have a date resolution to the day. For example, monthly time series, although they are monthly, resolve to the last trading day of the month.
specifies a SAS data set named setname as input for issues. The SASECRSP engine assumes that a default PERMNO field that contains selected CRSP PERMNOs is present in the data set. If optional parameters are used, they must all be specified. The only acceptable shorthand for dropping the parameters is to drop those at the very end, assuming they are all being omitted. Dropped parameters use their defaults.
You can specify the following parameters:
labels the field that contains the keys to be selected. If unspecified, the default is PERMNO.
specifies the CRSPAccess key type of the provided keys. Possible key types are: PERMNO, PERMCO, CUSIP, HCUSIP, TICKER, SICCD, or INDNO. If unspecified, the default is "PERMNO".
specifies the beginning date of the specific date range restriction being applied to this key. If either date1field or date2field is omitted, then by default there is no date range restriction.
specifies the ending date of the specific date range restriction being applied to this key. If either date1field or date2field is omitted, then by default there is no date range restriction.
Individual date range restrictions that you specify by using the INSET= option can be used in combination with the RANGE= option in the LIBNAME statement. In such a case, only data from the intersection of the individual date restriction and the global RANGE= option date restriction are read.