Resources

Converting Dates By Using the CRSP Date Functions

/*----------------------------------------------------------------

                    SAS Sample Library

        Name: crpex06.sas
 Description: Example program from SAS/ETS User's Guide,
              The SASECRSP Interface Engine
    Title: Converting Dates By Using the CRSP Date Functions
  Product: SAS/ETS Software
     Keys: Stock data access, CRSPAccess, CRSP Date Functions
    Procs: SASECRSP
    Notes: Read this before you run this sample.
           The CRSP Stock database resides in the  CRSP_MSTK folder. You
           must install your CRSP Monthly Stock data
           and define your Windows system environment
           variable, CRSP_MSTK, to point to the physical path
           of your installed CRSP Stock database. Use the following
           form of the libname statement:

libname mstk sasecrsp "%sysget(CRSP_MSTK)"
        setid=20;
----------------------------------------------------------------*/
title2 'OUT= Data Set';
title3 'CRSP Functions for sasecrsp';

libname _all_ clear;

/* Always assign the LIBNAME sasecrsp first */
libname mstk sasecrsp "%sysget(CRSP_MSTK)"
        setid=20;

data a (keep = crspdt crspdt2 crspdt3
               sasdt sasdt2 sasdt3
               intdt intdt2 intdt3);
   format crspdt crspdt2 crspdt3 crspdtd8.;
   format sasdt sasdt2 sasdt3 yymmdd6.;
   format intdt intdt2 intdt3 8.;
   format exact 2.;
   crspdt = 1;
   sasdt = '2jul1962'd;
   intdt = 19620702;
   exact = 0;

/* Call the CRSP date to Integer function*/
   intdt2 = crspdcid(crspdt);

/* Call the SAS date to Integer function*/
   intdt3 = crspds2i(sasdt);

/* Call the Integer to Crsp date function*/
   crspdt2 = crspdicd(intdt,exact);

/* Call the Sas date to Crsp date conversion function*/
   crspdt3 = crspdscd(sasdt,exact);

/* Call the CRSP date to SAS date conversion function*/
   sasdt2 = crspdcsd(crspdt);

/* Call the Integer to Sas date conversion function*/
   sasdt3 = crspdi2s(intdt);
run;

title3 'PROC PRINT showing data for sasecrsp';
proc print data=a;
run;

title3 'PROC CONTENTS showing formats for sasecrsp';
proc contents data=a;
run;