@rate |

Discount rate required for annuity to yield given present value.

Syntax: @rate(n, x, pv[, v, bf])

n: integer

x: number

pv: number

v: (optional) number

bf: (optional) number

Return: number

Find the largest discount rate r producing at least the present value pv from an n-period annuity, with receipts x, and optional receipt of a final lump sum v.

If n is not an integer, the integer floor will be used.

A non-zero value for the optional bf indicates that the receipts are made at the beginning of periods (annuity due) instead of ends (ordinary annuity).

• The present value of by n-periods of ordinary annuity receipts and a final lump sum is:

• The present value of n-periods of annuity due receipts and a final lump sum is:

Then for a given PVO or PVD and annuity type, the function returns the largest discount rate r where the present values still exceed the required value.

Examples

= @rate(15, 100, 1000)

returns the value 0.055565, indicating that a 15-year annuity that pays $100 per period has a present value of $1000 if the discount rate is set to 0.055565.

Cross-references