So the question is: Find the duration of a 6% coupon bond making annual coupon payments if it has 3 years until maturity and has a yield to maturity of 6%. What is the duration if the yield to maturity is 10%?

I am able to do get the correct answer of 2.833 years by calculating the duration with a table, but upon looking at the answer, it provided a much simpler way of calculating the duration:

D = [1.06 / .06] – [1.06 + 3(.06 - .06)] / [.06(1.06^3 - 1) + .06] = 17.6667 – 14. 833

D = 2.8336 years

Can someone tell me what sort of formula is used here that was able to easily calculate the duration of the bond?

2 Answers 2


They are using the derivative (slope) of price (y) with respect to yield (x) and then dividing by price. The formulas are available on Wikipedia:

Bond Duration


Not really. The Motley Fool link below explains 2 ways to calculate it but it's not much simpler.


Here is a link to the MSFT excel DURATION help page. Using this function is easier, in my opinion, to manually typing out the formula in your example but it's 6 of 1, 1/2 dozen of another probably...


DURATION(settlement, maturity, coupon, yld, frequency, [basis])

Excel DURATION Formula

Important: Dates should be entered by using the DATE function, or as results of other formulas or functions. For example, use DATE(2018,5,23) for the 23rd day of May, 2018. Problems can occur if dates are entered as text.

The DURATION function syntax has the following arguments:

Settlement Required. The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.

Maturity Required. The security's maturity date. The maturity date is the date when the security expires.

Coupon Required. The security's annual coupon rate.

Yld Required. The security's annual yield.

Frequency Required. The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.

Basis Optional. The type of day count basis to use.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .