9000  REM  *****STKVAL*****BUSINESS PROGRAM
9002  REM  STKVAL**********VERSION #1 (7/31/69)*****STOCK VALUE******
9003  REM
9006  PRINT "*  STOCK VALUE & EVALUATION  *"
9007  PRINT 
9008  PRINT "THIS PROGRAM DETERMINES WHETHER A CERTAIN STOCK OUGHT TO BE INVESTED"
9009  PRINT "IN, DEPENDING ON CERTAIN INPUT CONDITIONS.  IT ALSO PROVIDES A LIST"
9010  PRINT "OF THE STOCK'S VALUE AND PRICE FOR EACH PERIOD."
9015  READ F
9020  DIM A$[6],B$[16],C$[11],N$[3]
9025  DIM X[50],G[50],C[50],V[50],Y[50]
9030  LET Y9=50
9035  REM THIS PROGRAM CALCULATES A STOCK'S VALUE AS DETERMINED BY ITS
9040  REM GROWTH RATE OVER A PERIOD OF YEARS, AND DETERMINES WHETHER THE 
9045  REM STOCK OUGHT TO BE PURCHASED OR NOT.
9050  REM
9055  REM     IT IS ASSUMED THAT AT SOME POINT IN THE STOCK'S LIFE ITS
9060  REM     EARNINGS GROWTH RATE WILL APPROACH 5 PERCENT, A CONSERVATIVE
9065  REM     ESTIMATE OF THE CURRENTLY EXPECTED GROWTH RATE OF OUR
9070  REM     ECONOMY.
9075  REM
9080  REM     BEFORE THIS LONG-TERM GROWTH RATE IS REACHED, THERE WILL
9085  REM     BE A PERIOD OF NON-NORMAL GROWTH.   THIS NON-NORMAL GROWTH
9090  REM     PERIOD MAY CONTAIN MANY SHORTER PERIODS OF DIFFERING GROWTH
9095  REM     RATES.   FOR EACH OF THESE SHORTER PERIODS, YOU WILL BE ASKED
9100  REM     TO SUPPLY THE ENDING YEAR OF THE PERIOD, AND THE GROWTH
9105  REM     RATE YOU EXPECT FOR THE STOCK DURING THIS PERIOD.
9110  REM
9115  REM   IT IS IMPORTANT TO NOTE THAT WHEN YOU HAVE REACHED THE END OF
9120  REM   WHAT YOU CONSIDER THE NON-NORMAL PERIOD, YOU MUST ENTER .05
9125  REM   AS THE EXPECTED GROWTH RATE.  ANY YEAR GREATER THAN THE BEGIN-
9130  REM   NING YEAR WILL SUFFICE.
9135  REM
9140  REM     FOR INITIALIZATION, NOTE REMARK AT LINE 9765
9145  REM
9155  PRINT 
9160  PRINT "WHAT IS THE CURRENT MARKET VALUE OF THE STOCK UNDER CONSIDERATION";
9165  INPUT P
9170  PRINT 
9175  PRINT "WHAT IS THE STOCK'S CURRENT EARNINGS PER PERIOD";
9180  INPUT Y[Y9]
9185  PRINT 
9190  PRINT "WHAT DO YOU EXPECT THE NORMALIZED EARNINGS FOR THE NEXT PERIOD TO BE";
9195  INPUT Y[1]
9200  PRINT 
9205  PRINT "WHAT IS THE CURRENT MARKET CAPITALIZATION RATE";
9210  INPUT R
9215  PRINT 
9220  PRINT "AND WHAT IS THE PAYOUT RATIO";
9225  INPUT D
9230  PRINT 
9235  PRINT 
9240  PRINT "NOW PLEASE ENTER THE ENDING YEAR AND THE GROWTH RATE YOU EXPECT"
9245  PRINT "FOR EACH OF THE NON-NORMAL GROWTH PERIODS BEFORE THE STOCK SETTLES"
9250  PRINT "TO A STEADY 5% RATE."
9255  PRINT 
9260  PRINT "(REMEMBER THE LAST ENTRY MUST INDICATE THE ATTAINMENT OF THE 5% RATE)."
9265  PRINT 
9270  LET T1=1
9275  LET T2=0
9280  LET X[1]=Y[1]*D
9285  PRINT 
9290  PRINT "BEGINNING  ENDING GROWTH"
9295  PRINT "  YEAR      YEAR   RATE"
9300  PRINT "---------  ------ ------"
9305  LET D1=F+1
9310  LET Z1=F
9315  PRINT D1;TAB(11);
9320  INPUT Z,S
9325  IF S=.05 THEN 9365
9330  LET T2=(Z-Z1)+T2
9335  LET G=S
9340  GOSUB 9665
9345  LET T1=T2+1
9350  LET D1=Z+1
9355  LET Z1=Z
9360  GOTO 9315
9365  LET T2=T2+1
9366  LET G=S
9370  GOSUB 9665
9375  REM CALCULATIONS BEGIN HERE
9380  GOSUB 9695
9385  PRINT 
9390  PRINT 
9395  PRINT F;"VALUES FOLLOW:"
9400  PRINT 
9405  PRINT "   PRICE      : $";P
9410  PRINT "   EARNINGS   : $";Y[Y9]
9415  PRINT "   P/E RATIO  :  ";P/Y[Y9]
9420  PRINT ""
9425  PRINT "**********************************************************************"
9430  PRINT 
9435  PRINT TAB(10);"----------------------------------------------------"
9440  PRINT TAB(10);":               INTRINSIC VALUE =";V[1];TAB(61);":"
9445  PRINT TAB(10);":";TAB(61);":"
9450  PRINT TAB(10);":      FROM THE INFORMATION YOU HAVE SUPPLIED,";TAB(61);":"
9455  PRINT TAB(10);":      AND SINCE THE INTRINSIC VALUE IS EXACTLY";TAB(61);":"
9460  LET A=(V[2]/P-1)*100
9465  IF A<-5 THEN 9520
9470  IF A>5 THEN 9545
9475  LET B$="IT IS UNCLEAR WHETHER"
9480  LET C$="SHOULD"
9485  LET A$=" BELOW"
9490  GOTO 9560
9495  LET A$=" OF"
9500  LET A=100
9505  GOTO 9560
9510  LET A$=" ABOVE"
9515  GOTO 9560
9520  LET B$="  I AM SURE THAT"
9525  LET A$=" BELOW"
9530  LET C$=" SHOULD NOT"
9535  LET A=ABS(A)
9540  GOTO 9560
9545  LET B$="I AM SURE THAT"
9550  LET A$=" ABOVE"
9555  LET C$=" SHOULD"
9560  PRINT TAB(10);":     ";A;" PERCENT";A$;" THE PRESENT PRICE";TAB(61);":"
9565  PRINT TAB(10);":      ";B$;" THIS STOCK";C$;" BE";TAB(61);":"
9570  PRINT TAB(10);":      PURCHASED AT THIS TIME.";TAB(61);":"
9575  PRINT TAB(10);":";TAB(61);":"
9580  PRINT TAB(10);"---------------------------------------------------"
9585  PRINT 
9590  PRINT "DO YOU WANT A LIST OF VALUES IN FUTURE YEARS";
9595  INPUT N$
9600  IF N$="YES" THEN 9615
9605  PRINT "**********************************************************************"
9610  STOP 
9615  PRINT "    YEAR","EARNINGS","GROWTH","CAPITALIZER","VALUE"
9620  PRINT " "," ","RATE"," ","(BEGINNING"
9625  PRINT " "," "," "," ","OF YEAR)"
9630  FOR I=1 TO T2
9635  PRINT I+F,Y[I],G[I],V[I]/Y[I],V[I]
9640  NEXT I
9645  PRINT 
9650  PRINT " ","V/E RATIO =";V[1]/Y[Y9]
9655  PRINT 
9660  GOTO 9605
9665  FOR I=T1 TO T2
9670  LET Y[I+1]=Y[I]*(1+G)
9675  LET G[I]=G
9680  LET X[I]=Y[I]*D
9685  NEXT I
9690  RETURN 
9695  IF S >= R THEN 9745
9700  LET X[T2]=X[T2]+(X[T2]*(1+G)/(R-G))
9705  FOR J=1 TO T2
9710  LET V[J]=0
9715  FOR I=J TO T2
9720  LET V[J]=V[J]+X[I]/(1+R)^(I-J+1)
9725  NEXT I
9730  LET C[J]=V[J]/X[J]
9735  NEXT J
9740  RETURN 
9745  PRINT "CAPITALIZER MUST BE GREATER THAN LAST GROWTH RATE"
9750  PRINT "ENTER LARGER CAPITALIZER";
9755  INPUT R
9760  GOTO 9695
9765  REM  THE FOLLOWING DATA ITEM IS THE VALUE OF THE FIRST PERIOD
9770  REM  UNDER CONSIDERATION.   IT IS HERE INITIALIZED TO THE YEAR
9775  REM  1969.  BY CHANGING THIS VALUE ONE CAN INITIALIZE THE PROGRAM
9780  REM  TO ANY YEAR, OR, IF MONTHLY OR SEMI-ANNUAL PERIODS ARE BEING
9785  REM  CONSIDERED, TO ANY PERIOD ID NUMBER.
9790  DATA 1969
9999  END 
