calc: Related Financial Functions

 
 8.6.4 Related Financial Functions
 ---------------------------------
 
 The functions in this section are basically inverses of the present
 value functions with respect to the various arguments.
 
    The ‘b M’ (‘calc-fin-pmt’) [‘pmt’] command computes the amount of
 periodic payment necessary to amortize a loan.  Thus ‘pmt(RATE, N,
 AMOUNT)’ equals the value of PAYMENT such that ‘pv(RATE, N, PAYMENT) =
 AMOUNT’.
 
    The ‘I b M’ [‘pmtb’] command does the same computation but using
 ‘pvb’ instead of ‘pv’.  Like ‘pv’ and ‘pvb’, these functions can also
 take a fourth argument which represents an initial lump-sum investment.
 
    The ‘H b M’ key just invokes the ‘fvl’ function, which is the inverse
 of ‘pvl’.  There is no explicit ‘pmtl’ function.
 
    The ‘b #’ (‘calc-fin-nper’) [‘nper’] command computes the number of
 regular payments necessary to amortize a loan.  Thus ‘nper(RATE,
 PAYMENT, AMOUNT)’ equals the value of N such that ‘pv(RATE, N, PAYMENT)
 = AMOUNT’.  If PAYMENT is too small ever to amortize a loan for AMOUNT
 at interest rate RATE, the ‘nper’ function is left in symbolic form.
 
    The ‘I b #’ [‘nperb’] command does the same computation but using
 ‘pvb’ instead of ‘pv’.  You can give a fourth lump-sum argument to these
 functions, but the computation will be rather slow in the four-argument
 case.
 
    The ‘H b #’ [‘nperl’] command does the same computation using ‘pvl’.
 By exchanging PAYMENT and AMOUNT you can also get the solution for
 ‘fvl’.  For example, ‘nperl(8%, 2000, 1000) = 9.006’, so if you place
 $1000 in a bank account earning 8%, it will take nine years to grow to
 $2000.
 
    The ‘b T’ (‘calc-fin-rate’) [‘rate’] command computes the rate of
 return on an investment.  This is also an inverse of ‘pv’: ‘rate(N,
 PAYMENT, AMOUNT)’ computes the value of RATE such that ‘pv(RATE, N,
 PAYMENT) = AMOUNT’.  The result is expressed as a formula like ‘6.3%’.
 
    The ‘I b T’ [‘rateb’] and ‘H b T’ [‘ratel’] commands solve the
 analogous equations with ‘pvb’ or ‘pvl’ in place of ‘pv’.  Also, ‘rate’
 and ‘rateb’ can accept an optional fourth argument just like ‘pv’ and
 ‘pvb’.  To redo the above example from a different perspective,
 ‘ratel(9, 2000, 1000) = 8.00597%’, which says you will need an interest
 rate of 8% in order to double your account in nine years.
 
    The ‘b I’ (‘calc-fin-irr’) [‘irr’] command is the analogous function
 to ‘rate’ but for net present value.  Its argument is a vector of
 payments.  Thus ‘irr(PAYMENTS)’ computes the RATE such that ‘npv(RATE,
 PAYMENTS) = 0’; this rate is known as the “internal rate of return”.
 
    The ‘I b I’ [‘irrb’] command computes the internal rate of return
 assuming payments occur at the beginning of each period.