Next: Depreciation Functions, Previous: Present Value, Up: 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.