Level 1 · Bond Basics · 2 of 12

How Is a Bond Priced?

Why a bond worth ₹950, ₹1,000, or ₹1,100 today has cash flows that all happen later. The answer is present value.

A bond is priced by finding today's value of everything it's expected to pay in the future. That's the whole idea. Everything in this article is really just one question, asked repeatedly: what is a future rupee worth today?

Start with one future payment

Imagine someone says: "I'll give you ₹1,100 exactly one year from today." Would you pay them ₹1,100 right now for that promise? Almost certainly not — you'd rather keep your ₹1,000 and invest it somewhere earning, say, 10%, because:

₹1,000 × (1 + 10%) = ₹1,100

So at a 10% required return, ₹1,100 received in one year is worth exactly ₹1,000 today. That's present value — the amount today that grows into a known future amount at your required rate of return.

The longer you wait, the less it's worth today

Keep the future payment fixed at ₹1,100 and the discount rate fixed at 10%, and just vary how long you have to wait:

Received inValue today at 10%
1 year₹1,000.00
2 years₹909.09
3 years₹826.45
5 years₹683.01
10 years₹424.10

The further away a payment sits, the more heavily it gets discounted. The formula behind every row in that table:

PV = FV ÷ (1 + r)ⁿ

where PV is present value, FV is the future payment, r is the discount rate, and n is the number of periods you wait. This one equation is the foundation of everything that follows — bond pricing is nothing more than applying it to every cash flow a bond pays, then adding the results together.

The simplest bond: zero-coupon

Take the easiest case first. Suppose a bond promises exactly ₹1,000 five years from now, with no payments in between. If the appropriate discount rate is 8%:

Price = 1,000 ÷ (1.08)⁵ ≈ ₹680.58

So the bond could reasonably trade for about ₹680.58 today even though it eventually pays out ₹1,000. The ₹319.42 gap is the compensation for waiting five years — assuming the issuer pays as promised. This is why zero-coupon bonds are such a useful teaching tool: there's only one cash flow, so the entire pricing question collapses to "what is this one future rupee amount worth today?" A coupon-paying bond is exactly the same calculation, just repeated for several cash flows instead of one.

Price this zero-coupon bond in the calculator →

Note: the calculator may show a slightly different figure (around ₹680.44 rather than ₹680.58) because it discounts using the exact number of calendar days to maturity — including any leap day in between — rather than assuming a clean 5.0-year period the way the textbook formula does. That distinction is the whole reason this calculator uses exact dates instead of simple annual counting; it's covered in the methodology page.

Now add coupons

Take a bond with face value ₹1,000, an 8% annual coupon, and 5 years to maturity, priced at a required yield of exactly 8%:

YearCash flow
1₹80
2₹80
3₹80
4₹80
5₹1,080

Discount every one of those cash flows back at 8% and add them up:

P = 80/1.08 + 80/1.08² + 80/1.08³ + 80/1.08⁴ + 1,080/1.08⁵ = ₹1,000.00

Exactly ₹1,000 — because the coupon rate and the required yield happen to be identical. That's not a coincidence; it's the defining property of a bond trading at par. Change either number and the price moves away from face value, which is exactly what the next section shows.

What happens when market yields move?

Keep the bond exactly the same — ₹1,000 face, 8% coupon, 5 years — and change only the discount rate the market is demanding. The contract doesn't change; what changes is what a new investor is willing to pay for it.

Market yieldBond price
5%₹1,129.88
6%₹1,084.25
7%₹1,041.00
8%₹1,000.00
9%₹961.10
10%₹924.18

Nothing about the bond's promised payments changed across that entire table. What moved was the rate used to discount them. This is the fundamental reason bond prices and yields move in opposite directions:

Yield rises → Price falls
Yield falls → Price rises
11301000924Yield →Price8% → par5%10%
Same bond, same promised payments — only the discount rate changes along this curve.

Why doesn't the coupon just stay the price?

Think about it from a buyer's perspective. Say new 5-year bonds of similar risk are now issued at a 10% coupon. Would you pay ₹1,000 for an old bond that only pays 8%, when a brand-new bond paying 10% is available for the same ₹1,000? No — so the old bond's price has to fall until its return becomes competitive with what's newly available. That's why price moves instead of the coupon changing: the coupon is fixed by contract at issuance, but price is a live market number that adjusts every day.

See this bond re-priced at 9% yield →

The general bond-pricing formula

Generalising what we've done so far, for any fixed-rate bond:

P = Σ [ Cₜ ÷ (1 + y)ᵗ ] for t = 1 to n, plus F ÷ (1 + y)ⁿ

where P is price, C is the coupon payment each period, F is face value, y is the yield per period, and n is the number of periods. This can equally be written as a sum over every individual cash flow, P = Σ CFₜ ÷ (1+y)ᵗ — a form that generalises naturally once cash flows stop being evenly spaced, which matters the moment you deal with step-up coupons, amortising bonds, or any custom schedule. The calculator's exact-date cash-flow engine works exactly this way under the hood.

Premium and discount, precisely

With the formula in hand, premium and discount stop being vague terms and become direct consequences of comparing coupon to yield:

A quick sanity check worth keeping in your back pocket: if coupon exceeds yield, price should exceed 100 (per 100 face). If your calculator ever shows the opposite, an input is wrong somewhere.

Price is not what's printed on the bond

"Face value = ₹1,000" doesn't mean the bond is always worth ₹1,000 — it means ₹1,000 of principal is scheduled to be repaid at maturity, assuming the issuer honours the contract. What the bond is worth right now depends entirely on the present value of everything it still has left to pay, discounted at whatever rate the market currently demands. That's why the identical ₹1,000 face-value bond can trade at ₹920, at exactly ₹1,000, or at ₹1,070 depending purely on conditions in the market — nothing about the bond's own contract needs to change for its price to move.

In India: this is exactly why a G-Sec issued years ago at a particular coupon can trade well above or below its ₹100 face value today — its price simply reflects where the current G-Sec yield curve sits relative to that old coupon, nothing more.

What else moves a bond's price

Once the pricing equation is second nature, several market behaviours stop looking mysterious:

A note for later: yield isn't always a single number

Everything above discounted every cash flow at one common yield, which is a useful simplification for learning. Professional fixed-income pricing more often uses a full term structure — a different spot rate for each maturity — so that a payment in Year 1 and a payment in Year 5 are each discounted at the rate appropriate to their own timing, rather than one blended number covering both:

P = CF₁/(1+s₁) + CF₂/(1+s₂)² + CF₃/(1+s₃)³ + …

Don't worry about this yet — it's covered fully once this series reaches the yield curve. For now, the key idea to carry forward is that YTM is a convenient single-number summary, while the underlying curve of spot rates can carry considerably more information about how the market actually prices time.

Common mistakes

"Face value is the price."
No — face value is the fixed contractual principal; price is today's market value, and the two are rarely identical.
"If rates rise, the coupon gets higher."
Not for a standard fixed-rate bond. The coupon is locked in at issuance. It's the market price that adjusts, not the payment.
"A bond priced below ₹1,000 is a bad bond."
Not necessarily. A perfectly healthy bond trades below face value whenever market yields have risen since it was issued — that's normal, not a red flag on its own.

The chain to remember

Bond price = present value of future cash flows.

A bond pays future cash flows → those cash flows must be discounted back to today → the discounted amounts sum to today's price → change the required yield → the discounted amounts change → the price changes. That single chain is the foundation for understanding duration, convexity, callable bonds, and every more advanced idea that follows in this series.

← Previous
What Is a Bond?
Next →
Bond Yield Explained
Browse all concepts
Learn Bonds hub →