[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

2135.0. "Any loan amortization programs out there?" by ODIXIE::MCDONALD (Surly to bed, surly to rise...) Fri Jan 20 1989 14:18

    Anybody out there got a decent amortization program lying around?
    I used to have one on an IBM PC at my old job which would give you
    a full monthly breakdown of payments/principle/etc.  It would also
    let you leave any single input blank (amount, interest, time, or
    payment) and it would calculate it for you.  
    
    Wouldn't be to hard to write one, but I haven't bought a compiler
    yet, so it'd be in BASIC (not fond of it) or DRACO (images too big).
    If anyone's got the program already lying around, (come on, every
    computer jockey has an amortization program around somewhere) I'd
    be grateful if you'd upload it for general distribution.  If not,
    I'll break down and write one.
    
    (Come to think of it, a friend has the AC-Basic compiler.  I could
    let HIM compile my basic program whem I finished it.  Maybe that's
    the way to go.  Worth considering...)
    
    
    
    					John
    
    
T.RTitleUserPersonal
Name
DateLines
2135.1Here's oneMEMORY::BERKSONThink honk if you're a telepathFri Jan 20 1989 14:2740
This is a very simple one.  
    
    Mitch
    
00010 open "MORT.dat" for output as #1

00100 PRINT "ENTER MORTGAGE PRINCIPAL"
00200 INPUT P
00300 PRINT "ENTER THE INTEREST RATE PERCENTAGE"
00400 INPUT I
00450 I = I/100
00500 PRINT "ENTER LIFE OF MORTGAGE IN YEARS"
00600 INPUT L


00700 P1=P*(I/12)/(1-(1/(1+(I/12))**(L*12)))
00800 P1=INT(P1*100+0.5)/100

0900  PRINT "Results are in MORT.DAT"
01000 PRINT #1, "Principal borrowed ="; P
01010 print #1, "Interest rate =";I*100; " %"
01020 print #1, "Duration of Mortgage=";l;" years"
01030 print #1,
01035 PRINT #1,
01040 PRINT #1, "PERIOD","PAYMENT","INTEREST","PRIN. RED.","PRIN BAL"
01045 PRINT #1,
01049 print #1, "------------------------------------------------------------------"
01050 print #1,


1100 for m=1 to L*12
01200     P2=P*I/12
01300     P2=INT(P2*100+0.5)/100
01400     P3= P1-P2
01500     P=INT((P-P3)*100+0.5)/100
1600      print #1,m,p1,p2,p3,p
01700 NEXT M
01710 print p1
01750 close #1
01800 END
2135.2FINANC.BASMTWAIN::MACDONALDWA1OMM 7.093/145.05/223.58 AX.25Fri Jan 20 1989 15:50162
10 REM FINANCIAL CALCULATIONS V1.0
20 REM CONVERTED FROM THE PUBLIC DOMAIN 
30 REM BY PAUL MACDONALD 01/27/85
50 PRINT"FINANCIAL COMPUTATIONS"
60 PRINT"----------------------"
70 PRINT"SELECT ONE OF THE FOLLOWING OPTIONS:"
80 PRINT"------------------------------------"
90 FOR I=1 TO 500
91 NEXT I
100 PRINT" "
110 PRINT"1) COMPOUND INT      7) MON LOAN PYMNT"
120 PRINT"2) YRS OF INT        8) LOAN BAL"
130 PRINT"3) INT RATE          9) # OF SAV PYMNTS"
140 PRINT"4) FUT VALUE         A) LOAN AMT"
150 PRINT"5) REQ PAYMENT       B) SINKING FUND"
160 PRINT"6) # OF LOAN PYMNTS  C) END"\PRINT""
170 FOR I=1 TO 10
171 NEXT I
180 INPUT Y$
190 IF Y$="A" OR Y$="a" THEN C=10\GOTO 250
200 IF Y$="B" OR Y$="b" THEN C=11\GOTO 250
210 IF Y$="C" OR Y$="c" THEN C=12\GOTO 250
220 C=VAL(Y$)
230 IF C<1 OR C>12 THEN 180
240 PRINT CLS$
250  
260 ON C GOTO 270,380,510,620,720,810,910,1010,1170,1280,1390,1490
270 REM\ COMPOUND INTEREST
280  
290 PRINT"COMPOUND INTEREST CALCULATIONS"\PRINT
300 INPUT"  AMOUNT TO BE COMPOUNDED ";A$\A=VAL(A$)
310 INPUT"  INTEREST RATE ";I\I=I/100
320 INPUT"  NUMBER OF YEARS COMPOUNDED ";T$\T=VAL(T$)
330 INPUT"  NUMBER OF PERIODS PER YEAR ";TY$\TY=VAL(TY$)\PRINT
340 V=A*(1+I/TY)^(TY*T)
350 PRINT INT(V*100+.5)/100\PRINT
360 PRINT"PRESS ANY KEY TO CONTINUE"
365 INPUT Y$\REM IF Y$="" THEN 365
370 GOTO 50
380 REM\ YEARS OF INTEREST
390  
400 PRINT"YEARS OF INTEREST"\PRINT
410 INPUT"  AMOUNT TO BE COMPOUNDED ";A$\A=VAL(A$)
420 INPUT"  INTEREST RATE ";I\I=I/100
430 INPUT"  FINAL DESIRED AMOUNT ";V$\V=VAL(V$)
440 INPUT"  NUMBER OF PERIODS PER YEAR ";TY$\TY=VAL(TY$)\PRINT
450 T=LOG(V/A)/((LOG(1+I/TY))*TY)
460 PRINT"COMPOUNDED ";TY;" TIMES PER YEAR,"
470 PRINT"WILL REQUIRE THE MONEY TO BE"
480 PRINT"DEPOSITED FOR";INT(T*10+.5)/10;" YEARS"\PRINT
490 PRINT"PRESS ANY KEY TO CONTINUE"
495 INPUT Y$\REM IF Y$="" THEN 495
500 GOTO 50
510 REM\ INTEREST RATE
520  
530 PRINT"INTEREST RATE CALCULATIONS "\PRINT
540 INPUT"  AMOUNT TO BE COMPOUNDED";A$\A=VAL(A$)
550 INPUT"  FINAL AMOUNT ";V$\V=VAL(V$)
560 INPUT"  NUMBER OF YEARS ";T$\T=VAL(T$)
570 INPUT"  NUMBER OF PERIODS PER YEAR ";TY$\TY=VAL(TY$)\PRINT
580 I=((V/A)^(1/(TY*T))-1)*TY
590 PRINT"RATE OF RETURN IS";INT(I*1000+.5)/10;"% PER YEAR"\PRINT
600 PRINT"PRESS ANY KEY TO CONTINUE"
605 INPUT Y$\REM IF Y$="" THEN 605
610 GOTO 50
620 REM\ FUTURE VALUE
630  
640 PRINT"FUTURE VALUE"\PRINT
650 INPUT" AMOUNT OF MONTHLY DEPOSIT ";A$\A=VAL(A$)
660 INPUT" INTEREST RATE ";I\I=I/1200
670 INPUT" NUMBER OF YEARS ";T$\T=VAL(T$)*12\PRINT
680 FV=A/I*((1+I)^(T+1)-(1+I))
690 PRINT"$";INT(FV*100+.5)/100\PRINT
700 PRINT"PRESS ANY KEY TO CONTINUE"
705 INPUT Y$\REM IF Y$="" THEN 705
710 GOTO 50
720 REM\ REQUIRED PAYMENT
730 PRINT"REQUIRED PAYMENT"\PRINT
740 INPUT"  FINAL DESIRED AMOUNT ";FV$\FV=VAL(FV$)
750 INPUT"  INTEREST RATE ";I\I=I/1200
760 INPUT"  NUMBER OF YEARS ";T$\T=VAL(T$)*12\PRINT
770 A=(FV*I)/((1+I)^(T+1)-(1+I))
780 PRINT"$";INT(A*100+.5)/100;" MONTHLY PAYMENTS"\PRINT
790 PRINT"PRESS ANY KEY TO CONTINUE"
795 INPUT Y$\REM IF Y$="" THEN 795
800 GOTO 50
810 REM\ NUMBER OF PAYMENTS-SAVINGS
820  
830 PRINT"NUMBER OF PAYMENTS - LOAN"\PRINT
840 INPUT" AMOUNT TO BE FINANCED ";P$\P=VAL(P$)
850 INPUT" % INTEREST RATE ";I$\I=VAL(I$)/1200
860 INPUT" AFFORDABLE MONTHLY PAYMENT ";A$\A=VAL(A$)\PRINT
870 N=LOG(A/(A-P*I))/LOG(1+I)
880 PRINT"";INT(N+.5);" MONTHLY PAYMENTS"\PRINT
890 PRINT"PRESS ANY KEY TO CONTINUE"
895 INPUT Y$\REM IF Y$="" THEN 895
900 GOTO 50
910 REM\ MONTHLY LOAN PAYMENT
920  
930 PRINT"MONTHLY LOAN PAYMENT "\PRINT
940 INPUT"  AMOUNT TO BE FINANCED ";P$\P=VAL(P$)
950 INPUT"  % INTEREST RATE ";I\I=I/100
960 INPUT"  YEARS OF FINANCING ";N$\N=VAL(N$)*12\PRINT
970 A=P*(I/12)/(1-(1+(I/12))^-N)
980 PRINT"MONTHLY PAYMENT IS $";INT(A*100+.5)/100\PRINT
990 PRINT"PRESS ANY KEY TO CONTINUE"
995 INPUT Y$\REM IF Y$="" THEN 995
1000 GOTO 50
1010 REM\ LOAN BALANCE
1020  
1030 PRINT"LOAN BALANCE CALCULATIONS"\PRINT
1040 INPUT" AMOUNT TO BE FINANCED ";P$\P=VAL(P$)
1050 INPUT" % INTEREST RATE ";I$\I=VAL(I$)/1200
1060 INPUT" MONTHLY PAYMENT ";A$\A=VAL(A$)
1070 INPUT" BEGINNING PAYMENT NUMBER ";X$\X=VAL(X$)
1080 INPUT" ENDING PAYMENT NUMBER ";Y$\Y=VAL(Y$)\PRINT
1090 B=1/((I+1)^-Y)*((A*(((1+I)^-Y)-1))/I+P)
1100 PRINT"BALANCE AT END OF PAYMENT"
1110 PRINT"NUMBER";Y;" -- $";INT(B*100+.5)/100\PRINT
1120 AI=B-(1/((I+1)^-(X-1))*((A*(((1+I)^-(X-1))-1))/I+P))+(Y-X+1)*A
1130 PRINT"ACCUMULATED INTEREST AT THE END OF"
1140 PRINT"PAYMENT NUMBER ";Y;" -- $";INT(AI*100+.5)/100\PRINT
1150 PRINT"PRESS ANY KEY TO CONTINUE"
1155 INPUT Y$\REM IF Y$="" THEN 1155
1160 GOTO 50
1170 REM\ NUMBER OF PAYMENTS-LOAN
1180  
1190 PRINT"NUMBER OF PAYMENTS - SAVINGS"\PRINT
1200 INPUT" MONTHLY DEPOSIT ";A$\A=VAL(A$)
1210 INPUT" % INTEREST RATE ";I\I=I/1200
1220 INPUT" FINAL AMOUNT ";V$\V=VAL(V$)\PRINT
1230 N=(LOG(V*I/A+1+I)/(LOG(1+I))-1)
1240 PRINT"$";V;" WILL REQUIRE DEPOSITS OF"
1250 PRINT"$";A;" FOR ";INT(N);" MONTHS"\PRINT
1260 PRINT"PRESS ANY KEY TO CONTINUE"
1265 INPUT Y$\REM IF Y$="" THEN 1265
1270 GOTO 50
1280 REM\ LOAN AMOUNT
1290  
1300 PRINT"LOAN AMOUNT CALCULATIONS "\PRINT
1310 INPUT" NUMBER OF PAYMENTS DESIRED ";N$\N=VAL(N$)
1320 INPUT" % INTEREST RATE ";I\I=I/1200
1330 INPUT" AMOUNT OF MONTHLY PAYMENT ";A$\A=VAL(A$)\PRINT
1340 P=A*(1-(1+I)^-N)/I
1350 PRINT"YOU CAN (THEORETICALLY!) AFFORD TO"
1360 PRINT"BORROW $";INT(P*100+.5)/100\PRINT
1370 PRINT"PRESS ANY KEY TO CONTINUE"
1375 INPUT Y$\REM IF Y$="" THEN 1375
1380 GOTO 50
1390 REM\ SINKING FUND
1400  
1410 PRINT"SINKING FUND CALCULATIONS "\PRINT
1420 INPUT" AMOUNT TO BE ACCUMULATED ";P
1430 INPUT" % INTEREST RATE ";I\I=I/100
1440 INPUT" YEARS OF ACCUMULATION ";N$\N=VAL(N$)\PRINT
1450 A=P*I/(((1+I)^N)-1)
1460 PRINT"YEARLY DEPOSIT IS $";INT(A*100+.5)/100\PRINT
1470 PRINT"PRESS ANY KEY TO CONTINUE"
1475 INPUT Y$\REM IF Y$="" THEN 1475
1480 GOTO 50
1490 PRINT\PRINT"PROGRAM TERMINATED ON REQUEST."\END