1  REM ****  HP BASIC PROGRAM LIBRARY  ******************************
2  REM
3  REM       GKASSF: WARRANT PRICE CALCULATION
4  REM
5  REM       36514 REV A
6  REM
7  REM ****  CONTRIBUTED PROGRAM  ***********************************
8  REM *****   $GKASSF ******
9  REM COMPUTES THE 'NORMAL' PRICE OF A WARRANT, USING THE
10  REM   FORMULA ON P. 204 OF 'BEAT THE MARKET' BY KASSOUF
11  REM    AND THORPE
12  PRINT "COMMON STOCK PRICE";
13  INPUT X
14  PRINT "NUMBER OF SHARES PER WARRANT";
15  INPUT N
16  PRINT "EXERCISE PRICE";
17  INPUT E
18  REM -- ADJUST EXERCISE PRICE
19  E=E/N
30  PRINT "PREVIOUS YEAR'S HIGH FOR STOCK";
31  INPUT H
32  PRINT "PREVIOUS YEAR'S LOW FOR STOCK";
33  INPUT L
34  X2=.5*(H+L)
40  PRINT "MONTHS REMAINING BEFORE EXPIRATION";
41  INPUT T
42  PRINT "CURRENT YIELD (E.G. .05)";
43  INPUT R
50  PRINT "NUMBER OF OPTIONS OUTSTANDING";
51  INPUT N1
52  PRINT "NUMBER OF COMMON SHARES OUTSTANDING";
53  INPUT N2
54  REM -- COMPUTE RATIO OF SHARES 
55  D=(N*N1)/N2
60  REM -- COMPUTE RATIO OF COMMON TO EXERCISE PRICE
61  X1=X/E
90  REM -- COMPUTE VALUES
100  Z=1.307
110  Z=Z+5.355/T
120  Z=Z+14.257*R
130  Z=Z+.298*D
140  Z=Z+1.015*LOG(X/X2)
150  Z=Z+.405*X1
200  REM -- Z IS COEFFICIENT
205  X=X/E
210  REM -- COMPUTE X^Z
220  X9=EXP(Z*LOG(X))
230  REM -- COMPUTE LOG(1+Y)
240  Y1=(LOG(X9+1))/Z
250  REM -- COMPUTE 1+Y
260  Y2=EXP(Y1)
270  REM -- COMPUTE Y
280  Y=Y2-1
300  REM -- COMPUTE "CORRECT" PRICE FOR WARRANT
310  P9=N*Y*E
400  PRINT LIN(2);"'NORMAL' WARRANT PRICE =";P9
410  REM -- COMPUTE X^Z
411  X1=EXP(Z*LOG(X))
420  REM -- COMPUTE X^(Z-1)
421  X2=EXP((Z-1)*LOG(X))
430  REM -- COMPUTE FIRST FACTOR
431  F1=EXP(((1/Z)-1)*LOG(X1+1))
440  REM -- COMPUTE DY/DX
441  D=F1*X2
450  PRINT "'NORMAL' CHANGE IN WARRANT PRICE PER DOLLAR CHANGE IN STOCK "
451  PRINT "    PRICE = ";N*D
900  END 
