10 REM GENERA3 BY TIMO SALMI. ANNUITY DEPRECIATION
20 REM NO NET CURRENT ASSETS "C"
30 REM GENERATES THE SERIES FOR G(T),F(T),D(T),P(T),V(T)
40 REM G(T) = CAPITAL EXPENDITURES IN YEAR T
50 REM F(T) = FUNDS FROM OPERATIONS IN YEAR I
60 REM I.E. REVENUES DUE TO CAPITAL EXPENDITURES
70 REM D(T) = DEPRECIATION
80 REM P(T) = OPERATING INCOME (ACCOUNTANT'S PROFIT)
90 REM V(T) = CAPITAL STOCK AT THE END OF YEAR T
100 REM
110 REM WHEN GIVEN K,B(N),G(0)
120 REM K = GROWTH RATE
130 REM B(N) = CONTRIBUTION COEFFICIENTS
140 REM G(0) = FIRST CAPITAL EXPENDITURE
150 REM
160 DIM G(60), B(60)
170 PRINT
180 PRINT "FINANCIAL DATA GENERATION FOR SALMI-LUOMA, BY TIMO SALMI"
190 PRINT "ANNUITY DEPRECIATION, NO NET CURRENT ASSETS"
200 PRINT
210 PRINT "IDENTIFICATION";
220 INPUT A$
230 PRINT
240 PRINT "GIVE THE NUMBER OF YEARS TO BE SIMULATED";
250 INPUT T1
260 IF T1 >= 60 THEN GOTO 240
270 PRINT "GIVE GROWTH K";
280 INPUT K
290 PRINT "GIVE FIRST CAPITAL EXPENDITURE G(0)";
300 INPUT G(1)
310 FOR I = 1 TO 60
320 LET B(I) = 0
330 NEXT I
340 PRINT "GIVE THE MAXIMUM LAG IN CONTRIBUTION DISTRIBUTION";
350 INPUT N1
360 IF N1 >= 60 THEN GOTO 340
370 PRINT "GIVE THE CONTRIBUTION COEFFICIENTS B(I)"
380 FOR I = 0 TO N1
390 PRINT "B("; I; ")";
400 INPUT B(I + 1)
410 NEXT I
420 GOSUB 710
430 REM
(App. V cont. )
440 REM *** COMPUTING THE TIME SERIES **
450 LET V = 0
460 PRINT
470 PRINT " capital funds from depreciat";
480 PRINT " operating book"
490 PRINT " expendit operations ";
500 PRINT " income value"
510 PRINT "T G(T) F(T) D(T) ";
515 PRINT " P(T) V(T)"
520 PRINT
530 FOR T = 0 TO T1
540 LET G(T + 2) = (1 + K) * G(T + 1)
550 LET F = 0
560 IF T > N1 THEN GOTO 580
570 LET N2 = T
580 FOR I = 0 TO N2
590 LET F = F + B(I + 1) * G(T - I + 1)
600 NEXT I
610 LET P = R * V
620 LET D = F - P
630 LET V = V + G(T + 1) - D
640 PRINT USING "##"; T;
650 PRINT USING "###########.####"; G(T + 1);
660 PRINT USING "#########.####"; F; D; P; V
670 NEXT T
680 PRINT
690 PRINT "INTERNAL RATE OF RETURN ="; 100 * R; "%"
700 END
710 REM
720 REM INTERNAL RATE OF RETURN SUBROUTINE
730 REM THE SECANT METHOD
740 LET H = 1
750 LET X1 = 0
760 LET x2 = .2
770 FOR J = 1 TO 30
780 LET X = X1
790 GOSUB 930
800 LET Y1 = Y
810 LET X = x2
820 GOSUB 930
830 LET Y2 = Y
840 LET X = (X1 * Y2 - x2 * Y1) / (Y2 - Y1)
850 LET X1 = x2
860 LET x2 = X
870 IF ABS(x2 - X1) < .000001 THEN GOTO 910
880 NEXT J
890 PRINT "IRR-ALGORITHM FAILED IN 30 ITERATIONS"
900 END
910 LET R = x2
920 RETURN
930 REM PRESENT VALUE SUBROUTINE
940 LET Y = -H
950 FOR I = 0 TO N1
960 LET Y = Y + B(I + 1) / (1 + X) ^ I
970 NEXT I
980 RETURN
1000 END
The next section (REFERENCES)
The previous section (Appendix IV)
The contents section of Salmi and Luoma (1981)
Other scientific publications by Timo Salmi in WWW format