How to Calculate the Price of a Zero Coupon Bond

Many bonds make periodic interest payments during the life of the bond, and then when the bond matures, the principal is returned. A zero-coupon bond, however, doesn’t make any payments. Instead, investors purchase the zero-coupon bond for less than its face value, and when the bond matures, they receive the face value. Essentially, the difference between the price you pay for a zero-coupon bond and the face value is the interest you’ll earn when the bond matures. On the open market, investors pay higher prices for zero-coupon bonds when they require a lower rate of return and lower prices when a higher rate of return is required.

Bond Rate of Return

To calculate how much you should pay for a zero-coupon bond, you need to know the rate of return that you’re expecting to return on the bond. The higher the risk the bond issuer will go bankrupt and not repay the bond holders, the higher the interest rate you need to compensate for that risk. Also, remember to consider the length of time until the bond matures. If you have to wait three years to get your money back, you’ll expect a higher return than a bond that will mature in six months.

The lower the price you pay for the zero-coupon bond, the higher your rate of return will be. For example, if a bond has a face value of $1,000, you’ll earn a higher rate of return if you can buy it for $900 instead of $920.

Calculating Zero-Coupon Bond Price

To figure the price you should pay for a zero-coupon bond, first divide your required rate of return by 100 to convert it to a decimal. Second, add 1 to the required rate of return as a decimal. Third, raise the result to the power of the number of years until the bond matures. Fourth, divide the face value of the bond to calculate the price to pay for the zero-coupon bond to achieve your desired rate of return.

For example, say you want to earn a 6 percent rate of return per year on a bond with a face value of $2,000 that will mature in two years. First, divide 6 percent by 100 to get 0.06. Second, add 1 to 0.06 to get 1.06. Third, raise 1.06 to the second power to get 1.1236. Fourth, divide the face value of $2,000 by 1.1236 to find that the price to pay for the zero-coupon bond is $1,880.


  • If you'd rather not do the calculation by hand, some online calculators allow you to determine the bond price.

About the Author

Mark Kennan is a writer based in the Kansas City area, specializing in personal finance and business topics. He has been writing since 2009 and has been published by "Quicken," "TurboTax," and "The Motley Fool."