Chapter 7 — Bond Pricing (MBA Foundations)
Learning Goals
- Understand what a bond is: coupon, maturity, price, yield
- Explore the relationship between bond prices and interest rates
- Practice computing bond prices, current yield, yield to maturity (YTM)
- Use Excel and online calculators for real examples
📽️ Chapter 7 Slides (PPT)
Inline viewer uses the Office web viewer. If your browser blocks it, use the buttons below.
Bond Basics
A bond is a loan you make to a company or government. You receive periodic interest payments (“coupons”) and the face value (par, usually $1,000) at maturity.
| Term | Meaning |
|---|---|
| Coupon | Annual interest payment, e.g., 5% of $1,000 = $50 |
| Price | What you pay for the bond today (may be below or above $1,000) |
| Yield to Maturity | The annualized return if you hold the bond until maturity |
What is a Bond? (quick intro)
Bond Cash-Flow Timeline (see every payment + PV)
Math
Cash-Flow Breakdown (each period)
4) Price–Yield Curve (hold everything else constant)
Tip: This keeps par, coupon, maturity, and frequency fixed while sweeping the YTM. Expect a downward-sloping curve.
Excel (How-to + Recipes)
Quick how-to
- Price (present value of coupons + par):
=ABS(PV(rate, nper, pmt, fv))Userate = YTM/frequency,nper = years*frequency,pmt = coupon*par/frequency,fv = par. - Yield to Maturity (solve for rate):
=RATE(nper, pmt, -Price, fv)*frequencyReturn is annualized by multiplying the per-period rate byfrequency. - Current Yield (quick ratio):
=(coupon*par)/Price - Duration (Excel built-in):
=DURATION(Settle, Maturity, coupon, ytm, frequency, 1)and=MDURATION(...)
Copy/paste recipes
- Price (semi-annual):
=ABS(PV( y/2 , n*2 , coupon*par/2 , par )) - YTM (semi-annual):
=RATE( n*2 , coupon*par/2 , -Price , par )*2 - Current Yield:
=(coupon*par)/Price - Duration (semi-annual):
=DURATION(Settle, Maturity, coupon, ytm, 2, 1)/=MDURATION(...) - Zero price from YTM (semi-annual):
=ABS(PV( y/2 , n*2 , 0 , par ))
Examples
- Price a 5-yr, 4% annual coupon at 5% yield:
=ABS(PV(5%, 5, 40, 1000))→ $956.71 - YTM for 10-yr, 5% semi-annual coupon, price $950:
=RATE(10*2, 0.05*1000/2, -950, 1000)*2→ ≈ 5.66%
Worked Examples (sanity checks) — with math + Excel
- YTM from price (semi-annual): 10-year, 5% coupon, par $1,000, price $950.
🔍 Show solution (math + Excel)
Given: N = 10 years, frequency = 2 ⇒ periods Np = 20; coupon/period = 0.05×1000/2 = $25.
Math setup: Let i be the per-period yield. Solve
950 = Σ_{t=1}^{20} 25/(1+i)^t + 1000/(1+i)^{20}. Numerical root gives i ≈ 0.02815 ⇒ YTM = 2×i ≈ 5.63%.Excel:
=RATE(10*2, 0.05*1000/2, -950, 1000)*2→ 5.63% - Zero-coupon yield (semi-annual): 10-year zero priced $456.39.
🔍 Show solution (math + Excel)
Math: Price = PV of par only:
456.39 = 1000/(1 + r/2)^{20}⇒1 + r/2 = (1000/456.39)^{1/20}⇒r = 2*((1000/456.39)^{1/20} − 1) ≈ 8.00%.Excel:
=RATE(10*2, 0, -456.39, 1000)*2→ 8.00% - Current Yield vs YTM: 5% coupon priced at $850.
🔍 Show solution (math + Excel)
Current yield (approx):
CY = annual coupon / price = 0.05×1000 / 850 = 5.88%.Why YTM > CY here? Discount price < par implies a capital gain component at maturity, so YTM exceeds current yield.
Illustrative YTM (assume 10y, semi-annual):
=RATE(10*2, 0.05*1000/2, -850, 1000)*2→ ≈ 7.12% (changes with maturity).
Tip: sanity-check sensitivity with Excel =DURATION()/=MDURATION() for the same inputs.
Yield Curve Shapes — Normal vs Inverted vs Humped
Maturities: 3M · 6M · 1Y · 2Y · 3Y · 5Y · 7Y · 10Y · 20Y · 30Y | Y-axis: yield (%). Data below are fixed examples for demonstration.
- Longer maturities yield more (term premium).
- Typical in expansions; policy not overly tight.
- Short rates > long rates (policy tight, markets expect cuts).
- Often associated with slowdown/recession risk.
- Middle maturities highest; long end lower than the “belly”.
- Suggests transition/uncertainty about inflation and policy path.
Where to Find Bond Data
Real-World Yield Curve (live link + quick Q&A)
Visit: U.S. Treasury Yield Curve or the interactive UST Yield Curve explorer.
What does a normal (upward-sloping) curve usually mean? (click to reveal)
- Story: Investors demand higher yields to lock money up longer → inflation/term risk priced into long bonds.
- Economy signal: Expansion baseline; policy not tight.
- Student takeaway: Long-term rates > short-term. If you need cash soon, avoid long duration (bigger price swings). If your horizon is long, you can earn more but accept interest-rate risk.
What does an inverted curve mean? (click to reveal)
- Story: Short rates (anchored by Fed policy) are high; markets expect future cuts → long yields below short yields.
- Economy signal: Often a slowdown/recession risk signal; credit conditions tight.
- Student takeaway: T-bills/CDs can yield more than 10-year Treasuries. Defensive posture and shorter duration make sense for near-term goals.
What does a humped curve mean? (click to reveal)
- Story: Mixed signals—front end tight, mid maturities softer, long end higher (inflation/term premium).
- Economy signal: Transition/uncertainty (policy shifts, inflation doubts).
- Student takeaway: Consider a barbell (some short, some long) instead of concentrating in the middle.
Practice
- Compute price of a 3-year zero-coupon bond at 5% yield.
- Find current yield for a 10-year 6% coupon bond selling at $950.
- Use Excel to solve YTM for IBM 5-year 4% coupon bond priced at $920.
- Graph price vs yield for a 10-year bond (Excel data table).
Homework — Chapter 7 (Excel-standardized, Chapter 6 style)
Chapter 6 layout with the fixed row: Function, rate, nper, pmt, pv, fv, type. Works with semi-annual convention.
par= 1000frequency f= payments/year (1=annual, 2=semi-annual, 4=quarterly, 12=monthly)rate(per period) =YTM / fnper=years × fpmt(per period) =coupon% × par / ffv=par(=1000)
RATE(), price goes in as a negative PV (e.g., -950). For prices, PV() returns negative by convention — use ABS() to display as positive.