Bond YTM and Duration Calculator
Price or yield in, duration and PV01 out. With the formulas behind each number.
This calculator prices a plain fixed-coupon bond and measures its interest rate risk. Enter the face value, the coupon rate, the years to maturity and the number of coupons a year (2 for Indian G-Secs). Then give either a yield to get the price, or a price to get the yield to maturity (YTM). It returns Macaulay duration, modified duration and PV01 as well.
Use it to check your hand working while you prepare for the IIBF Certified Treasury Professional (CTP) exam. The exam itself allows only a basic 8-function calculator, so the method still has to be in your head.
You save ₹250
- Full-length mocks
- Chapter-wise practice
- Calculation practice
One payment, no subscription · Valid for 1 month
Bond YTM and Duration Calculator
Prices are per ₹100 of face value. Coupons and yields are annual rates; the tool divides them by the number of payments a year.
- Price
- ₹100.0000
- Macaulay duration
- 7.3549 years
- Modified duration
- 7.1062
- PV01 per ₹100 face
- ₹0.0711
Assumes whole coupon periods, settlement on a coupon date and no accrued interest.
What It Computes
Price
Formula
Sum of each cash flow / (1 + y/m)^t, for t = 1 to n periods
Read it as
Present value of all coupons and principal at the yield y
YTM
Formula
The y that makes the price formula equal the market price, found by trial
Read it as
The bond's internal rate of return if held to maturity
Macaulay duration
Formula
Sum of t x PV of cash flow t, divided by price, then divided by m
Read it as
Weighted average time to the cash flows, in years
Modified duration
Formula
Macaulay duration / (1 + y/m)
Read it as
Approximate % price change for a 1% change in yield
PV01
Formula
Modified duration x price / 10,000
Read it as
Rupee price change per ₹100 for a 1 basis point change in yield
| Output | Formula | Read it as |
|---|---|---|
| Price | Sum of each cash flow / (1 + y/m)^t, for t = 1 to n periods | Present value of all coupons and principal at the yield y |
| YTM | The y that makes the price formula equal the market price, found by trial | The bond's internal rate of return if held to maturity |
| Macaulay duration | Sum of t x PV of cash flow t, divided by price, then divided by m | Weighted average time to the cash flows, in years |
| Modified duration | Macaulay duration / (1 + y/m) | Approximate % price change for a 1% change in yield |
| PV01 | Modified duration x price / 10,000 | Rupee price change per ₹100 for a 1 basis point change in yield |
Worked Example: 5-Year G-Sec at 6.90%
Illustrative bond: face ₹100, coupon 7.18% paid half-yearly, 5 years to maturity, YTM 6.90%. The calculator gives the same figures.
- 1
Per-period inputs
Coupon per half year = 7.18 / 2 = ₹3.59. Rate per half year = 6.90 / 2 = 3.45%. Periods = 5 x 2 = 10.
- 2
Price
Discount nine coupons of ₹3.59 and a final ₹103.59 at 3.45% per period. Price = ₹101.1673. It is above par because the coupon (7.18%) is above the yield (6.90%).
- 3
Macaulay duration
Weight each present value by its period number and add: 868.62. Divide by the price: 868.62 / 101.1673 = 8.5860 half years, or 4.2930 years.
- 4
Modified duration
4.2930 / 1.0345 = 4.1498. A 1% rise in yield cuts the price by about 4.15%.
- 5
PV01
4.1498 x 101.1673 / 10,000 = ₹0.0420 per ₹100. On ₹10 crore face value that is about ₹41,983 per basis point.
Certified Treasury Professional format questions. No signup.
Going the Other Way: Price to YTM
Illustrative: a 3-year 7.10% semi-annual bond trades at ₹98.50. There is no direct formula, so price at two trial yields and interpolate, as RBI's G-Sec primer describes.
Trial 1
Working
Price at 7.50% YTM
Result
₹98.9430 (above 98.50, so the yield is higher)
Trial 2
Working
Price at 8.00% YTM
Result
₹97.6410 (below 98.50)
Interpolate
Working
7.50 + (98.9430 minus 98.50) / (98.9430 minus 97.6410) x 0.50
Result
7.67%
Calculator check
Working
Exact YTM by iteration
Result
7.67%
| Step | Working | Result |
|---|---|---|
| Trial 1 | Price at 7.50% YTM | ₹98.9430 (above 98.50, so the yield is higher) |
| Trial 2 | Price at 8.00% YTM | ₹97.6410 (below 98.50) |
| Interpolate | 7.50 + (98.9430 minus 98.50) / (98.9430 minus 97.6410) x 0.50 | 7.67% |
| Calculator check | Exact YTM by iteration | 7.67% |
How Dealers Use Modified Duration and PV01
Modified duration answers "what happens to my price if yields move". In the 5-year example, a 25 basis point rise gives an estimate of minus 4.1498 x 0.0025 x 101.1673 = minus ₹1.0496. The actual fall, repricing at 7.15%, is ₹1.0430. The small gap is convexity, and it grows with larger moves.
PV01 turns that into rupees on the actual position, which is how desks set and watch limits. A bank's mid office can cap the PV01 of each book, add PV01 across bonds and swaps, and size a hedge so the PV01 of the hedge offsets the PV01 of the position. PV01 of a portfolio is simply the sum of the PV01s of its holdings.
Limits of a Simple Calculator
- check_circleIt assumes a full coupon period to the next payment. Between coupon dates, add accrued interest (30/360 for G-Secs) to get the dirty price the buyer pays.
- check_circleIt treats every cash flow at one yield. Desks price off a zero coupon curve for anything precise.
- check_circleIt does not handle callable, floating rate or inflation-indexed bonds.
- check_circleDuration and PV01 are first-order estimates. For large yield moves, add convexity.
FAQs
Why does the price come out above ₹100?expand_more
Because the coupon is higher than the yield you entered. The bond pays more than the market rate, so buyers pay a premium. If the yield is above the coupon, the price is below ₹100.
Should I use 1 or 2 payments a year?expand_more
Use 2 for Indian G-Secs and most corporate bonds that pay half-yearly. Use 1 for annual-pay bonds. The choice changes price, YTM and duration.
What is the difference between Macaulay and modified duration?expand_more
Macaulay duration is in years: the weighted average time to the cash flows. Modified duration divides it by (1 + y/m) and is read as the percentage price change for a 1% change in yield.
How do I get PV01 for my position size?expand_more
Take the PV01 per ₹100 and multiply by face value / 100. For ₹10 crore face value, multiply by 10,00,000.
Can I use this calculator in the CTP exam?expand_more
No. IIBF allows only a basic calculator of up to 8 functions and 12 digits. Use the tool to check your hand working while you practise.
Next steps
- PV01 & VaRarrow_forward
- Practice Questionsarrow_forward
- Bond Pricing & Durationarrow_forward
- Formula Sheetarrow_forward
- Day Count Conventionsarrow_forward
- Swaps & FRAsarrow_forward
100 questions on the full CTP syllabus, timed and scored.
