

                     Your Financial Partner
                         Version 3.1CPP
                        February 5, 1993
               (c) 1986 - 1993, Marc R. Feldesman 
                      & Flying Pig Software
                       All Rights Reserved


     "Your Financial Partner" grew out of frustration with the
complexity and expense of many of today's financial management
programs.  There is nothing in "Your Financial Partner" that an
enterprising user, armed with a solid knowledge of spreadsheet
macro programming, couldn't do in spreadsheets like Lotus 1-2-3,
Quattro Pro, or Excel.  However, "Your Financial Partner" computes
answers to common financial questions in an easy to use format.  My
idea was to produce a simple, menu-driven, self-documenting,
"Shareware" program that would address most of the financial
questions that ordinary people pose.  

     Version 3.0CPP represented the first major revision of "Your
Financial Partner" since 1989.  The program was completely
rewritten in C++ and sports a new user interface that makes better
use of color and windows; it also supports a mouse.  New financial
calculations include a substantially expanded set of loan functions
with a handy loan calculator that also doubles as an annuity
calculator, improved loan refinancing and loan acceleration
analysis, enhanced future value functions, and a new set of bond
calculations.  Version 3.1 adds a function to calculate the
annualized yield on investments.   This restores the Internal Rate
of Return function, present in version 2.29, but dropped from
Version 3.0CPP.  The new IRR function, tailored specifically for
security yields,  allows annualized yield calculations to be
computed on time periods as short as 1 day, and handles up to 24
positive and negative cash flows.  Version 3.1CPP continues to be
largely self-documenting; the manual that follows is intended to
supplement the program and provide information about possible
financial circumstances where specific functions might be useful.

Shareware:

     "Your Financial Partner" is distributed as "Shareware". 
"Shareware" is a class of software that is made accessible through
various media (local and national bulletin boards, friends,
commercial vendors) on a "try before you buy" basis.  It is not
free software nor is it public domain.  What distinguishes
"Shareware" from "Freeware" is that we "Shareware" authors expect
to be compensated for our work, unlike "Freeware" authors who make
their programs available with no expectation of compensation. 
"Shareware" authors are neither altruists nor fools.  We believe
that the myriad of available software packages (public domain,
freeware, shareware, and commercial) make it nearly impossible to
determine in advance whether a particular package meets your needs. 
With "Shareware" you have the opportunity to "try before you buy." 
A fully functional version of "Your Financial Partner" is thus made
available for your evaluation for a reasonable length of time (30
days).  If, at the end of this 30-day trial period, you find that
it meets your needs, you are expected to register the program by
mailing in the registration form along with the proper registration
fee ($29.95) to the address listed in the back of this manual. If
"Your Financial Partner" does not meet your needs, you are expected
to erase the program from your disks and discontinue using it. 
Whether you register the program or not you are free to share this
program with others provided that the entire program and its
documentation in its original compressed form are made available.

Hardware Requirements:

     The program requires an IBM-compatible computer (PC, XT, AT,
386, or 486) with MS DOS 3.3 or higher, a minimum of 384K of RAM,
and a floppy disk drive.  A printer is optional; however, if you
want hard-copy of any of the program's output, you will need a
printer.  The program makes no special demands on the printer.  Any
80-column text printer will do.

     For those who use Windows as their primary operating system,
"Your Financial Partner" will run as a DOS program under Windows
3.1.  It runs successfully both in the foreground and in the
background.  It has not been tested with Windows 3.0; however since
it makes no Windows calls, there is no reason why it shouldn't run
under any version of Windows (or OS/2).  

Program Installation and Operation:

     The program is distributed as a self-extracting archive file
created using the public domain program LHA.  The archive is called
FINPART3.EXE.  While version 3.1CPP will run from a 360K floppy
diskette, both the compressed file and the decompressed executable
program cannot fit on a single 360K floppy diskette.  Therefore, to
extract the executable version of "Your Financial Partner"
(FINPART.EXE) you need to copy FINPART3.EXE to a diskette with a
formatted capacity greater than 360K (i.e. 720K, 1.2MB, or 1.44MB)
or to a hard disk (preferably in its own subdirectory) and type
FINPART3 [enter].  This will cause the extraction routine to unpack
Financial Partner's executable program (FINPART.EXE) and its
documentation.  Once you have unpacked the program, it is ready to
run.

     To use "Your Financial Partner,"  you must either be in the
disk directory where the program resides, or you must have the
Financial Partner directory in your directory path.  Once this is
done, you simply type FINPART [enter] from the command line and the
opening credits will appear.

     If you wish to use "Your Financial Partner" with a printer,
you need to know that it assumes a printer is attached to LPT1:
(printer port #1).  If you have a printer attached to LPT2:, you
must run the program as follows:

          FINPART /2 [enter].  

This tells the program to look for a printer attached to LPT2:
rather than LPT1:.

     For your information, "Your Financial Partner" opens no files
and does not write anything to a diskette.  If you find a version
that causes your disk drive light to come on after the program is
loaded, you have a bogus copy and you should take suitable
precautions.

General Information:

     "Your Financial Partner" performs 6 major categories of
financial calculations, plus several useful financial utility
functions.  The main menu displays the general categories.  To move
from choice to choice on the menus, use the up and down arrow keys,
the mouse, or the highlighted letter on the menu item.  When you
are positioned at your choice press the enter key or click the left
mouse button.  This will transfer control to the submenu that
actually contains the associated financial analyses.  If at any
point in the process you wish to return to the main menu, the ESC
key is your path back.

     Every function requires user input.  In writing the program I
made every effort to protect you from yourself:  you cannot enter
an implausible or illegal value.  There are two levels of error
trapping.  First, all user-entered input must be numeric. 
Therefore the moment you enter a non-numeric character (except '.'
or '-') the computer will beep and erase your entire entry. 
Second, each input field is validated to ensure that it falls
within the preprogrammed limits.  Thus, for example, you cannot
enter an interest rate larger than 99.99%, or a loan amount greater
than $99999999.99.  Two factors governed these limits (a)
limitations of numeric representation and (b) implausibility of
certain combinations (e.g. 200 year annuity with 3000 payment
periods per year).  The program will not permit you to go to the
next cell until you provide an acceptable entry in the current
cell.  (Note:  the program uses bank years [360 days] for
calculations involving "daily" compounding.  This was a small, but
relatively insignificant, compromise, needed to keep life simpler
for me).

     Additional information appears at the bottom of the screen
with every item that requires user input.  This help line is
provided to clarify the entry prompt, and, where relevant, to
detail the range of acceptable values.

     Several of the routines require you to choose whether
deposits, withdrawals, or payments occur at the beginning or end of
the period.  Most annuities and loans are paid at the end of the
period; in most savings plans deposits are made at the beginning of
the period.  "Your Financial Partner" allows you to make this
determination for yourself everywhere except loans.  

     All routines follow a common path.  When you have finished
entering data and are satisfied with your entries, the results will
appear after you press CTRL-ENTER (the calculation key).  Before
the computer performs the calculations, you are given the option to
print the results to the screen or to the printer. Once you choose
where you want the output to go, the results will appear nearly
instantaneously on the screen, or momentarily at the printer.

     Once the output has reached its destination, you will be given
the option to repeat the procedure using different values, or to
return to the main menu.


Main Menu:

     Aside from the "Quit" function, the main menu displays 7
functional choices.  These are:

          1. Future Value of Investment
          2. Minimum Savings For Future Value
          3. Withdrawal From an Investment
          4. Present Value of Future Payments
          5. Loan Calculations
          6. Bond and Security Calculations
          7. Utilities


(1)  Future Value of Investment.

     This function has a submenu with 5 different Future Value
calculations.  These include:

          1. Future Value Based on Periodic Deposit
          2. Future Value Based on Lump Sum Deposit
          3. Lump Sum Deposit Followed By Periodic Deposit
          4. Periods For PV to Reach FV at Given Interest Rate
          5. Interest Rate for PV to Grow to FV in N Periods

     These functions address the following questions:  If I invest
a certain amount of money (periodically, as a lump sum, or both)
into an account paying a fixed interest rate compounded at regular
intervals, how much money will I accumulate after some interval of
time.  Alternately, it answers the questions of how long it will
take for a sum of money to reach a new value given a particular
interest rate, or what interest rate would be required to achieve
a certain rate of return over a given interval of time.

(2)  Minimum Savings for Future Value.

     This function has 2 items on its submenu.  They are:

          1. Regular Deposits Needed For Future Value
          2. Single Deposit Needed For Future Value

     This function is devoted to addressing the following problem. 
Suppose you have a 6 year old child who you want to send to college
at age 18.  You haven't started a savings program yet, but you
figure that four years of college will cost about $40,000 twelve
years from now.  Your question is:  How much per month (or any
other period) will I have to put away on a regular basis (or all at
once now) to accumulate $40,000 by the time my child is ready for
college?  By the way, at 6% interest, you would need to put aside
$190.34 monthly for 12 years to accumulate $40,000 by the time your
child is 18; alternatively at the same interest rate you would need
to deposit $19505.05 today to have accumulated $40,000 by the time
your child turns 18.

(3)  Withdrawal from an Investment

     There are three items on the submenu for this function.  These
are:

          1. Regular Deposits-Regular Withdrawals at Future Date
          2. Lump Sum Deposits. Regular Withdrawals N Years Later
          3. Regular Deposits Needed For Desired Regular Withdrawal
     
     Consider the following problem.  Suppose you are planning to
retire 20 years from now.  On January 1, 1993 you get a pay raise
(or a bonus on December 31, 1992) that you are able to invest. 
Your question is:  if I invest this money on a regular (or lump
sum) basis from now until I retire, how much will I be able to
withdraw on a regular basis when I retire before I run out of
money.  (If you simply want to know how much you'll have after 20
years you can use the Future Value of An Investment function 1.2). 

     The first two functions require two input screens each.  The
first screen is needed to calculate how much money will accumulate
before you can start to withdraw it.  The second is needed to
determine both the period over which withdrawals will take place,
and the frequency of withdrawals.

     The third function approaches the problem in a slightly
different way.  Here our interest is in determining the best way to
obtain a specific amount to withdraw over some period of time. 
This is not useful for perpetuities (i.e. Social Security or a
typical pension plan where withdrawals take place over an
indefinite period of time). 

     If you are interested in determining how many periods it takes
to exhaust a particular amount given withdrawals of a fixed amount
at a fixed interest rate, use the loan calculator (see function 5.1
below).  A loan is a negative annuity in which the bank loans you
money at a specific interest rate for a fixed period of time, to be
paid back (amortized) by fixed amounts periodically.  Withdrawing
money as an annuity is the same problem as a loan, but in reverse. 
In this case you are loaning the bank money (your nest egg), which
they will pay back to you at a specific interest rate for a fixed
period of time. 

(4)  Present Value of Future Payments

     There are two functions in this submenu.  They are:

          1. Lump Sum Future Payment, Present Value
          2. Fixed Series Future Payments, Present Value

     Suppose you win the Oregon Lottery.  You might be given the
choice of receiving $200,000 per year for 20 years, or a check now
for $2,000,000.  Which is the better deal?  Most of us won't ever
face this choice; however we might face the following choice:  When
you retire, your pension plan may give you the option of taking
your retirement income as a lump sum, as an annuity for a fixed
length of time, or as a perpetuity.  This pair of functions enables
you to determine the best strategy to the pension problem.  It
computes the Present Value of an Investment that pays a specified
amount in the future, either as a lump sum or as an annuity.  More
specifically, it provides the present value of a lump sum to be
paid at a definite time in the future, or the present value of a
series of payments beginning now and continuing to a definite time
in the future.  (It does not deal with perpetuities).  
 
     By the way, at today's paltry interest rates (say 2.75%) the
present value of $200,000 per year for 20 years is more than $3
million.  In other words, the lottery would have to pay you a lump
sum in excess of $3 million before the lump sum would be a good
deal.  If you thought you could get at least 10% on your
investment, the $2 million lump sum settlement would be a better
deal since the present value of the $200,000 per year for 20 years
at 10% is only $1.7 million.

(5)  Loan Calculations

     There are 7 items on the Loan Calculation submenu.  These are:

          1. Loan Calculator
          2. Payments for Different Interest Rates - Comparison
          3. Loan Amount for Given Periodic Payment
          4. Amortization Schedule
          5. Current Loan Balance
          6. Accelerated Amortization - Payoff Loan Early
          7. Refinance a Loan


     This section is, by far, the most extensive part of "Your
Financial Partner."  Most people at some time in life secure a loan
of one type or another.  These 7 loan functions enable the user to
address almost any loan question imaginable.  

     Six pieces of information are needed to render a loan fully. 
These are:  (a) Loan Amount; (b) Nominal Interest Rate; (c) Payment
Frequency; (d) Duration of Loan; (e) Payment Amount (f) Interest
Compounding Frequency.   Of these 6, items (a), (b), (d), and (e)
are free to vary somewhat, while items (c) and (f) are important
but typically constrained by external factors.  The Loan Calculator
(Function 5.1) enables the user to enter any three of the four
freely varying items (a, b, d, e), and the program will
automatically calculate the fourth item.  The Payment Frequency
(item c) cannot be omitted, while the interest compounding
frequency (item f) is, for simplicity, assumed to be the same as
the payment frequency.  Thus, you can enter the Loan Amount, the
Nominal Interest Rate, and desired Payment Amount, and "Your
Financial Partner" will calculate the number of payments required
to fully amortize the loan.  Similarly, you can enter the Loan
Amount, the Loan Duration, and the desired Payment Amount and "Your
Financial Partner" will calculate the interest rate needed to fully
amortize the loan under those conditions.  The Loan Calculator will
compute the missing value in each of the four instances where one
of the four key variables is left out.  If no information is left
out, or if more than one variable is left out, you will encounter
an error message.

     As noted above, the Loan Calculator is not limited to use with
loans.  If you understand the relationship between a loan and an
ordinary annuity (a loan is simply a negative ordinary annuity),
the loan calculator can also be used as an annuity calculator. 
Consider, for example, that you have $130,000 in an IRA when you
retire.  The IRA is paying a nominal 6% annum interest.  You have
retired and want to begin withdrawing $1000 per month.   How long
will the money last at this rate?  To use the Loan Calculator for
this question make the $130,000 the Loan Amount, $1000 per month
the payment amount, and 6% the interest rate.  The missing quantity
(Loan Duration) is the value you're looking for.  This will be
calculated when you press the calculate key.  By the way, the money
would last for 17.541 years (210 full months at $1000 per month,
and a final payout of $459).   

     Often you are concerned with determining the effect of
interest rate fluctuations on payment amounts.  Function 5.2
provides you with a comparison of payments for a given loan amount
over a range of +-1% (in 0.25% intervals).  

     How many times have you wondered how much house you could
afford if you could only manage a 30-year mortgage with $750 per
month in principal and interest payments?  What happens to the
affordability of a home if interest rates change?  Function 5.3
provides  you with a comparison of Loan Amounts for a fixed
periodic payment at interest rates over a range of +-1% (in 0.25%
intervals).

     Function 5.4, the Amortization Schedule, provides a full
payment schedule for any loan.  It reports the amount of every
payment apportioning the proper amounts to principal reduction and
to interest, and provides a running loan balance after each payment
is made.  [You should beware that the outstanding balances
calculated after any specific payment may differ from the actual
outstanding balance reported by your bank.  "Your Financial
Partner" assumes that you make your payments at exactly equal
intervals.  Your bank computes interest charges daily and
calculates your balance based on the exact number of days that
elapse between each periodic payment.]

     Function 5.5 calculates the outstanding balance on a loan
after any given periodic payment has been made.  There is nothing
in Function 5.5 that can't be obtained from the full amortization
schedule (Function 5.4); however users may simply wish a quick loan
balance without going through the trouble of a full amortization
schedule.  

     Suppose you have a home loan at 8.5% interest that has 20
years before it is fully amortized (paid off).  You are due to
retire in 12 years and you would like to pay the loan off by the
time you retire.  What is the best way to do this?  How much money
will you save over the long run by doing so?  Aside from writing a
check today for the balance due, there are really only three
regular ways to accelerate the payoff of the loan.  The first is to
increase your monthly payments by some fixed amount and apply the
extra amount to principal reduction.  The second way is to take a
single lump sum of cash and directly reduce the principal.  The
third is to make an extra payment every year.  There are also
combinations of these, as well the strategy of submitting variable
amounts as extra payments.  "Your Financial Partner" handles only
the regular ways of doing this.  [I am also aware of the strategy
of dividing a monthly payment into two equal fractions and sending
that fraction to the bank every two weeks.  This results in 26
biweekly payments.  I surveyed 18 banks and mortgage companies in
the Portland area.  None would permit a mortgagor to submit
fractional payments as this strategy requires.  Therefore, I did
not include this option in "Your Financial Partner".  However, you
should understand that the biweekly option is basically the same as
submitting 13 monthly payments annually, with the entire extra
payment applied to principal reduction.  This latter strategy is
offered as an option in "Your Financial Partner."  All of the banks
I contacted were more than willing to accept an extra payment
submitted this way.]  

     Function 5.6 is offered for the user to consider the different
approaches to accelerating the payoff of a loan.  The procedure
used in "Your Financial Partner" for dealing with the first two
acceleration techniques is straightforward and requires no
explanation.  I had to impose some constraints to simplify the
calculations for the third option.  "Your Financial Partner"
assumes that you want the first extra payment applied immediately,
and then subsequent extra payments would be applied after a full
year has elapsed between each extra payment.  Thus on a loan with
monthly payments the first extra monthly payment would be applied
with the next payment due, and subsequent extra payments would be
added every 12th payment thereafter.  For a weekly loan the
interval would be 52 weeks, etc.

     This function reports the total amount paid under normal
amortization and under accelerated amortization, as well as
providing both the dollar savings and reduction in loan term
resulting from acceleration.  

     Loan function 5.7 enables you to explore the nether world of
loan refinancing.  With today's volatile interest rates, virtually
all of us have considered refinancing loans initially obtained at
rates significantly higher than those presently available.  The
goal in refinancing usually is to lower the monthly payment, to
lower the total amount of interest paid over the life a loan, or
both.  There are times when refinancing is not economically prudent
(this is particularly true when loan fees and points are high and
the differential between the refinancing interest rate and the
original interest rate is relatively small, or when you don't plan
to stay in your home long enough to recapture the refinancing
costs).  Function 5.7 takes all of the relevant variables into
consideration:  current interest rate, current loan term, existing
balance, current monthly payment, proposed interest rate, proposed
loan term, new monthly payment, and new loan fees and points. 
These variables are combined to produce a comparison of what the
net periodic savings will be under the new loan terms, what the
gross savings will be over the life of the loan taking into
consideration the effect of new loan fees and points if applicable,
and will calculate the length of time needed to pay back the loan
fees and points given the reduced monthly payments.  Typically it
is this combination of information that allows you to make a more
informed decision about refinancing.  You should remember that
"Your Financial Partner" does not take into account the fees and
points you might have paid to secure the original loan.  These fees
should be subtracted from the GROSS savings to get a NET savings
under refinancing.    

(6)  Bond and Security Calculations:

     Relatively few of us will ever purchase corporate or municipal
bonds.  Mutual funds have become a very popular investment for the
average investor, particularly given the anemic returns on the
safer, and risk-free investments like savings accounts, CD's, and
Money Market funds.  A large number of low- to medium-risk mutual
funds invest part of their resources in municipal and/or corporate
bonds.  Therefore, understanding the way in which bond prices and
bond values are affected by market factors may provide some insight
into the price ebb and flow of mutual funds that invest in them. 
These are the intents of Functions 6.1 - 6.3.
  
     Similarly, the poor returns on the safer investments have
driven many average investors into the stock market or into mutual
funds in an effort to capture larger returns.  The fundamental
problem that these investment tools present for the average
investor is how to compare the yields on these risky securities
with returns offered on risk-free investments such as savings
accounts, CD's and Money Market Funds.  To compare the yields, we
first have to be able to compute the annualized return (or yield)
on these securities.  This is complicated because stocks, bonds,
and mutual funds change value on a daily basis either by capital
appreciation, by payment of dividends and capital gains, or by some
combination of all these factors.   Function 6.4 addresses this
matter. 
  
     The functions grouped under Bond and Security Calculations
include:

               1.   Bond Valuation
               2.        Bond Yield to Call
               3.   Bond Yield to Maturity
               4.   Annualized Yield on Security

     Bonds are issued at a face value (called the par value) with
a coupon interest rate (the annual rate of interest paid on the
bond), and a term of issue (the length of time until the bond
matures and is redeemed by the issuer).  Bonds can be purchased
when they are issued, but also at any time after issue and before
maturity.  The value of the bond changes over time in response to
two factors:  market interest rates and time remaining until
maturity.  If you buy a bond at issue, you will buy it for its face
value.  Each year you will receive an interest check computed as
the bond's face value times the coupon interest rate.  Thus a $1000
bond, issued for 30 years, paying a coupon interest rate of 10%
annually will yield $100 per year for 30 years.  At the end of 30
years (the bond maturity date) the bond issuer will redeem the bond
for $1000.  If market interest rates do not fluctuate during the 30
years, the bond will have yielded a 10% return.  If market interest
rates do fluctuate, the bond's value will change over time.  If
market interest rates go down, the bond's value will increase and
it is sold as a premium bond.  The reason is simple.  New bonds
issued at that time will carry a lower coupon interest rate which
yields a lower annual interest payment and a lower overall yield at
maturity.  Naturally investors would be willing to pay more for a
bond if they could get a higher interest rate and a higher annual
interest payment; thus, your bond's value is set to be that where
its yield at maturity equals that of the currently available (lower
yielding) bond.  This means that the bond will have to be purchased
for more than its face value.  On the other hand, if market
interest rates are higher than the bond rates, people will try to
sell off the bonds and move money into higher yielding investments. 
This will, in turn, cause the bond to be sold at a discount, with
the price being set to that where its yield at maturity also equals
that of the currently available (higher yielding) bonds.

     Function 6.1 computes the current value of a bond at any time
between issue date and maturity.  It does so by taking into account
the difference in coupon interest rates and current interest rates. 
If you experiment with function 6.1 you will see that there really
is an inverse relationship between market interest rates, coupon
interest rates, and bond value.

     If, after a bond is issued, market interest rates drop
substantially, the bond issuer may want to redeem the bond early
and reissue new bonds to take advantage of the lower market
interest rates.  They can do so only if the bond has call
provisions.  A call provision is a condition specified in the bond
that allows its issuer to redeem the bond early for any reason
provided certain temporal conditions hold (e.g. more than 5 years
has elapsed since the bond was issued).  Typically bonds are called
only if market interest rates have fallen significantly.  Bonds
that are called generally yield a lower overall return on
investment than bonds held to maturity.  Issuers usually establish
a formula to determine how to set the price of a bond at call.  For
example, some bonds have call provisions that set the call price
as:  bond par value x (100% + current market interest rate)N where
N is the number of years that have elapsed since the bond was
issued.  In any case, the call price is uniquely determined for
every bond and can be easily calculated.  Function 6.2 will enable
you to determine the yield of a bond that has been called after N
years, given current market interest rates and a known call price.

     If you buy a bond at its original issue (at its par or face
value) and hold it to maturity, the yield on the bond is the same
as its coupon interest rate.  On the other hand, bonds purchased
after their initial issuance are rarely purchased at par value. 
Thus, if these bonds are held to maturity they will yield more or
less than the coupon interest rate.  Bonds purchased for less than
par value (discount bonds) and held to maturity yield more than the
coupon interest rate.  This makes sense because the bond will
return not only the fixed interest payment every year but will also
pay the bond's par value at maturity.  Thus, the addition of a
capital gain (the profit from redeeming the bond for more than its
purchase price) to the annual coupon interest produces a yield to
maturity higher than the coupon rate.  By contrast, the opposite
condition obtains when bonds are purchased for more than par value
(premium bonds) and held to maturity.  Here there is a capital loss
at maturity when the bond is redeemed for a lower price than that
for which it was purchased.  This loss reduces the yield to
maturity below the coupon interest rate.  Function 6.3 calculates
bond yield to maturity by factoring in purchase price versus the
bond's par value and length of time to maturity.

     Finally, Function 6.4 addresses the problem raised in the
introduction.  Suppose you  invest $1000 in a mutual fund on
January 15, 1993.  The mutual fund shares are priced at $10 each so
on January 15, 1993 you own 100 shares.  On the 15th of each
subsequent month you invest an additional $25 to purchase more
shares (at their then-current value).  On December 31, 1993 the
mutual fund declares a $0.60 per share dividend and a $0.30 per
share capital gains payment.  As of December 15, 1993 you own (as
a result of the initial investment and the 11 subsequent $25
investments) 124.664 shares so that the dividend plus capital gains
payout on December 31, 1993 is worth $112.20, which is then
reinvested in additional shares each costing $10.95.  This leaves
you with a portfolio consisting of 134.911 shares now worth $10.95
each.  As of January 1, 1994, the portfolio is valued at $1477.27. 
What is your annual rate of return on this investment?

     For the average investor, this is a difficult question
complicated by the fluctuating price of the fund, the payment of
dividends and capital gains and their subsequent reinvestment, and
the varying holding periods of individual shares in the mutual
fund.  Fortunately, "Your Financial Partner" makes this calculation
relatively straightforward.  

     To understand how this works, it is necessary to understand
that money you pay out to purchase shares of a security is a
negative cash flow to you; money you receive from dividends and
capital gains are positive cash flows to you.  However, reinvested
dividends and capital gains are neither positive nor negative cash
flows for figuring yields (they are, however, exceedingly important
in determining your cash basis for tax purposes); the reinvestments
are figured in the final valuation of the fund [in other words, at
the end of the year the reinvested dividends and capital gains are
reflected in the portfolio valuation of $1477.27 and do not,
therefore, have to be considered as individual cash flows.  They
can, of course, be treated as individual cash flows; however, they
would need to be entered twice:  first as a positive cash flow to
you, and then as a negative cash flow (you used the money to
purchase additional shares).  But since both of these events occur
simultaneously in an automatic reinvestment program, the net effect
is simply to increase the value of the portfolio by the dollar
amount reinvested and nothing is gained by figuring the individual
cash flows.  If this is unclear to you, the same logic applies to
savings account.  You can figure out your annual rate of return on
a savings account without having to enter the interest payments
received as a positive cash flow to you, followed by a negative
cash flow reflecting its "reinvestment" in the savings account. 
All of the interest reinvestment is reflected in the value of the
savings account at any moment in time.]

     Let's now consider this example.  Function 6.4 asks for the
following information in the following order (underlined
information represents information you type in):

Initial Value:  $1000  ( This was our initial investment. It could
also be the value on January 1, 199x)

Date:     01/15/93 (This was the date of our initial investment)

Final Value:  $1477.27  (The value of the portfolio at the close of
business on December 31, 1993.  Note that there is no provision in
"Your Financial Partner" for calculating the valuation of a
portfolio.  This information still must come from an external
source, most typically a statement from the firm holding or issuing
the security.) 

Date:  01/01/94 (This date corresponds with the value at the close
of business on 12/31/93).
Guess at a rate of return:  10%  (Just pick any number.  This is
needed to get the calculations started since I use an iterative
routine to solve for the annualized yield.).

The above 5 entries are required.  The next 24 pairs of entries are
optional; however every non-zero cash flow must be accompanied by
a date that falls between the initial and final dates given above. 
The cash flows do not have to be entered in chronological order.

CF#1:  -25.00  (Cash Flow #1.  Negative because it represents an
additional investment)
Date:   02/15/93  (Date of $25 investment.  The number of shares
purchased is irrelevant here)
CF#2:  -25.00 (Cash Flow #2)
Date:    03/15/93 (Date of next $25 investment)
.
.    (Cash Flows 3-10 filled in here)
.
CF#11: -25.00 (Cash Flow #11)
Date:       12/15/93 (Date of last $25 investment)

Once this information is entered and checked, we are ready to
calculate the annualized yield on our mutual fund.  Pressing CTRL-
ENTER performs the calculation.  The resulting annualized yield, as
you can see if you do this example, is 18.710%, a significant yield
by any criterion.  
     Function 6.4 also can be used to calculate the yield on an
entire portfolio, provided that the total number of cash flows in
the portfolio do not exceed 24.  Another example will illustrate
this.

     Suppose that you invest $1000 in fund #1 on August 13, 1992. 
You follow this with an investment of $1000 in a second fund on
August 17, 1992, $1000 in a third fund on November 11, 1992, $1000
in a fourth fund on December 10, 1992, and $3000 in a fifth fund on
December 11, 1992.  Suppose in addition that Fund #1 pays $66.02 in
capital gains on December 31, 1992, Fund #2 distributes $26.11 in
dividends on December 31, 1992, and Fund #5 distributes  $23.10 in
dividends and capital gains on December 31, 1992.  The other funds
distribute no earnings.  All dividends and capital gains are
reinvested in shares in their respective mutual funds.  On January
1, 1993, after all reinvestments are figured, the portfolio is
valued at $7335.10.  What is the annualized yield on this
portfolio?  (Note that although you can calculate the yields on all
of the individual securities or mutual funds, the portfolio yield
is not the simple average of the yields of the individual elements
making up the portfolio.  Since there is different holding period
for each security, and each security may represent a different
fraction of the total value of the portfolio, the proper way to
compute portfolio yield is to account for all of the cash flows
into and out of the portfolio in the same way you would for its
individual elements).

     There are two ways to approach this question.  Both will yield
the same answer.  The best approach is to treat the portfolio as
having a $0.00 value on January 1, 1992 (which it did).  Then on
January 1, 1993 the portfolio has a value of $7335.10.  During the
year the portfolio had five negative cash flows (investments) over
five different dates.  These were:  -1000,  08/13/92;  -1000,
08/17/92; -1000, 11/10/92; -1000, 12/10/92; -3000, 12/11/92.

     Entering these values produces a portfolio yield of 32.702%  

     The alternative is to treat the portfolio as having an initial
$1000 value as of 08/13/92 (which it did) and a final value of
$7335.10 on 01/01/93.  Then we factor in four negative cash flows
over four different dates.  These were:  -1000, 08/17/92; -1000,
11/10/92; -1000,  12/10/92; and -3000, 12/11/92.

     Entering these values also produces a portfolio yield of
32.702%   
     
     The former approach is best in circumstances where the
portfolio has a $0.00 initial value at some point in the year; the
latter approach is best in cases of a continuing portfolio.  We
could, for example, use the second approach to determine the yield
of the portfolio in the second year.  To do so, we would consider
the value of $7335.10 as the portfolio value at the beginning of
the period, and then assess the yield from that point considering
all of the relevant cash flows.

     Function 6.4 can handle both positive and negative yields. 
Remember that while positive returns can, in principle, assume any
positive value, negative yields can never be less than 100% since
you can never lose more than the total amount you have invested at
any given point in time.  
     Note also that there are some combinations of cash flows that
do not provide a single solution for the yield.  This typically
occurs when there are many positive and negative cash flows for a
security or portfolio.  If you get an error message telling you
that you have an indeterminate solution, or that the solution did
not converge in 50 iterations, try reorganizing the way you enter
the data.  Sometimes it helps to simply enter all the positive cash
flows first, followed by all the negative cash flows (or the
reverse).  The problem typically arises when there are many sign
changes over the range of cash flows.

(7)  Utilities

     Three different financial utilities are offered in "Your
Financial Partner."  They are:

               1.   Effective Interest Rate
               2.   Taxable Interest Rate
               3.   Days Between Dates

     Suppose you want to put money into a savings account at a
local bank.  There are three banks nearby that each pay 5% annual
interest.  Bank 1 compounds the interest quarterly, Bank 2
compounds monthly, and Bank 3 compounds daily.  If all other
services offered are equal, into which bank should you put your
money to maximize your yield?

     Function 7.1 calculates the effective interest rate and
provides you with the answer.  Bank 1, paying a nominal interest
rate of 5% per annum compounded quarterly, is actually paying an
effective interest rate of 5.09%; Bank 2, which pays 5% compounded
monthly, is actually paying an effective rate of 5.12%; and Bank 3,
which compounds daily, provides an effective yield of 5.13%.  Thus,
Bank 3 should get your money.  youn general, the more often
interest is compounded the higher the effective interest rate.

     The financial section of today's newspaper is littered with
advertisements offering a variety of investments.  Suppose you have
$1000 to invest.  You want something relatively safe, yet something
that provides a higher return than an ordinary passbook savings
account.  You are given two possible investments that meet your
objectives to provide a safe, modest rate of return.  The first of
these invests in short-term corporate bonds and has consistently
returned about 7.5%.  The second of these invests in a variety of
tax-free municipal bonds and has consistently returned about 6%. 
Other things being equal, which of the two investments should you
choose?  

     The key element in investing is recognizing that some
investments generate gains that are completely free of taxes, while
others yield profits that are subject to ordinary income tax.  To
compare any two investments fairly, we need to level the playing
field.  Function 7.2 provides the necessary levelling.  

     Whenever we make money from our investments, our earnings are
subject to income tax unless the earnings are tax-free.  Most
investors will find themselves in either the 28% or 31% federal
marginal tax bracket.  In addition, many states also tax profits
from investments.  Suppose our hypothetical investor above was
paying federal tax at the 31% marginal rate, and state tax at a 9%
marginal rate.  This means that the earnings are reduced by 31%
because of federal tax, and 9% because of state tax.  Thus, our
taxable yield of 7.5% is reduced to 5.175% because of federal tax
and to 4.5% when we add in state tax.  This means that the two
investments are hardly equivalent.  Once taxes are factored in, the
tax-free investment pays 1.5% more than the taxable investment.

     Function 7.2 turns this problem around by levelling the
playing field in the opposite direction.  It approaches the problem
by asking what the taxable equivalent of a tax-free yield is.  youn
the problem described above, the value of our 6% tax-free yield is
increased by the combined federal and state tax obligation.  We
would have to have a taxable yield greater than 8.695% to offset
the effects of federal tax; the return would have to equal or
exceed 10% to offset the combined effects of a 31% federal tax and
9% state tax.

     Function 7.3 simply answers the question of how many days have
elapsed between two dates.  This routine takes into consideration
leap years.
    
Programming Considerations:

     "Your Financial Partner" was written in Borland C++ 3.1.  The
menus and data entry screens were adapted from the Object
Professional C++ Library from Turbo Power Software.  To ensure
accuracy, all financial calculations were performed in BCD
(financial) arithmetic and follow banker's rules of rounding.  Even
so, there will be differences between results obtained using
Financial Partner, spreadsheets, and other financial analysis
programs.  Where comparable routines exist, "Your Financial
Partner" has been thoroughly tested with examples from major
financial analysis textbooks and its results accurate, to within
limits of roundoff error, with those obtained with Quattro Pro 4.0,
Excel 3.0, HP 10B and 12 calculators, and the published textbook
answers.      

     I sincerely hope that "Your Financial Partner" is useful to
you.  I spent a great deal of time trying to write a program that
I could use.  While I've tested all of the functions with a wide
variety of data from financial analysis text and am convinced that
all egregious bugs have been exterminated, I've been programming
for long enough to know that bugs cannot ever be completely
eradicated.  If you run into any problem, encounter any results
that do not look right or that you know are incorrect, please drop
me a note and explain the circumstances.  I do not want a "buggy"
program circulating.

Legal Matters:

     My legal advisors tell me that I cannot warrant this program,
expressly or by implication.  So there is no warranty attached to
"Your Financial Partner."  You'll just have to take my word that it
does do financial calculations, and as far as I can figure it
mostly gives correct answers.  This generally means that I am not
responsible if this program ruins your life.  On the other hand, if
it makes you a millionaire, I'd like to know about it.

Money and Other Matters:

     As indicated at the beginning of this manual, "Your Financial
Partner" is distributed as "Shareware."  If, after using it for 30
days, you find it valuable, please register the program by filling
out the form below and send it to me along with a check for $29.95
to complete the registration process.  Registered users will
receive the latest version of "Your Financial Partner,"  free
upgrades for 6 months following registration, will be able to
receive upgrades thereafter at a nominal fee, and are eligible for
telephone support.

Customer Service:

     Users needing help with "Your Financial Partner", users
wishing to report a bug, users wishing to lavish me with praise, or
users wanting to carp may contact me in writing at the address
below (see Registration Form), or electronically via CompuServe
(71212,2327), Internet (h1mf@odin.cc.pdx.edu), or BITNET
(H1MF@PSUORVM.BITNET).  If you have an urgent problem, you may
phone me at 503-725-3910 (this is in the Pacific Time Zone);
however, this is my office phone number and I may or may not be
able to talk with you when you call.  If you get my voice mail
instead of me, please leave me a detailed message indicating
precisely what you need.  Also indicate whether you are a
registered user.  I cannot afford to provide telephone support to
unregistered users (I will respond to any and all electronic mail
or US Mail messages whether you are registered or not).  Include in
your phone message a time of day where I will be able to get a hold
of you by phone.  I will try to respond as soon as possible. 

Acknowledgements:

     Thanks are due to my wife, Susan Wolf, and our children, Sarah
and Elisabeth, for their support and for enduring the many months
that writing this program consumed.  Thanks also  to Tech Mate for
their helpful advice on using Object Pro C++.  My gratitude goes
out to all the beta testers, and to users of previous versions of
"Your Financial Partner" for suggestions and encouragement, not to
mention for drawing noxious bugs to my attention.  

Things In The Planning Stages:

     Future versions of "Your Financial Partner" are already in the
planning stages.  Proposed additions include (1) a simple, pop-up
four-function calculator that will allow users to paste results
into data fields; (2) loan qualification function; and (3)
inflation-adjustment option in various routines.  A number of users
have requested that I provide some way to reanalyze slightly
different combinations of data without having to reenter the full
suite of data.  I am exploring the feasibility of doing this in
some of the routines with more extensive data entry requirements. 
The limiting factor is the size of the program.  As it is, the
program is becoming rather large, and I don't want the program to
be so laden with bloated code that it ceases to be useable.  
Nevertheless, I welcome user suggestions.  

Useful Financial References:

The following proved invaluable to me in developing "Your Financial
Partner."  I recommend them to anyone wishing to do further
research.

Gordon Alexander and William Sharpe, 1990, Investments, 4th
Edition.  Englewood Cliffs:  Prentice-Hall.

Eugene F. Brigham, 1992, Fundamentals of Financial Management, 6th
Edition.  San Diego:  Dryden Press (Harcourt, Brace, Jovanovich).

Petr Zima and Robert L. Brown, 1984, Contemporary Mathematics of
Finance (Schaum's Outline Series).  New York:  McGraw Hill.

Registration Form:

                     Your Financial Partner
                         Version 3.1CPP

                    
Date_____________

Name__________________________________________________________

Address_______________________________________________________

City________________________________ State_________Zip________

Phone______________________

Where/how obtained_____________________________________________


Please return this form with a check for $29.95 to:

                      Dr. Marc R. Feldesman
                       Flying Pig Software
                        4210 SW Comus St
                   Portland, Oregon 97219-9504



