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