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(`

equals the
value of `rate`, `n`, `amount`)`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(`

equals
the value of `rate`, `payment`, `amount`)`n` such that `pv(`

. If `rate`, `n`,
`payment`) = `amount``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(`

computes the value of
`n`, `payment`, `amount`)`rate` such that `pv(`

. The result is expressed as a formula like ‘`rate`, `n`, `payment`) =
`amount``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(`

computes the `payments`)`rate` such that `npv(`

;
this rate is known as the `rate`, `payments`) = 0*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.