The present value of an annuity, or a finite stream of equally-sized payments, is calculated by determining the discounted value of each payment and adding them together. This value takes into account the different times at which the payments are made—a payment made in the future is worth less than the same amount is worth in the present because of such factors as uncertainty and opportunity cost. To calculate it, divide the payment amount by 1 plus the discount rate for the first period; this is the present value of the first period. For the second period, divide the payment amount by 1 plus the discount rate for the first period multiplied by 1 plus the discount rate for the second period; repeat for each subsequent period.
Calculating the present value of an annuity yields the formula: PV = C/(1+r_{1}) + C/[(1+r_{1})(1+r_{2})] + C/[(1+r_{1})(1+r_{2})(1+r_{3})] + ... + C/[(1+r_{1})(1+r_{2}) ... (1+r_{T-1})(1+r_{T})]. In the formula, C is the amount of the annuity payment, also called the coupon. The discount rate for each period is represented by r_{t}, and T is the number of periods.
If the discount rate is constant for the entire time over which the annuity makes payments, then you can use the formula PV = C/r*(1-1/(1+r)^{T}). This formula is derived from the step-by-step method of calculating the present value of an annuity. If the discount rate is always r, then the present value of the first payment is C/(1+r). The present value of the second payment is C/(1+r)^2, and so on. Thus, the present value of an annuity is represented by: PV = C/(1+r) + C/(1+r)^{2} + ... + C/(1+r)^{T-1} + C/(1+r)^{T}.
An annuity can be thought of as a truncated perpetuity. This means it would be an infinite series if the payments never stopped. Since annuity payments are finite, you need to calculate the sum of a finite series. To do this, calculate the sum of the infinite series as if the payments continued forever, then subtract the sum of the infinite series that represents the payments that will never be made. The present value of the series of payments after the annuity stops is calculated with the formula: PV = C/(1+r)^{T+1} + C/(1+r)^{T+2} + ...
The sum of an infinite geometric series in which the terms are described by A(1/b)^{k}, where k varies from zero to infinity, is represented by A/(1-(1/b)). For an annuity with a constant discount rate, A is C/(1+r) and b is (1+r). The sum is C/r. For the series of payments that never will be made, A is C/(1+r)^{T+1} and b is (1+r). The sum is C/[r*(1+r)^{T}]. The difference gives the present value of an annuity that is finite: C/r*[1-1/(1+r)^{T}].
The formulas for the present value of an annuity are used to calculate the payments for fully amortizing loans, or loans in which a finite number of equally-sized payments repays the interest and the principal. One example of a fully amortizing loan is a residential mortgage. Since the payments are often made monthly while the rates are annualized, you must adjust the numbers when making the calculations. Use the number of payments for T, and divide r by the number of payments per year. If the number of payments is uncertain, as in a lifetime annuity, then actuarial data is used to estimate the number of payments that will be made, and that number is used to compute the present value.
exception 'Exception' with message 'error writing captcha: Duplicate entry '2147483647' for key 'PRIMARY'' in /ssd/www/wisegeek/public_html/_core/classes/public/Captcha.php:44 Stack trace: #0 /ssd/www/wisegeek/public_html/_core/controls/public/ControlDiscussionPostBox.php(324): Captcha->createCaptcha() #1 /ssd/www/wisegeek/public_html/framework/classes/Control.php(104): ControlDiscussionPostBox->preRender(false) #2 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): Control->render() #3 /ssd/www/wisegeek/public_html/tpl/default-nocustom-lu/pages/public/article/article.htm(526): Control->__toString() #4 /ssd/www/wisegeek/public_html/framework/classes/Control.php(300): require('/ssd/www/wisege...') #5 /ssd/www/wisegeek/public_html/framework/classes/Control.php(309): Control->requireTpl('pages/public/ar...', Object(PageArticleCom), true) #6 /ssd/www/wisegeek/public_html/framework/classes/Control.php(131): Control->renderTpl('pages/public/ar...', Object(PageArticleCom)) #7 /ssd/www/wisegeek/public_html/framework/classes/FormDataControl.php(87): Control->renderTemplate() #8 /ssd/www/wisegeek/public_html/framework/classes/Control.php(109): FormDataControl->renderTemplate() #9 /ssd/www/wisegeek/public_html/framework/classes/ScriptPage.php(50): Control->render(false) #10 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): ScriptPage->render() #11 /ssd/www/wisegeek/public_html/framework/classes/Page.php(97): Control->__toString() #12 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(443): Page->processRequest() #13 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(7): PublicFrontController->renderPage() #14 /ssd/www/wisegeek/public_html/index.php(11): PublicFrontController::run() #15 {main}