10  COM X[103,22],M[19,19],U[19,19],Q[20],V[20],P[78]
30  COM M$[60],N$[72]
40  COM N,K,N8,K8,N9,K9,Q9,Q7,Q5,Q4,Q3,Q2,Q1
45  COM I3,I4,U9,X$[20]
50  REM:9FEB74
60  REM:>CRSP
150  DIM D[10],L[600],A$[40],C$[12]
160  FILES *,*
170  ASSIGN "$CRSPH",1,F1
200  DEF FNM()=-12*INT((-1)/12)
210  DEF FNY()=INT((-1)/12)+1926
250  GOTO Q[13] OF 450,400,300
300  ASSIGN "$CRSPP",2,F1
350  IF Q[8]=3 THEN 7000
360  GOTO 500
400  ASSIGN "$CRSPS",2,F1
430  GOTO 500
450  ASSIGN "$CRSPR",2,F1
500  PRINT 
510  S=P[1]
520  E=P[1]+N-1
521  J=I4
670  C$="ENTER"
675  GOSUB 4000
679  Z=F+Q[14]-1
680  IF S >= Z THEN 690
681  PRINT  USING 682
682  IMAGE #,"NO DATA FOR STOCK "
683  PRINT "UNTIL";
684  PRINT  USING 685;FNM(Z),FNY(Z)
685  IMAGE X2D,"/",4D
686  PRINT "DATA NOT ENTERED."
687  GOTO 910
690  IF L >= E THEN 700
691  PRINT  USING 682
692  PRINT "AFTER";
693  PRINT  USING 685;FNM(L),FNY(L)
695  GOTO 910
700  Q[15]=0
710  IF M=0 THEN 720
715  Q[15]=1
720  READ #2,R
750  MAT L=ZER[E-F+1]
760  MAT  READ #2;L
800  FOR I=1 TO N
805  Z=S-F+I
810  IF M=0 THEN 872
815  GOTO Q[13] OF 830,830,820
820  IF L[Z]#0 THEN 862
825  GOTO 840
830  IF L[Z]#-10 THEN 862
840  IF Q[15]=0 THEN 866
850  PRINT "MISSING DATA FOR STOCK IN SUBPERIOD CHOSEN."
852  PRINT '10"WANT TO PROCEED TO LOAD "A$" ";
854  INPUT C$
856  IF C$[1,1]="N" THEN 910
858  Q[15]=0
860  GOTO 800
862  IF Q[15]=0 THEN 872
864  GOTO 874
866  PRINT L[Z]"ENTERED IN ROW"I",COL."J"TO INDICATE MISSING VALUE."
872  X[I,J]=L[Z]
874  NEXT I
875  X[N9+3,J]=0
876  PRINT '10"COL."J"CONTAINS "A$
877  P[65]=P[1]
890  IF Q[8]=2 THEN 970
900  IF J+1=K9 THEN 970
904  J=J+1
910  GOTO Q9 OF 920,940,940
920  PRINT '10"WANT TO LOAD ANOTHER SECURITY ";
930  GOTO 950
940  PRINT '10"ANOTHER SECURITY ";
950  INPUT A$
960  IF A$[1,1]#"N" THEN 670
962  IF Q[8]=2 THEN 9998
964  J=J-1
970  I4=J
980  GOTO 9913
3800  PRINT "END OF $CRSPH"
3810  GOTO 3925
3900  PRINT '10"INVALID HEADER NUMBERS."
3910  PRINT "1ST HEADER NUMBER MUST BE INTEGER 1 TO"Q[10]
3920  PRINT "2ND HEADER NUMBER MUST BE 1 OR 2"
3925  PRINT "TRY AGAIN!"'7
3930  GOTO 4020
4000  GOTO Q9 OF 4005,4020,4020
4005  PRINT "GIVE THE HEADER NUMBERS, SEPARATED BY COMMAS,"
4010  PRINT "OF THE SECURITY YOU WISH TO "C$" ";
4015  GOTO 4025
4020  PRINT '10"HEADER NOS.";
4025  INPUT H1,H2
4030  IF H2=1 OR H2=2 THEN 4035
4032  GOTO 3900
4035  IF H1#INT(H1) OR H1<1 OR H1>Q[10] THEN 3900
4130  IMAGE " STARTS ",2D,"/",4D
4132  IMAGE "   ENDS ",2D,"/",4D
5000  IF  END #1 THEN 3800
5010  READ #1,H1
5020  FOR I=1 TO H2
5030  READ #1;D,A$,F,L,M,M
5040  MAT  READ #1;D
5050  READ #1;A$,A$,A$
5060  READ #1;R
5065  NEXT I
5070  PRINT "YOU HAVE PICKED"'10A$
5080  RETURN 
7000  PRINT 
7020  C$="CHECK"
7030  GOSUB 4000
7040  PRINT "PRICE DATA:"
7042  PRINT  USING 4130;FNM(F),FNY(F)
7044  PRINT  USING 4132;FNM(L),FNY(L)
7050  PRINT "RETURNS DATA:"
7052  PRINT  USING 4130;FNM(F+1),FNY(F+1)
7060  IF M=0 THEN 7150
7070  PRINT M"MONTHS OF MISSING PRICES."'10'13"WANT LIST ";
7080  INPUT C$
7090  IF C$[1,1]="N" THEN 7160
7100  MAT L=ZER[L-F+1]
7102  READ #2,R
7104  MAT  READ #2;L
7106  J=0
7108  FOR I=1 TO (L-F+1)
7110  IF L[I]#0 THEN 7140
7112  Z=I+F-1
7114  PRINT  USING 7136;FNM(Z),FNY(Z)
7116  J=J+1
7118  IF J#6*INT(J/6) THEN 7140
7120  PRINT 
7136  IMAGE #,2D,"/",4D3X
7140  NEXT I
7145  GOTO 7160
7150  PRINT "NO MISSING DATA"
7160  PRINT 
7162  PRINT "MORE CHECKS ";
7170  INPUT A$
7180  IF A$[1,1]#"N" THEN 7000
7190  Q[8]=0
9912  CHAIN "$IDA12",500
9913  Q[6]=12
9914  Q[7]=800
9915  CHAIN "$IDA912"
9998  CHAIN "$IDA",150
9999  END 
