The most common method of determining the fair value of a bond is to calculate the present value of all expected future cash flows from the bond. To do so, one typically needs the following variables: the time to maturity, the discount rate, the coupon rate, and the par value. Essentially, the time to maturity is the length of time until the bond issuer pays back the money owed to the bondholder at par value, which is typically a round number. The discount rate is generally the rate of return an investor expects to receive if the bond is held until maturity, which is normally referred to as the yield in the bond market. Finally, the coupon rate is basically the regular interest rate paid to the bondholder until maturity, where the investor receives the final coupon payment together with the par value.
When purchasing a bond, an investor typically expects to receive a series of cash flows until the bond matures. For example, a bond that has a three-year maturity term and pays $100 US Dollars (USD) coupon per year, would meant that the $1,000 USD par value is returned to the bondholder at the end of three years along with the last coupon installment. This means that the bondholder will receive three separate cash flows. That is, the investor will receive $100 USD in year one, $100 USD in year two, and the last installment will be $1,100 USD at the end of year three. To determine the fair price for such a bond one needs to calculate the present value of all the cash flows using the discount rate and the maturity period.
In finance, the fundamental principle that underlies the practice of finding the present value of future cash flows is called the time value of money (TVM). This concept states that a dollar obtained today is more valuable than one obtained in the future. For example, the $100 USD cash flow received in year one is worth more than the $100 USD cash flow received in year two, and so forth. To determine the fair value of a bond one needs to find the present value of each cash flow separately, and then add all these present values to arrive at the fair price. The formula used to do so is as follows: P = C/(1+r) + C/(1+r)^2 + . . . + C/(1+r)^n + M/(1+r)^n, where P is the fair value, C is the coupon, r is the discount rate, n is the number of complete years to maturity, and M is the par value.
To illustrate, is helps to consider a bond that has $1,000 USD par value, pays $100 coupon per year, with a 9% yield or discount rate, and will mature in three years. P = 100/(1+0.09) + 100/(1+0.09)^2 + 100/(1+0.09)^3 + 1000/(1+0.09)^3, which is equal to the fair value of $1025.31 USD. It is important to note that the discount rate is expressed in decimals unless a financial calculator is used. Generally, financial managers take the variables mentioned above and use a financial calculator or spreadsheet software to calculate the fair value of a bond, which makes it a cinch. Also, the method described above applies to bonds known as vanilla bonds, which are the most common, though to determine the value of other types of bonds financiers still use the above method and/or its variants.
Furthermore, the fair value of a bond will always be above the par value if the coupon rate is higher than the discount rate, which is called a premium bond. For example, if a bond has a 10% coupon rate and a 8% discount rate or yield, then its value will be above $1,000 USD. Conversely, if the discount rate is higher than the coupon rate then its value will be below par, also referred to as a discount bond. A bond with a 12% yield and a 10% coupon, for example, will have a value below $1,000 USD. Finally, the fair value of a bond with an equal coupon rate and discount rate is at par value, or its fair value will be $1,000 USD.
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}