# Simpler way of calculating duration for bonds?

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?

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: Not really. The Motley Fool link below explains 2 ways to calculate it but it's not much simpler.

https://www.fool.com/knowledge-center/how-to-calculate-modified-duration.aspx

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]) 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.