by James Thomas Lee, Jr. 12/25/97 Copyrighted 1995 by James Thomas Lee, Jr. Copyright Number: XXx xxx-xxx
INPUT "Enter annual interest rate earned before (xx.x%):"; ai
ai = ai / 1200
INPUT "Enter annual interest rate earned after (xx.x%):"; ak
ak = ak / 1200
INPUT "Enter annual estmd inflation rate before (xx.x%):"; aj
aj = aj / 100
INPUT "Enter annual estmd inflation rate after (xx.x%):"; al
al = al / 100
INPUT "Enter your current age (xx):"; ic
INPUT "Enter your planned retirement age (xx):"; ir
INPUT "Enter your current savings ($xxxxxxx.xx):"; cs
PRINT "Enter your monthly disposable income ($xxxxx.xx):"
INPUT " recommend using 70% of current salary]"; di
PRINT "In retirement year dollars,"
PRINT " enter other retirement funds ($xxxxx.xx):"
INPUT " [i.e., Social Security, Pensions, etc]"; rf
INPUT "Enter planned number years in retirement (xx):"; iy
REM compute f = (e)(h)(k)
e = 1 / (1 + ak) ^ (12 * iy - 1)
h1 = ((1 + ak) ^ 12 - 1) / ak
k1 = (1 + ak) ^ (12 * iy) - (1 + al) ^ iy
k2 = (1 + ak) ^ 12 - (1 + al)
k = k1 / k2
f = e * h1 * k
REM compute g = (h)(m)
h2 = ((1 + ai) ^ 12 - 1) / ai
m1 = (1 + ai) ^ (12 * (ir - ic)) - (1 + aj) ^ (ir - ic)
m2 = (1 + ai) ^ 12 - (1 + aj)
m = m1 / m2
g = h2 * m
REM compute n
n = cs * (1 + ai) ^ (12 * (ir - ic))
REM compute r
r1 = (di * (1 + aj) ^ (ir - ic) - rf) * f - n
r2 = g + e * h1 * k * (1 + aj) ^ (ir - ic)
r = r1 / r2
IF (r < 0) THEN r = 0
REM print bms, lo, and ts
PRINT ""
PRINT ""
PRINT "Start out saving in the first month: $";
PRINT USING "#######.##"; r
PRINT "Amount left over for you: $";
PRINT USING "#######.##"; di - r
PRINT "Total savings in '";
PRINT USING "##"; ir - ic;
PRINT "' years will be: $";
PRINT USING "#######.##"; r * g + n
REM open a file for output
OPEN "fin_data" FOR OUTPUT AS #1
PRINT #1, " RETIREMENT INPUT DATA"
PRINT #1, "Annual interest rate earned before (xx.x%): ";
PRINT #1, USING "##.#"; ai * 1200;
PRINT #1, " %"
PRINT #1, "Annual interest rate earned after (xx.x%): ";
PRINT #1, USING "##.#"; ak * 1200;
PRINT #1, " %"
PRINT #1, "Annual estimated inflation rate before (xx.x%): ";
PRINT #1, USING "##.#"; aj * 100;
PRINT #1, " %"
PRINT #1, "Annual estimated inflation rate after (xx.x%): ";
PRINT #1, USING "##.#"; al * 100;
PRINT #1, " %"
PRINT #1, "Your current age (xx): "; ic
PRINT #1, "Your planned retirement age (xx): "; ir
PRINT #1, "Your current savings ($xxxxxxx.xx): $";
PRINT #1, USING "#######.##"; cs
PRINT #1, "Your monthly disposable income ($xxxxx.xx): $";
PRINT #1, USING "#######.##"; di
PRINT #1, "In retirement year dollars, other"
PRINT #1, " retirement funds ($xxxxx.xx): $";
PRINT #1, USING "#######.##"; rf
PRINT #1, "Planned number years in retirement (xx): "; iy
PRINT #1, " "
PRINT #1, " OUTPUT RESULTS"
PRINT #1, "Start out saving in the first month: $";
PRINT #1, USING "#######.##"; r
PRINT #1, "Amount left over for you: $";
PRINT #1, USING "#######.##"; di - r
PRINT #1, "Total savings in ";
PRINT #1, USING "##"; ir - ic;
PRINT #1, " years will be: $";
PRINT #1, USING "#######.##"; r * g + n
PRINT #1, " "
PRINT #1, " SAVINGS CYCLE"
PRINT #1, " AGE BEGINNING SAVINGS SAVINGS/MONTH ENDING SAVINGS LEFT OVER"
s1 = cs
s2 = r
s4 = di - r
FOR i = ic TO ir - 1
s3 = s1 * (1 + ai) ^ 12 + s2 * ((1 + ai) ^ 12 - 1) / ai
PRINT #1, " ";
PRINT #1, USING "##"; i;
PRINT #1, " $";
PRINT #1, USING "#######.##"; s1;
PRINT #1, " $";
PRINT #1, USING "#######.##"; s2;
PRINT #1, " $";
PRINT #1, USING "#######.##"; s3;
PRINT #1, " $";
PRINT #1, USING "#######.##"; s4
s1 = s3
s2 = s2 * (1 + aj)
s4 = s4 * (1 + aj)
NEXT i
PRINT #1, ""
PRINT #1, " WITHDRAWAL CYCLE"
PRINT #1, " AGE BEGINNING SAVINGS WITHDRAWAL/MONTH ENDING SAVINGS"
REM if r equals 0, then compute monthly withdrawal (s4) based on
REM the ending savings balance (s3)
s4 = s3 / f
FOR i = ir TO ir + iy - 1
s3 = s1 * (1 + ak) ^ 12
s3 = s3 - s4 * (1 + ak) * ((1 + ak) ^ 12 - 1) / ak
PRINT #1, " ";
PRINT #1, USING "##"; i;
PRINT #1, " $";
PRINT #1, USING "#######.##"; s1;
PRINT #1, " $";
PRINT #1, USING "#######.##"; s4;
PRINT #1, " $";
PRINT #1, USING "#######.##"; s3
s1 = s3
s4 = s4 * (1 + al)
NEXT i
PRINT #1, ""
PRINT #1, ""
PRINT #1, "NOTE that the monthly retirement pension was not included"
PRINT #1, " in the above WITHDRAWAL/MONTH amount. That pension should be"
PRINT #1, " added into the monthly amount to be withdrawn."
PRINT #1, ""
CLOSE #1
STOP
END
Send email to: tlee6040@aol.com