Pick up any bond quote, a G-Sec on NDS-OM or a corporate bond on your broker’s app, and the number everyone argues about is not the coupon. It is the yield to maturity. Two bonds can carry the same 7% coupon and still give you very different returns, simply because you paid a different price for each. YTM is the figure that folds price, coupon and time into one rate, so you can line bonds up side by side.
This piece walks through what YTM actually measures, how it differs from the coupon and the current yield, and how to work it out by hand and in a spreadsheet. We also look at the assumption hiding inside it, which is where most retail investors get caught out.
In this article
- What yield to maturity means
- Coupon yield, current yield and YTM are three different things
- How Indian government bonds pay, and why it matters for the maths
- Working out YTM by hand: the RBI’s own example
- Doing it in a spreadsheet
- A quick approximation you can do on paper
- Discount, par and premium: reading the direction
- Why prices fall when yields rise
- The assumption inside every YTM quote
- YTM on zero-coupon instruments
- Where you will actually meet YTM
- A short checklist before you trust a YTM number
What yield to maturity means
The Reserve Bank of India’s FAQ on government securities puts it cleanly. YTM is the expected rate of return on a bond if you hold it until it matures. A bond’s price is the sum of the present values of all its remaining cash flows, and the rate used to discount those cash flows is the YTM. Put the other way round, YTM is the discount rate that makes the present value of the bond’s future payments equal to its market price today. That is just the internal rate of return on the bond.
Investopedia adds that the same measure is sometimes called the book yield or the redemption yield. Different desks, same idea.
So when a dealer says a ten-year paper is “trading at 6.5”, they are quoting YTM, not price. The price is backed out from that yield.
Coupon yield, current yield and YTM are three different things
People mix these up all the time, and the RBI FAQ separates them with one illustration. Take a bond with an 8.24% coupon, ₹100 face value, trading at ₹103.
- Coupon yield is the coupon divided by face value. Here that is 8.24 ÷ 100, or 8.24%. It never changes, whatever the market does.
- Current yield is the annual coupon divided by the price you pay. Here that is 8.24 ÷ 103 × 100, which works out to 8.00%. It reflects price, but only the coupon part of your return.
- Yield to maturity goes further. It counts the coupons and also the gain or loss you lock in by paying ₹103 for something that will repay only ₹100.
The RBI notes that current yield ignores other sources of return, and it also does not account for reinvesting the interest you receive along the way. That gap is why YTM exists.
The coupon tells you what the issuer pays. The yield to maturity tells you what you earn, and the price you paid decides the difference.
How Indian government bonds pay, and why it matters for the maths
Before calculating anything, get the cash flows right. Dated G-Secs in India pay their coupon on the face value every half year, according to the RBI FAQ. The RBI’s own example is the 8.24% GS 2018, which paid 4.12% of face value every six months, half of the annual 8.24% coupon. The same FAQ says the tenor of dated securities generally runs from 5 to 40 years.
Treasury bills are different. They are zero-coupon instruments issued at a discount and redeemed at face value, so there are no interim cash flows at all. We will come back to them.
Because coupons come twice a year, a proper YTM calculation discounts each half-yearly payment at half the annual yield. Skip that and your answer will be slightly off.
Working out YTM by hand: the RBI’s own example
The RBI FAQ uses a two-year security with an 8% coupon priced at ₹102 per ₹100 face value. With half-yearly coupons, the holder gets ₹4 four times, plus ₹100 back with the last coupon. The YTM is the rate r that solves:
102 = 4/(1+r/2)^1 + 4/(1+r/2)^2 + 4/(1+r/2)^3 + 104/(1+r/2)^4
There is no neat algebraic way to isolate r. The RBI describes it as trial and error: guess a rate, compute the right-hand side, and if the answer is above 102, try a higher rate. Once you have one guess that gives a price above 102 and one that gives a price below, you can interpolate between them.
Here is how that search goes when we run it:
| Rate tried | Price it gives | Next move |
|---|---|---|
| 6.8% | ₹102.21 | Too high, try a higher rate |
| 7.0% | ₹101.84 | Too low, so the answer is between 6.8% and 7.0% |
Narrowing it down, our calculation puts the YTM at about 6.91%. Notice that this sits below the 8% coupon. That is what you expect for a bond bought above face value: you collect a generous coupon but lose ₹2 at redemption, and the YTM spreads that loss over the life of the bond.
Doing it in a spreadsheet
Nobody on a bond desk does trial and error by hand. The RBI FAQ points to Excel’s YIELD function:
YIELD(settlement, maturity, rate, price, redemption, frequency, basis)
Settlement is the date the trade settles, maturity is the redemption date, rate is the annual coupon, price and redemption are both per ₹100 face value. For Indian government bonds, the RBI says frequency should be 2, since coupons are half-yearly, and basis should be 4, which is the 30/360 day-count convention used for G-Secs.
Google Sheets has the same function with the same arguments. Feed it real settlement and maturity dates and it also handles the awkward case where you buy midway between two coupon dates.
A quick approximation you can do on paper
Investopedia gives a shortcut that gets you close without iteration:
YTM ≈ [C + (FV − PV) ÷ t] ÷ [(FV + PV) ÷ 2]
Here C is the annual coupon, FV the face value, PV the current price and t the years left to maturity. It treats the discount or premium as if it were earned evenly each year and divides by the average of price and face value.
Try it on a hypothetical five-year bond with a 7.10% coupon, paid half-yearly, trading at ₹97.50. These are example numbers for illustration, not a real security.
- Annual coupon: ₹7.10. Discount earned per year: (100 − 97.50) ÷ 5 = ₹0.50.
- Average of price and face value: (100 + 97.50) ÷ 2 = ₹98.75.
- Approximate YTM: (7.10 + 0.50) ÷ 98.75, which is about 7.70%.
Solving it properly with half-yearly discounting gives about 7.71%. The shortcut lands within a couple of basis points here. It drifts further on long bonds or ones priced far from par, so treat it as a sanity check, not a quote.
For the same bond, the current yield would be 7.10 ÷ 97.50, or about 7.28%. The YTM is higher because it also counts the ₹2.50 you gain when the bond is repaid at ₹100.
Discount, par and premium: reading the direction
Flip the example. Suppose that same five-year, 7.10% bond trades at ₹102.40 instead. Now:
| Measure | Bond at ₹97.50 | Bond at ₹102.40 |
|---|---|---|
| Coupon yield | 7.10% | 7.10% |
| Current yield | about 7.28% | about 6.93% |
| Yield to maturity | about 7.71% | about 6.53% |
All figures in this table are our calculations on the hypothetical bond above.
The pattern is worth memorising. When a bond trades below face value, YTM is above the current yield, which is above the coupon. Above face value, the order reverses. At exactly ₹100, all three match. Investopedia describes the same split: a premium bond carries a coupon higher than the yield you actually realise, and a discount bond carries a lower one.
Why prices fall when yields rise
Since price is just the cash flows discounted at the YTM, a higher yield means a lower price. Run our hypothetical ₹97.50 bond through the formula again. If its yield rises by 50 basis points, the price drops to about ₹95.51. If its yield falls by 50 basis points, the price rises to about ₹99.54.
Look closely and the move is not symmetric: the gain from a fall in yield is a little bigger than the loss from a rise. The RBI FAQ explains why. The price-yield relationship is not a straight line but a curve, which is what bond people call convexity. How far a bond’s price moves for a given yield change depends mostly on its duration, which we cover in our piece on bond duration and why long G-Secs swing more. And if the jargon of “50 bps” trips you up, our explainer on basis points sorts it out.
The assumption inside every YTM quote
Here is the catch. Investopedia notes that YTM assumes you hold the bond to maturity and reinvest every coupon at that same yield. Real life rarely co-operates. If rates fall after you buy, your coupons get reinvested at lower rates and the return you actually earn falls short of the YTM you were quoted.
Back to our ₹97.50 bond, which pays ₹3.55 every six months for ten half-years. If every coupon is reinvested at the bond’s own 7.71% yield, the money at maturity adds up to about ₹142.34, and the realised return matches the YTM. But reinvest those coupons at 6% and the pot is about ₹140.70, which works out to a realised return of roughly 7.47%. Reinvest at 8% and it is about 7.75%. Again, these are our calculations on example figures.
YTM is a promise only if two things hold: you never sell early, and rates sit still long enough for every coupon to earn the same yield. Neither is guaranteed.
The second break comes if you sell before maturity. Then your return depends on the price you get on the day, which depends on where yields are then. A five-year bond bought at 7.7% can still lose money over six months if yields jump. That is market risk, and it is the reason we treat bond holdings with the same discipline covered in our risk management guide.
YTM on zero-coupon instruments
T-bills and other zero-coupon instruments are the easy case. There are no coupons to reinvest, so the reinvestment problem disappears. Your only cash flow is the face value at the end.
Take a hypothetical three-year zero-coupon bond priced at ₹81 per ₹100 face value. Solving for the semi-annually compounded rate that grows ₹81 into ₹100 over six half-years gives about 7.15%. For T-bills specifically, the RBI FAQ gives a separate yield formula, so check that section rather than reusing the dated-bond method.
Where you will actually meet YTM
- G-Sec quotes. Government bonds trade on yield. When news says the ten-year yield moved, it is talking about YTM on the benchmark paper.
- Debt mutual fund factsheets. Funds publish the portfolio’s yield to maturity. It is a snapshot of what the holdings would yield if held to maturity, not a forecast of the fund’s return, since the manager keeps buying and selling.
- Target maturity funds and ETFs. Here the portfolio is held to a fixed date, so YTM at entry is a closer guide to what you may earn, minus costs. Our explainer on the Bharat Bond ETF shows how that structure works.
- Corporate bonds and NCDs. A higher YTM than a G-Sec of the same tenor is compensation for credit risk. A yield that looks too good usually is pricing in something you should look up.
A short checklist before you trust a YTM number
- Check the price you will actually pay, including accrued interest if you are buying between coupon dates.
- Confirm the coupon frequency. Half-yearly is standard for G-Secs; some corporate papers pay annually or monthly.
- Ask whether you will really hold to maturity. If not, the YTM is just a starting point.
- Compare against a G-Sec of similar maturity. The difference is the extra you are being paid for taking on credit and liquidity risk.
- Look for call or put options. A callable bond can be repaid early, and the yield to call may matter more than YTM.
Yield to maturity is not a perfect number. It assumes a world that sits still. But it is the only measure that puts price, coupon and time into one rate, and once you can work it out yourself, bond quotes stop being noise and start being comparable.
Disclaimer: This article is for education only and is not investment advice. Bond prices and yields change with market conditions. The worked examples use hypothetical numbers for illustration. Please consult a SEBI-registered adviser before making investment decisions.

Leave a Reply
Join the conversation
Commenting is open to registered readers. Sign up with just your email — no password needed, and it takes under a minute.
Sign up to comment Log in