home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
MISC
/
FINANCE
/
INVEST.LBR
/
CBOND.BZS
/
CBOND.BAS
Wrap
BASIC Source File
|
2000-06-30
|
2KB
|
53 lines
10 REM AAII PROGRAM 2--BOND YIELDS LAST REVISED 9/01/82
20 DIM M(2),N(2)
30 PRINT CHR$(26)
40 PRINT "BOND YIELDS TO MATURITY"
50 PRINT "FIGURES IN ( ) ARE EXAMPLES OF INPUT FORM"
60 PRINT "CURRENT PRICE PER $100 (89.50)"
70 INPUT I1
80 I1 = INT(I1 * 1000 + .5) / 1000
90 PRINT "ANNUAL COUPON % (8.50)"
100 INPUT C1
110 PRINT "NUMBER YEARS, + MONTHS TO MATURITY (20,2)"
120 INPUT Y1,M1
130 T1 = Y1 + M1 /12
140 PRINT "MARGINAL TAX RATE-ORDINARY-%(50)"
150 INPUT M(2)
160 PRINT "MARGINAL TAX RATE-CAPITAL-%(20)"
170 INPUT N(2)
180 PRINT:PRINT " PLEASE WAIT FOR CALCULATIONS TO BE COMPLETED":PRINT
190 M(2) = 1 - M(2) / 100
200 N(2) = 1 - N(2) / 100
210 M(1) = 1
220 N(1) = 1
230 K = 1
240 L1 = 0
250 H1 = (C1 / I1 + (100 - I1) / ( T1 * 100)) * 1.2
260 R2 = 0
270 R1 = (L1 + H1) / 2
280 IF R1 = R2 THEN 440
290 R2 = R1
300 P1 = 0
310 FOR J = 1 TO Y1
320 P1 = P1 + (C1 * M(K)) / (R1 + 1) ^ J
330 NEXT J
340 P1 = P1 + ((M1 / 12) * C1 * M(K)) / (R1 + 1) ^ T1
350 P1 = P1 + (I1 + N(K) * (100 - I1)) / (R1 + 1) ^ T1
360 P1 = INT(P1 * 1000 + .5) / 1000
370 IF P1 = I1 THEN 430
380 IF I1 > P1 THEN 410
390 L1 = R1
400 GOTO 270
410 H1 = R1
420 GOTO 270
430 R1 = INT(R1 * 10000 + .5) /100
440 IF K = 2 THEN 490
450 PRINT "PRETAX YIELD TO MATURITY=";R1;"%"
460 PRINT
470 K = 2
480 GOTO 240
490 PRINT "AFTER TAX YIELD TO MATURITY=";R1;"%"
500 PRINT:PRINT:PRINT "WANT TO RUN BOND YIELD AGAIN? (YES OR NO)";
510 INPUT L1$:IF MID$(L1$,1,1) = "Y" THEN GOTO 30
530 END
00 PRINT:PRINT:PRINT "WANT T