Institute for the Study of Security Markets Data

The ISSM data files contain well over 1 Billion data items. The larger files have been broken down into individual firm files by year. This structure gives us several advantages:

All of your Fortran code to access ISSM will follow the same design:

  1. include the file issm.h which defines the common block of variables
  2. use the subroutine getsym to pull firm data
  3. process the data for that firm
  4. go back to item 2 - or end the program
  5. include the getsym code

Below is a very simple example of pulling two firms from the 84 data files:


      IMPLICIT NONE 
C Bring in the common block variables include 'issm.h' C ----------------------------------------------------


C Process the first firm C ----------------------------------------------------
call getsym('API.A',84) write(*,*)symbol,cusip,nq write(*,*) (trdqt(i), i=1,n)
C Process the second firm C ---------------------------------------------------- call getsym('API.A2',84) write(*,*)symbol,cusip,nq write(*,*) (trdqt(i), i=1,n)
stop end
C Bring in the getsym subroutine C ---------------------------------------------------- include 'getsym.h'

To loop through all the firms for a particular year you can use the files /databases/issm1/general/filesxx (where xx = 83 to 92) to pull the entire set of ticker symbols for the year xx. The program below is a very simple example of looping through the entire list of tickers for 1991.



      IMPLICIT NONE
      integer i 
      character*12 xymbol
      include 'issm.h' 
C     
C     *************************************** 

      open(80,file='/databases/issm1/general/files91',
     *form='formatted',status='old')
      open(81,file='91info.txt',status='unknown') 

1     continue

C     Read the Ticker File  --------------------------------
      read(80,10,end=99)xymbol
10    format(a12)
C     ------------------------------------------------------

C     Use the getsym subroutine to fetch the information----   
      call getsym(xymbol,91)
C     ------------------------------------------------------

C     Do the operations on the firm which was fetched ------
      write(81,1020)symbol,cusip,name,sic
1020  format(a12,2x,a8,2x,a30,2x,a4)
C     ------------------------------------------------------

C     Loop through the entire input file
      goto 1
C     ------------------------------------------------------


99    close(81)
      close(80)
      stop
      end

C     Include the getsym subroutine
      include 'getsym.h'
C     ------------------------------------------------------


Questions regarding which firms are available for which years can be answered by looking at the firm information files contained in the same list which directed you here. Information concerning variable definitions is contained in the ISSM documentation which I have placed on reserve in the JGSM library.