📨 Have you signed up to the Forum's new Email Digest yet? Get a selection of trending threads sent straight to your inbox daily, weekly or monthly!

Gilt yield calcs

2»

Comments

  • cwep2
    cwep2 Posts: 233 Forumite
    Part of the Furniture 100 Posts Name Dropper Combo Breaker
    Building a curve is basically bootstrapping - you start short end and build it out using the most liquid points as these are accurate.

    We first work out an Zero curve and then can calculate implied FRA/OIS rate for each period.

    A zero coupon bond pays nothing until it matures so it's simple, you can work out really easily from the current price what the market interest rate is for something of that maturity. A coupon paying bond is complex/messy, it pays out coupons typically every 6 months as well as at maturity so if we have the current price (present value) it's the value of a bunch of cashflows at various points in the future, not just one interest rate. Excel functions will work out a rate assuming interest rates are effectively constant throughout the life of the bond, this is OK as a first approximation, but doesn't reflect reality where market prices of bonds at different points on the curve go up and down. But we can create a "Zero curve" using existing bonds.

    An example just using Gilts/Notes:
    A Gilt pays out a coupon typically every 6 months until it matures. We know the price now and what each payment will be. There will be some maturing soon with no coupons to be paid, if we find a Gilt maturing in 3 months (91 days) with a final payment of 101 (which would have been a 2% coupon, paid semi-annually so 100 principal + half the annual coupon of 1) with a current price of 100 gives us a rate of (101-100)/100 * 365/91 = 4.01%. If we do this with all Gilts <6 months maturity this gives us a set of rates out to 6 months, and we fit a curve as best we can.
    Now Gilts that mature between 6-12 months have a coupon payment some time between 0-6 months and the final payment between 6-12months. We already can value the coupon payment back using our 0-6month curve, and so the current market price of the Gilt = the present value of the coupon + the present value of the final payment, and using this we can work out a curve for 6-12 months. Similarly we go on with Gilts 12-18m etc until we have worked out a zero curve = what a zero coupon bond is worth today. Continue until you have 30 years.

    Now we can create a FRA curve (Forward rate agreement) = what does the market price 1yr yield in 1yrs time?
    If our 2yr zero rate is 5% and our 1yr zero rate is 4%, that means the 1yr rate in 1yrs time is expected to be about 6%. I won't go into the maths but it's not *that* hard. We could do the same with 3 month rates in 3m 6m 9m 1yrs time, in fact once we have our zero curve we can price any length maturity at any point on it.

    Similarly you can price an overnight lending rate for all points in the future.

    In practise Gilts are few and far between with typically 3-4 per year, and other market instruments are much more liquid (accurate) so working shortest to longer dates we use SONIA/Depos/OIS, FX Forwards, Treasury Notes and finally Gilts which are all slightly different but we can adjust for the differences and come up with a rate to maturity for each of these.
  • aroominyork
    aroominyork Posts: 3,289 Forumite
    Part of the Furniture 1,000 Posts Name Dropper
    cwep2 said:
    An example just using Gilts/Notes:
    A Gilt pays out a coupon typically every 6 months until it matures. We know the price now and what each payment will be. There will be some maturing soon with no coupons to be paid, if we find a Gilt maturing in 3 months (91 days) with a final payment of 101 (which would have been a 2% coupon, paid semi-annually so 100 principal + half the annual coupon of 1) with a current price of 100 gives us a rate of (101-100)/100 * 365/91 = 4.01%. If we do this with all Gilts <6 months maturity this gives us a set of rates out to 6 months, and we fit a curve as best we can.
    A little over my head but using Excel's YIELD(TODAY(),[redemption date],[coupon],[price],100,2) for a gilt maturing on 17/8/23 with a 2% coupon and priced at 100, I get a YTM of 1.99%. Am I measuring something different? I get that receiving £1 (half the coupon) in three months time and paying par equates to c.4% over a year.
  • EthicsGradient
    EthicsGradient Posts: 1,234 Forumite
    Sixth Anniversary 1,000 Posts Photogenic Name Dropper
    cwep2 said:
    An example just using Gilts/Notes:
    A Gilt pays out a coupon typically every 6 months until it matures. We know the price now and what each payment will be. There will be some maturing soon with no coupons to be paid, if we find a Gilt maturing in 3 months (91 days) with a final payment of 101 (which would have been a 2% coupon, paid semi-annually so 100 principal + half the annual coupon of 1) with a current price of 100 gives us a rate of (101-100)/100 * 365/91 = 4.01%. If we do this with all Gilts <6 months maturity this gives us a set of rates out to 6 months, and we fit a curve as best we can.
    A little over my head but using Excel's YIELD(TODAY(),[redemption date],[coupon],[price],100,2) for a gilt maturing on 17/8/23 with a 2% coupon and priced at 100, I get a YTM of 1.99%. Am I measuring something different? I get that receiving £1 (half the coupon) in three months time and paying par equates to c.4% over a year.
    For bonds, including gilts, that are bought between interest payments, you have to think about "clean" and "dirty" prices - see Clean price - Trading & information - Moneyterms: investment, finance and business explained
    Bond yield - Bogleheads may help you work out what to do in a spreadsheet.
  • masonic
    masonic Posts: 26,956 Forumite
    Part of the Furniture 10,000 Posts Photogenic Name Dropper
    edited 19 May 2023 at 6:46AM
    Johnjdc said:
    Johnjdc said:
    In simplistic terms it's because the Bank of England Forward Yield Curve is the implied cost of borrowing at that point in the future, whereas the yield to maturity on gilts currently in issue is the cost of borrowing from now until that point in the future.
    Interesting. If that is so, it is the cost of borrowing what? In 40 years it will yield 3% to buy a gilt of what duration?


    In theory, 24 hours (3% would be the annualised compounded rate, i.e. it would cost 0.000821% to borrow for a day).

    To work out what the curve predicts a gilt of x duration would yield in 40 years, you need to average (ish) the curve for the period between 40 and 40+x.
    Curious. What use it is to know the cost of overnight govt borrowing in 40 years' time, and how can it possibly be predicted with any kind of accuracy?
    It's not a prediction, it is a reality based on the current market. It is giving you a guide to compare buying longer vs shorter dated debt securities. Very much like someone may analyse the fixed rate savings market when pondering whether to go for a 2 year fix, vs 2 x 1 year fix (i.e. where would rates need to be in 1 year to give an equivalent return to locking in the current 2 year rate). It is your job then to do the crystal ball gazing as to which option might actually be better.
    There is a more detailed explanation of forward rates here: https://www.bankofengland.co.uk/statistics/yield-curves/terminology-and-concepts
  • cwep2
    cwep2 Posts: 233 Forumite
    Part of the Furniture 100 Posts Name Dropper Combo Breaker
    cwep2 said:
    An example just using Gilts/Notes:
    A Gilt pays out a coupon typically every 6 months until it matures. We know the price now and what each payment will be. There will be some maturing soon with no coupons to be paid, if we find a Gilt maturing in 3 months (91 days) with a final payment of 101 (which would have been a 2% coupon, paid semi-annually so 100 principal + half the annual coupon of 1) with a current price of 100 gives us a rate of (101-100)/100 * 365/91 = 4.01%. If we do this with all Gilts <6 months maturity this gives us a set of rates out to 6 months, and we fit a curve as best we can.
    A little over my head but using Excel's YIELD(TODAY(),[redemption date],[coupon],[price],100,2) for a gilt maturing on 17/8/23 with a 2% coupon and priced at 100, I get a YTM of 1.99%. Am I measuring something different? I get that receiving £1 (half the coupon) in three months time and paying par equates to c.4% over a year.
    Bond price convention is to quote the clean price, but you pay the dirty price.

    In this example, the coupon of 1 paid in 3 months time accrues over the 6 months since the previous coupon. This accrual goes up every day. To compare prices one day to the next more simply most people look at the price *not including the accrued interest* (= the clean price) which shows you if the price is really going up or down. This means I can look at bonds with 0.5% coupon as well as bonds with a 4% coupon and compare them easily day to day. The price graphs then also make sense, rather than just being like a sawtooth going up then gapping down when a coupon is paid, remember coupons are paid at different times so looking at different bond prices over any time period would be non-sensical if you looked at the dirty price.

    Excel is taking the [price] input as the clean price, but if you bought this bond at the clean price of 100, you would actually pay the dirty price of roughly 100.50.

    If you actually go to a trading site, they will quote both. Apologies I should have made this clear!
Meet your Ambassadors

🚀 Getting Started

Hi new member!

Our Getting Started Guide will help you get the most out of the Forum

Categories

  • All Categories
  • 350.6K Banking & Borrowing
  • 253K Reduce Debt & Boost Income
  • 453.3K Spending & Discounts
  • 243.6K Work, Benefits & Business
  • 598.3K Mortgages, Homes & Bills
  • 176.7K Life & Family
  • 256.7K Travel & Transport
  • 1.5M Hobbies & Leisure
  • 16.1K Discuss & Feedback
  • 37.6K Read-Only Boards

Is this how you want to be seen?

We see you are using a default avatar. It takes only a few seconds to pick a picture.