9000 REM ***** STKRTN ***** BUSINESS PROGRAM 9005 REM STKRTN *********** VERSION #1 (7/31/69) ***** STOCK RETURN 9010 REM 9015 REM THIS PROGRAM COMPUTES A MATRIX OF RETURNS FOR AN INVESTMENT IN 9020 REM A STOCK. IT THEN COMPUTES AND AVERAGE RETURN FOR A PURCHASE AT 9025 REM THE BEGINNING OF A YEAR, SELLING AT EACH OF THE FOLLOWING YEARS' 9030 REM ENDS, AND COMPUTES AN AVERAGE RETURN FOR ALL POSSIBLE HOLDING 9035 REM PERIODS. IT ALSO COMPUTES AN AVERAGE RETURN, STANDARD DEVIATION 9040 REM AND COEFFICIENT OF VARIANCE FOR DIFFERENT LENGTH HOLDING 9045 REM PERIODS. 9050 REM 9055 PRINT "* STOCK RETURN *" 9060 PRINT 9065 PRINT "DO YOU WISH TO ENTER YOUR DATA FROM THE TELETYPE, OR INTERNALLY" 9070 PRINT "USING DATA-STATEMENTS? ('T' FOR TELETYPE, 'D' OTHERWISE)"; 9075 INPUT N$ 9080 PRINT 9082 IF N$="D" THEN 9170 9085 PRINT "FOR HOW MANY YEARS DO YOU WISH TO ENTER PRICE AND DIVIDEND DATA, REMEM-" 9090 PRINT "BERING THE NEED FOR A BASE YEAR?? (MAX # OF YEARS IS 25)"; 9095 INPUT N 9100 PRINT 9105 PRINT "WHAT IS THE FIRST YEAR FOR WHICH YOU WISH TO ENTER DATA"; 9110 INPUT Y1 9115 PRINT 9120 PRINT "ENTER THE DIVIDEND PER SHARE AND THE CLOSING STOCK PRICE, SEPARATED" 9125 PRINT "BY A COMMA, FOR EACH OF THE FOLLOWING YEARS." 9130 PRINT 9135 PRINT TAB(15);"DPS, CSP" 9140 PRINT 9145 FOR I=1 TO N 9150 PRINT "YEAR"Y1+(I-1); 9155 INPUT D(I),P(I) 9160 NEXT I 9165 GOTO 9190 9170 READ N,Y1 9175 FOR I=1 TO N 9180 READ D(I),P(I) 9185 NEXT I 9190 PRINT 9195 PRINT "*******************************************************************" 9200 PRINT 9205 DIM D(25),P(25),W(25,25) 9210 FOR I=1 TO (N-1) 9215 FOR J=(I+1) TO N 9220 LET B=0 9225 FOR C=1 TO 5 9230 Q=.1^C 9235 B=B+Q 9240 E=0 9245 FOR F=(I+1) TO J 9250 E=(D(F)*(1/((1+B)^(F-I))))+E 9255 NEXT F 9260 E=E+P(J)*(1/((1+B)^(J-I))) 9265 IF E-P(I)>0 THEN 9235 9270 B=B-Q 9275 NEXT C 9280 IF B=0 THEN 9290 9285 GOTO 9300 9290 B=-.8 9295 GOTO 9225 9300 W(I,J)=B 9305 NEXT J 9310 NEXT I 9325 PRINT " RETURNS ON INVESTMENTS" 9330 PRINT " ---------------------" 9335 PRINT 9340 PRINT 9345 FOR K=1 TO (N-1) STEP 4 9350 IF N-1-K<4 THEN 9435 9355 PRINT " T0",Y1+K,Y1+(K+1),Y1+(K+2),Y1+(K+3) 9360 PRINT "FROM" 9365 FOR I=1 TO K 9370 PRINT Y1+(I-1), 9375 FOR J=(K+1) TO (K+4) 9380 PRINT W(I,J), 9385 NEXT J 9390 NEXT I 9395 PRINT Y1+K," ",W(K+1,K+2),W(K+1,K+3),W(K+1,K+4) 9400 PRINT Y1+K+1," "," ",W(K+2,K+3),W(K+2,K+4) 9405 PRINT Y1+K+2," "," "," ",W(K+3,K+4) 9410 PRINT 9415 PRINT 9420 PRINT 9425 NEXT K 9430 GOTO 9560 9435 PRINT " TO", 9440 FOR I=K TO (N-1) 9445 PRINT Y1+I, 9450 NEXT I 9455 LET Q=4-(N-K) 9460 GOSUB 9540 9465 PRINT"FROM" 9470 FOR I=1 TO N-1 9475 PRINT Y1+(I-1), 9480 IF I <= (N-(N-K)) THEN 9505 9485 LET Q=I-K 9490 GOSUB 9540 9495 LET J=L+1+Q 9500 GOTO 9510 9505 FOR J=K+1 TO N 9510 PRINT W(I,J), 9515 NEXT J 9520 LET Q=4-(N-K) 9525 GOSUB 9540 9530 NEXT I 9535 GOTO 9560 9540 FOR H=1 TO Q 9545 PRINT " ", 9550 NEXT H 9555 RETURN 9560 PRINT 9565 PRINT " -------------------------" 9570 PRINT 9575 PRINT 9580 X=0 9585 Y=0 9590 V=0 9595 FOR I=1 TO (N-1) 9600 FOR J=(I+1) TO N 9605 X=W(I,J)+X 9610 Y=W(I,J)+Y 9615 NEXT J 9620 PRINT "AVERAGE RETURN FROM";Y1+(I-1);"=";X/(N-I) 9625 V=(N-I)+V 9630 PRINT 9635 X=0 9640 NEXT I 9646 PRINT 9650 PRINT "AVERAGE RETURN FOR ALL" 9655 PRINT "POSSIBLE HODING PERIODS=";Y/V 9660 PRINT 9665 PRINT 9670 PRINT " ----------------------------" 9675 PRINT 9680 PRINT 9685 PRINT TAB(35);"AVERAGE";TAB(47);"STANDARD";TAB(61);"COEFF." 9690 PRINT TAB(36);"RETURN";TAB(47);"DEVIATION";TAB(60);"VARIATION" 9695 PRINT 9700 V3=0 9705 N2=0 9710 X2=0 9715 Y2=0 9720 V2=0 9725 FOR I=1 TO (N-1) 9730 FOR J=1 TO N 9735 IF J+I>N THEN 9755 9740 X2=W(J,J+I)+X2 9745 V2=W(J,J+I)+V2 9750 NEXT J 9755 X2=X2/(J-1) 9760 FOR J=1 TO N 9765 IF J+I>N THEN 9785 9770 Y2=(W(J,J+I)-X2)^2+Y2 9775 V3=(W(J,J+I))^2+V3 9780 NEXT J 9785 Y2=SQR(Y2/(J-1)) 9790 PRINT "FOR ALL";I;"YR HOLDING PERIODS:";TAB(33);X2;TAB(46);Y2;TAB(60);Y2/X2 9800 PRINT 9805 X2=0 9810 Y2=0 9815 NEXT I 9820 C3=SQR((V*V3-V2*V2)/V/(V-1)) 9825 PRINT "FOR ALL POSSIBLE HOLDING PERIODS:";TAB(33);V2/V;TAB(47);C3; 9830 PRINT TAB(60);C3/(V2/V) 9835 PRINT 9840 PRINT 9845 PRINT "***********************************************************************:" 9999 END