Query: How to calculate new price for bond if yield increases

Relevant passages:
 <=SEP=> I am currently trying out some variations (moving terms around ...) of the formula for the present value of money The relationship between yield and price is much simpler than that. If you pay £1015 for a bond and its current yield is 4.69%, that means you will receive in income each year: 4.69% * £1015 = £47.60 The income from the bond is defined by its coupon rate and its face value, not the market value. So that bond will continue to pay £47.60 each year, regardless of the market price. The market price will go up or down according to the market as a whole, and the credit rating of the issuer.  If the issuer is likely to default, the market price goes down and the yield goes up. If similar companies start offering bonds with higher yields, the market price goes down to make the bond competitive in the market, again raising yield. So if the yield goes up to 4.87%, what is the price such that 4.87% of that price is £47.60? £47.60 / 4.87% = £977.48 Another way to think of it: if the yield goes up from 4.69% to 4.87%, then yield has increased by a factor of: 4.87% / 4.69% = 1.0384 Consequently, market price must decrease by the same factor: £1015 / 1.0384 = £977.48

 <=SEP=> The duration of a bond tells you the sensitivity of its price to its yield. There are various ways of defining it (see here for example), and it would have been preferable to have a more precise statement of the type of duration we should assume in answering this question. However, my best guess (given that the duration is stated without units) is that this is a modified duration. This is defined as the percentage decrease in the bond price for a 1% increase in the yield. So, change in price = -price x duration (as %) x change in yield (in %) For your duration of 5, this means that the bond price decreases by a relative 5% for every 1% absolute increase in its yield. Using the actual yield change in your question, 0.18%, we find: change in price = -1015 x 5% x (4.87 - 4.69) = -9.135 So the new price will be 1015 - 9.135 = £1005.865

 <=SEP=> Edited to incorporate the comments elsewhere of @Atkins Assuming, (apparently incorrectly) that duration is time to maturity: First, note that the question does not mention the coupon rate, the size of the regular payments that the bond holder will get each year.  So let's calculate that. Consider the cash flow described.  You pay out 1015 at the start of Year #1, to buy the bond.  At the end of Years #1 to #5, you receive a coupon payment of X.  Also at the end of Year #5, you receive the face value of the bond, 1000.  And you are told that the pay out equals the money received, using a time value of money of 4.69% So, if we use the date of maturity of the bond as our valuation date, we have the equation: Maturity + Future Value of coupons = Future value of Bond Purchase price 1000 + X *( (1 + .0469)^5-1)/0.0469 = 1015 * 1.0469^5 Solving this for X, we obtain 50.33;  the coupon rate is 5.033%.  You will receive 50.33 at the end of each of the five years.   Now, we can take this fixed schedule of payments, and apply the new yield rate to the same formula above;  only now, the unknown is the price paid for the bond, Y. 1000 + 50.33 * ((1 + 0.0487)^5 - 1) / .0487 = Y * 1.0487^5 Solving this equation for Y, we obtain: Y = 1007.08