image of READY prompt

Wang2200.org

Listing of file='3B' on disk='vmedia/glbr_22.wvd.zip'

# Sector 546, program filename = '3B'
0010 INPUT "ENTER SETTLEMENT DATE IN THE FORM MMDDYY",S
0020 INPUT "ENTER COUPON (%)",C
0030 INPUT "ENTER MATURITY DATE IN THE FORM MMDDYY",M
0040 INPUT "ENTER $ PRICE",Y
0050 INPUT "ENTER INCREMENT VALUE",I
0060 PRINT HEX(03);
0070 PRINT "                YIELD TO  $ PRICE TO"
0080 PRINT "                MATURITY    MATURITY"
0090 I1=5*I
   : Y=Y-I1
0100 S1=INT(S/10000)
   : S2=INT((S-S1*10000)/100)
   : S3=S-(S1*10000)-(S2*100)
0110 M1=INT(M/10000)
   : M2=INT((M-M1*10000)/100)
   : M3=M-M1*10000-M2*100
0120 IF M3>S3THEN 130
   : M3=M3+100
0130 D=360*(M3-S3)+30*(M1-S1)+M2-S2
0140 %      ##        ####.###    ####.###
0150 P1=Y
0160 FOR K=1TO 11
0170 R=100
   : G=D
   : GOSUB 320
   : Y=B
0180 PRINTUSING 140,K,Y,P1
0190 P1=P1+I
   : NEXT K
   : PRINT HEX(0C0C);
   : STOP
0200 IF G>=14491 THEN 220
0210 T1=G/30-INT(G/30)
   : N=INT(G/30)/6
   : T=N-INT(N)
   : N=INT(N)
   : GOTO 230
0220 N=INT(G/180)
   : T=0
   : T1=G/180-N
0230 GOSUB 290
   : A=F1
0240 IF G<=14490THEN 250
   : N=N+1
   : GOTO 260
0250 T=T+1/6
   : GOSUB 290
   : T=T-1/6
   : GOTO 270
0260 GOSUB 290
0270 P=INT((A+T1*(F1-A))*1000+.5)/1000
0280 RETURN
0290 F1=C*(T-1)/2+(R+(100*C/Y)*((Y/200+1)^(N+1)-1))/((Y/200+1)^(N+T))
0300 F1=INT(F1*1000)/1000
0310 RETURN
0320 Y=5
   : A1=1
0330 GOSUB 200
   : F1=P
0340 F1=F1-P1
0350 GOSUB 440
0360 B=Y-F1/F2
0370 Z=B
0380 Y=INT(Y*1000+.5)/1000
0390 B=INT(B*1000+.5)/1000
0400 IF B=Y THEN 430
0410 Y=Z
   : A1=A1+1
   : IF A1<12 THEN 330
0420 STOP "PRICE TO YIELD DOES NOT CONVERGE"
0430 RETURN
0440 X=(Y/200+1)^(-1*(N+T))
0450 X1=((100*C/Y)*((N+1)/200)*(Y/200+1)^N)-((100*C/Y^2)*((Y/200+1)^(N+1)-1))
0460 X=X*X1
0470 X1=R+(100*C/Y)*((Y/200+1)^(N+1)-1)
0480 X2=((N+T)/200)*(Y/200+1)^(-1*(N+T+1))
0490 X1=X1*X2
0500 F2=X-X1
0510 RETURN