ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

96 lines
3.7 KiB

  1. 10 CLS
  2. 20 PRINT" BONDS":PRINT
  3. 30 PRINT"WHEN CONSIDERING THE VALUE OF BONDS ITEMS WHICH SHOULD
  4. 40 PRINT"BE CONSIDERED INCLUDE YIELD TO MATURITY,TIME TO MATURITY
  5. 50 PRINT"MATURITY VALUE, CURRENT VALUE, AND COUPON INTEREST RATE.
  6. 60 PRINT"GIVEN ANY FOUR OF THE ABOVE THIS PROGRAM WILL COMPUTE THE
  7. 70 PRINT"FIFTH. IN ADDITION,IF DESIRED INCOME TAXES,CAPITAL GAINS
  8. 80 PRINT"TAXES AND COMMISSIONS MAY BE CONSIDERED.":PRINT
  9. 90 INPUT"PRESS ENTER TO BEGIN";Z9
  10. 1000 REM DATA INPUT
  11. 1010 CLS:GOSUB 6000
  12. 1020 CLS
  13. 1030 PRINT"ENTER THE NUMBER OF THE VARIABLE TO BE COMPUTED "
  14. 1035 PRINT
  15. 1040 PRINT"1.CURRENT PRICE PLUS COMMISSION
  16. 1050 PRINT"2.MATURITY VALUE OF THE BOND
  17. 1060 PRINT"3.COUPON INTEREST RATE
  18. 1070 PRINT"4.YIELD TO MATURITY OF THE BOND
  19. 1080 PRINT"5.LENGTH OF TIME TO MATURITY
  20. 1100 PRINT:INPUT"MAKE CHOICE";CC
  21. 1110 ON CC GOSUB 1200,1300,1400,1500,1600
  22. 1120 IF CC<1 OR CC>5 OR CC<>INT(CC) THEN GOSUB 10000:GOTO 1000
  23. 1130 CLS:GOSUB 6500:REM PRINTOUT
  24. 1199 GOTO 1000
  25. 1200 REM CURRENT PRICE PLUS COMMISSION
  26. 1210 T1=((1+I)[J-(1+I)[(-N))/I:T2=C*MAT*(1-TAX)*T1
  27. 1220 T3=MAT*(1-CGT)/(1+I)[N-J*C*MAT*(1-TAX)
  28. 1230 B1=(T2+T3)/(1-CGT/(1+I)[N)
  29. 1240 RETURN
  30. 1300 REM MATURITY VALUE OF BOND
  31. 1310 T1=C*(1-TAX)*((1+I)[J-(1+I)[(-N))/I
  32. 1320 T2=(1-CGT)/(1+I)[N:T3=J*C*(1-TAX)
  33. 1330 T4=(BUY+CBUY)*(1-CGT/(1+I)[N)
  34. 1340 MAT=T4/(T1+T2-T3)
  35. 1350 B1=BUY+CBUY
  36. 1360 RETURN
  37. 1400 REM COUPON INTEREST RATE
  38. 1410 T1=((1+I)[J-(1+I)[(-N))/I:T2=T1*MAT*(1-TAX)
  39. 1420 T3=(MAT-(MAT-(BUY+CBUY))*CGT)/(1+I)[N:T4=J*MAT*(1-TAX)
  40. 1430 C=(BUY+CBUY-T3)/(T2-T4)
  41. 1440 RETURN
  42. 1500 REM YIELD TO MATURITY
  43. 1505 I=.1
  44. 1510 T1=BUY+CBUY+J*C*MAT*(1-TAX)
  45. 1520 T2=C*MAT*(1-TAX):T3=((1+I)[J-(1+I)[(-N))/I
  46. 1525 T4=MAT-(MAT-(BUY+CBUY))*CGT:T5=(1+I)[(-N)
  47. 1530 F=T1-T2*T3-T4*T5
  48. 1535 IF ABS(F)<.2 THEN RETURN
  49. 1538 T6=I*((J*(1+I)[(J-1)+N*(1+I)[(-N-1)))-(1+I)[J+(1+I)[(-N)
  50. 1540 T7=T6/I[2:T8=-N*(1+I)[(-N-1)
  51. 1545 D=-T2*T7-T4*T8
  52. 1550 I=I-F/D:GOTO 1510
  53. 1600 REM LENGTH OF TIME TO MATURITY
  54. 1610 T1=BUY+CBUY+J*C*MAT*(1-TAX):T2=C*MAT*(1-TAX)*(1+I)[J/I
  55. 1620 T3=T1-T2:REM T3=NUMERATOR
  56. 1630 T4=(MAT-(MAT-(BUY+CBUY))*CGT)
  57. 1635 T8=T2/(1+I)[J
  58. 1640 T5=T3/(T4-T8):T6=LOG(T5)/LOG(1+I):T7=-T6
  59. 1650 N=T7
  60. 1660 RETURN
  61. 6000 REM DATA INPUT SUBROUTINE
  62. 6002 CLS:PRINT"INPUT THE FOLLOWING AMOUNTS.PRESS ENTER WHEN AN
  63. 6004 PRINT"ITEM WILL BE COMPUTED. INPUT 0 IF AN ITEM IS
  64. 6006 PRINT"NOT TO BE CONSIDERED.POSSIBLE FIELDS FOR
  65. 6008 PRINT"NONCONSIDERATION ARE COMMISSION, CAPITAL GAINS
  66. 6009 PRINT"AND INCOME TAX RATES.":PRINT
  67. 6010 INPUT"PURCHASE PRICE PER BOND ";BUY
  68. 6020 INPUT"COMMISSION PER BOND ";CBUY
  69. 6030 INPUT"MATURITY VALUE ";MAT
  70. 6035 INPUT"NUMBER OF INTEREST PAYMENTS PER YEAR ";N1
  71. 6040 INPUT"NUMBER OF PAYMENT PERIODS TO MATURITY ";N
  72. 6050 INPUT"ANNUAL COUPON INTEREST RATE(%) ";C
  73. 6060 INPUT"ANNUAL YIELD TO MATURITY ";I
  74. 6070 INPUT"CAPITAL GAINS TAX RATE ";CGT
  75. 6080 INPUT"INCOME TAX RATE ";TAX
  76. 6090 J=1-(N-INT(N)):C=C/100:I=I/100:CGT=CGT/100:TAX=TAX/100
  77. 6092 C=C/N1
  78. 6099 RETURN
  79. 6500 REM PRINTOUT
  80. 6505 C=100*C:I=100*I:CGT=100*CGT:TAX=100*TAX
  81. 6506 C=C*N1
  82. 6510 CLS:PRINT:PRINT:PRINT
  83. 6520 PRINT"1.CURRENT PRICE PLUS COMMISSION :";B1
  84. 6530 PRINT"2.MATURITY VALUE OF THE BOND :";MAT
  85. 6540 PRINT"3.ANNUAL COUPON INTEREST RATE :";C
  86. 6550 PRINT"4.ANNUAL YIELD TO MATURITY OF BOND :";I*N1
  87. 6560 PRINT"5.LENGTH OF TIME TO MATURITY(PERIODS) :";N
  88. 6570 PRINT"6.INCOME TAX RATE :";TAX
  89. 6580 PRINT"7.CAPITAL GAINS TAX RATE :";CGT
  90. 6585 PRINT"8.NUMBER OF INTEREST PAYMENTS PER YEAR :";N1
  91. 6590 PRINT:INPUT"PRESS ENTER FOR MORE COMPUTATION ";Z9
  92. 6595 IF Z9 = -1 THEN END
  93. 6599 RETURN
  94. 10000 PRINT"INPUT ERROR! TRY AGAIN!":FOR JJ=1 TO 300:NEXT:RETURN
  95. 10100 INPUT"PRESS ENTER TO CONTINUE";Z9:RETURN