Browse lessons
On this page

Learn · Lesson

~17 min read

Fixed-Income Securities: Bond Pricing, Yield Curves, Duration, and Credit Risk

A bond is a contract for dated payments. To understand its value, ask three questions: What payments are promised? What discount factors price those dates? What could change the payments or their value? The first two questions lead to bond pricing; the third leads to interest-rate and credit risk.

Learning goals and conventions

You should finish able to price zero-coupon and coupon bonds, recover spot and forward rates, distinguish YTM from expected return, calculate duration and convexity, and explain what immunization can protect.

The basic calculations assume annual effective rates, annual end-of-year coupons, positive fixed cash flows, and settlement immediately after a coupon payment. Thus there is no accrued interest in the examples. Ignore taxes, trading costs, default, and embedded options until explicitly introduced. Write 5% as 0.05 and measure time in years.

For preparation, review the Present Value Relations lesson in Learn. Keep its central rule: rates must match cash-flow timing, currency, and risk.

SymbolMeaning
FFFace value repaid at maturity
CCCoupon amount per payment date
TTMaturity in years in the annual examples
P0P_0Price today, including any accrued interest when applicable
r0,tr_{0,t}Annual effective spot rate from today to date tt
D(0,t)D(0,t)Price today of one unit paid at date tt
yyYield to maturity under the stated compounding convention

1. Lecture 4: what belongs to fixed income?

Fixed-income securities are debt claims with contractual payment rules. The label does not mean every payment or market price is guaranteed or constant: floating-rate notes reset their coupons, borrowers may default, and mortgages can repay early.

Market segmentBasic claimA risk to investigate
U.S. TreasuriesObligations of the U.S. governmentInterest-rate and inflation exposure
Corporate debtObligations of a companyDefault, recovery, and credit-spread changes
Municipal bondsDebt of public issuers or specified projectsIssuer or project credit risk; tax treatment varies
Mortgage-backed securitiesClaims linked to pools of mortgagesPrepayment and changing payment timing
Asset-backed securitiesClaims backed by other receivables or loansCollateral performance and payment priority

New securities are sold in the primary market; existing securities trade in secondary markets, often through dealers or electronic platforms. A quoted price is not necessarily an executable price for every trade size. Bid–ask spreads and liquidity matter when turning theoretical replication into a trade.

Contract terms to read first

Identify the issuer, currency, face value, coupon schedule, maturity, seniority, collateral, and any call or put provision. Also distinguish clean price, excluding accrued coupon interest, from dirty price, the invoice price including accrued interest. Cash-flow PV formulas price the full claim at settlement; comparing them with an unadjusted clean quote can create a false discrepancy.

2. Pure discount bonds and spot rates

A pure discount or zero-coupon bond makes one payment, FF, at maturity TT, with no interim coupons:

Date              0                 1                 2
                   |-----------------|-----------------|
Investor flow     -P                 0                +F

For a default-free payment and matching spot rate:

P0=F(1+r0,T)T=FD(0,T),D(0,T)=(1+r0,T)−T.P_0=\frac{F}{(1+r_{0,T})^T}=FD(0,T), \qquad D(0,T)=(1+r_{0,T})^{-T}.

The spot rate is the rate for investing from today until a particular future date. The two-year spot rate applies over the full two-year interval; it is not simply the rate earned in the second year.

Worked example: price and implied spot rate

A two-year zero pays 1,000, and its annual effective spot rate is 5%:

P0=1,0001.052≈907.03.P_0=\frac{1{,}000}{1.05^2}\approx907.03.

Conversely, given price and face value:

r0,T=(FP0)1/T−1.r_{0,T}=\left(\frac{F}{P_0}\right)^{1/T}-1.

Using the unrounded price recovers 5%.

A zero trades below face value when its applicable yield is positive. At zero yield it trades at face value; with a negative yield above -100% under this convention it trades above face value. Having no coupon does not by itself guarantee a discount. For risky zeros, the contractual payment is promised rather than certain.

3. Lecture 5: coupon bonds are collections of zeros

For annual coupon rate cc, the coupon is C=cFC=cF. A three-year bond with face value 1,000 and coupon rate 5% promises:

Date              0                 1                 2                 3
                   |-----------------|-----------------|-----------------|
Investor flow     -P                +50               +50              +1,050

The final payment includes both coupon and principal. With date-specific discount factors:

P0=∑t=1TCD(0,t)+FD(0,T)=∑t=1T−1C(1+r0,t)t+C+F(1+r0,T)T.P_0=\sum_{t=1}^{T}C D(0,t)+F D(0,T) =\sum_{t=1}^{T-1}\frac{C}{(1+r_{0,t})^t} +\frac{C+F}{(1+r_{0,T})^T}.

Replication, stripping, and no arbitrage

Buy a zero paying 50 at year 1, another paying 50 at year 2, and another paying 1,050 at year 3. Together they reproduce the coupon bond’s payments. If the claims have the same credit, legal, and trading characteristics, the law of one price requires equal prices in a frictionless market.

If the coupon bond were overpriced relative to its replicating zeros, an idealized arbitrage would sell the bond and buy the zeros. The future payments cancel while the initial price difference is received today. Real short-sale constraints, financing costs, and bid–ask spreads can prevent small discrepancies from being exploitable.

U.S. Treasury STRIPS allow eligible Treasury interest and principal components to trade separately as zero-coupon claims. Treating a corporate bond mathematically as a bundle of payments does not mean every corporate bond can be operationally stripped in this program.

Worked example: two spot rates

A two-year bond pays 50 after one year and 1,050 after two. Let r0,1=4%r_{0,1}=4\% and r0,2=5%r_{0,2}=5\%:

P0=501.04+1,0501.052≈48.08+952.38=1,000.46.P_0=\frac{50}{1.04}+\frac{1{,}050}{1.05^2} \approx48.08+952.38=1{,}000.46.

Each payment uses the rate for its own maturity. Do not discount the second payment using 1.04×1.051.04\times1.05: the 5% rate already describes the entire two-year investment.

Bootstrapping a discount curve

Suppose a one-year zero paying 100 costs 96.153846, so D(0,1)=1/1.04D(0,1)=1/1.04. A two-year annual 5% coupon bond with face value 100 costs 100.045788. Its price satisfies

100.045788=5D(0,1)+105D(0,2).100.045788=5D(0,1)+105D(0,2).

Therefore

D(0,2)=100.045788−5D(0,1)105≈0.907029,D(0,2)=\frac{100.045788-5D(0,1)}{105}\approx0.907029,

and r0,2=D(0,2)−1/2−1≈5%r_{0,2}=D(0,2)^{-1/2}-1\approx5\%. This sequential extraction is called bootstrapping. Actual curve construction must also handle irregular dates, interpolation, day-count rules, and instrument differences.

4. Yield to maturity: one number summarizing a price

YTM is the single rate yy solving

P0=∑t=1TCFt(1+y)t.P_0=\sum_{t=1}^{T}\frac{CF_t}{(1+y)^t}.

For a fixed-rate annual coupon bond:

P0=Cy[1−(1+y)−T]+F(1+y)T,P_0=\frac{C}{y}[1-(1+y)^{-T}]+\frac{F}{(1+y)^T},

with the zero-rate case evaluated by its limit. YTM is generally found numerically. With positive future payments, price falls monotonically as yy increases, which makes the economically relevant solution well behaved.

Worked example: our reference bond

Take F=1,000F=1{,}000, C=50C=50, T=3T=3, and y=6%y=6\%:

P0=501.06+501.062+1,0501.063≈973.2699.P_0=\frac{50}{1.06}+\frac{50}{1.06^2}+\frac{1{,}050}{1.06^3} \approx973.2699.

The bond is below par because its coupon rate is below YTM. Under these timing conventions, coupon equal to yield gives par, and coupon above yield gives a premium.

Do not confuse three rates:

  • Coupon rate: annual contractual coupon divided by face value, here 5%.
  • Current yield: annual coupon divided by price, here approximately 5.1373%; it omits the capital gain or loss to maturity.
  • YTM: the internal rate implied by price and all promised cash flows, here 6%.

YTM is not automatically a forecast or a guaranteed realized return. Receiving all promised payments and reinvesting interim coupons at YTM is required to turn it into the same compounded terminal-wealth return. Selling before maturity introduces an uncertain sale price.

For semiannual coupons, use C=cF/2C=cF/2, 2T2T periods, and the appropriate semiannual rate. A nominal annual YTM compounded twice yearly gives a periodic rate y/2y/2; an annual effective yield gives (1+y)1/2−1(1+y)^{1/2}-1 instead.

5. Term structure and forward rates

The term structure describes rates across maturities at a given observation date. A yield curve can be upward sloping, inverted, flat, or humped. Specify what is plotted: spot rates, par yields, and individual coupon-bond YTMs are different curves.

An upward curve may reflect expected increases in short rates, term premia, or maturity-specific demand and supply. It does not prove short rates will rise. Liquidity, risk compensation, and market segmentation complicate the interpretation.

Deriving the forward rate

Compare two ways of investing from today to t2t_2: lock in the t2t_2 spot investment, or invest to t1t_1 and simultaneously lock a forward investment from t1t_1 to t2t_2. Under consistent annual effective compounding:

(1+r0,t1)t1(1+ft1,t2)t2−t1=(1+r0,t2)t2.(1+r_{0,t_1})^{t_1}(1+f_{t_1,t_2})^{t_2-t_1} =(1+r_{0,t_2})^{t_2}.

Thus

ft1,t2=[(1+r0,t2)t2(1+r0,t1)t1]1/(t2−t1)−1.f_{t_1,t_2}=\left[\frac{(1+r_{0,t_2})^{t_2}} {(1+r_{0,t_1})^{t_1}}\right]^{1/(t_2-t_1)}-1.

Equivalently, (1+ft1,t2)t2−t1=D(0,t1)/D(0,t2)(1+f_{t_1,t_2})^{t_2-t_1}=D(0,t_1)/D(0,t_2).

For one-year spot 4% and two-year spot 5%:

f1,2=1.0521.04−1≈6.0096%.f_{1,2}=\frac{1.05^2}{1.04}-1\approx6.0096\%.

Check: 1.04×1.060096…=1.1025=1.0521.04\times1.060096\ldots=1.1025=1.05^2. The forward rate is implied by today’s prices. It is not necessarily the expected future short rate or the rate that will actually prevail next year.

6. Lecture 6: interest-rate risk and duration

For fixed positive payments, increasing the discount yield reduces price. Differentiate the annual price formula:

dPdy=−∑t=1TtCFt(1+y)t+1<0.\frac{dP}{dy}=-\sum_{t=1}^{T}\frac{tCF_t}{(1+y)^{t+1}}<0.

Macaulay duration is the average payment time weighted by each payment’s share of price:

wt=CFt/(1+y)tP,∑twt=1,DM=∑t=1Ttwt.w_t=\frac{CF_t/(1+y)^t}{P},\qquad \sum_t w_t=1,\qquad D_M=\sum_{t=1}^{T}tw_t.

A zero-coupon bond has DM=TD_M=T because all its value arrives at maturity. A positive-coupon bond has duration below maturity because some value arrives earlier.

Modified duration translates that timing measure into price sensitivity:

Dmod=−1PdPdy=DM1+y,ΔPP≈−DmodΔy.D_{\mathrm{mod}}=-\frac{1}{P}\frac{dP}{dy} =\frac{D_M}{1+y},\qquad \frac{\Delta P}{P}\approx-D_{\mathrm{mod}}\Delta y.

Here Δy\Delta y is a decimal change: a 100-basis-point increase means 0.01, not 1. Under a nominal annual yield compounded mm times yearly, with DMD_M measured in years, the denominator becomes 1+y/m1+y/m.

Worked example: duration of the reference bond

For the three-year 5% coupon bond at 6% YTM:

YearCash flowPV at 6%PV weight
15047.16980.04847
25044.49980.04572
31,050881.60020.90581

Using unrounded values gives

DM≈2.857347 years,Dmod≈2.695611.D_M\approx2.857347\text{ years},\qquad D_{\mathrm{mod}}\approx2.695611.

For a rise from 6% to 7%, duration predicts a price change of approximately -2.6956%, or -26.24, giving a price near 947.03. Exact repricing gives 947.5137, a change of approximately -2.6464%. The difference comes from curvature.

A useful scale is DV01, the approximate money loss for a one-basis-point yield rise:

DV01≈PDmod×0.0001≈0.26236DV01\approx PD_{\mathrm{mod}}\times0.0001\approx0.26236

per 1,000 face value for this bond. A large position scales this amount proportionally.

7. Convexity improves the local approximation

Normalized convexity under annual compounding is

C=1Pd2Pdy2=1P∑t=1Tt(t+1)CFt(1+y)t+2.\mathcal{C}=\frac{1}{P}\frac{d^2P}{dy^2} =\frac{1}{P}\sum_{t=1}^{T}\frac{t(t+1)CF_t}{(1+y)^{t+2}}.

A second-order Taylor approximation gives

ΔPP≈−DmodΔy+12C(Δy)2.\frac{\Delta P}{P}\approx-D_{\mathrm{mod}}\Delta y +\frac12\mathcal{C}(\Delta y)^2.

For the reference bond, C≈10.004464\mathcal{C}\approx10.004464. With Δy=0.01\Delta y=0.01, the convexity correction is approximately 0.0500 percentage points. The combined predicted change is -2.6456%, giving a price near 947.52, close to exact repricing at 947.51.

MethodPrice after yield rises to 7%
Duration only947.03
Duration plus convexity947.52
Exact cash-flow repricing947.51

This remains a local approximation. Larger yield changes increase the importance of higher-order terms. Plain fixed positive cash flows have positive convexity; callable bonds and mortgage-backed securities can exhibit negative effective convexity because their expected payment timing changes with rates.

A single yield is only one risk factor

Modified duration measures sensitivity to the bond’s YTM. Applying it to a portfolio under a parallel yield shift is a simplification. Curves can steepen, flatten, or twist. Key-rate durations measure sensitivity to selected parts of a curve; credit-spread changes are another source of price movement. Option-bearing securities often require effective duration from a model that re-estimates cash flows after a rate shift.

8. Immunization: match liabilities, not just asset durations

Suppose a liability requires a payment in the future. A rate fall raises the value of that liability, but it also raises the value of fixed-income assets. Immunization aims to offset these changes.

Under a common small parallel yield shift, let AA and LL be asset and liability PVs. The surplus S=A−LS=A-L changes approximately by

ΔS≈(−ADA,mod+LDL,mod)Δy.\Delta S\approx(-AD_{A,\mathrm{mod}}+LD_{L,\mathrm{mod}})\Delta y.

To remove first-order sensitivity, match dollar duration:

ADA,mod=LDL,mod.AD_{A,\mathrm{mod}}=LD_{L,\mathrm{mod}}.

If A=LA=L, this reduces to equal modified durations. Matching duration alone while leaving asset and liability PVs unequal generally fails to immunize the surplus.

Worked example: a single future liability

A certain liability of 1,000 is due in three years. At a flat 5% annual rate, its PV is 1,000/1.053≈863.841{,}000/1.05^3\approx863.84 and Macaulay duration is three years.

Buying a default-free zero paying exactly 1,000 at that same date matches the liability cash flow directly. A rate move changes both market values identically, assuming the same discount curve and no other differences. This is cash-flow matching.

A portfolio of coupon bonds can instead match PV and duration initially. Classical local immunization also considers asset versus liability convexity, commonly requiring sufficient asset convexity under its assumptions. It needs monitoring and rebalancing as time passes and rates change. Duration matching does not remove default risk, inflation mismatch, liquidity needs, or exposure to nonparallel curve changes. Price risk and coupon reinvestment risk can offset locally around a planned horizon; they do not disappear in every scenario.

9. Corporate bonds: promised yield and expected return

A corporate bond’s contractual cash flows may not all be paid. Recovery depends on the issuer’s assets, debt seniority, collateral, and restructuring outcome. Credit deterioration can lower price before an actual default occurs.

Use promised YTM for the internal rate computed from the full contractual schedule. Expected return must account for possible default and recovery. Calling the latter “expected YTM” can be misleading: expected realized returns, the IRR of expected payments, and the expectation of scenario-specific IRRs need not be equal for multi-period bonds.

Worked example: a one-year risky zero

A bond costs 95 and promises 100 in one year. Suppose the real-world default probability is 2%, with recovery of 40 paid at year-end in default. The alternative risk-free annual rate is 3%.

ypromised=10095−1≈5.2632%.y_{\mathrm{promised}}=\frac{100}{95}-1\approx5.2632\%.

The expected payoff and expected one-year holding return are

E[CF1]=0.98(100)+0.02(40)=98.8,\mathbb{E}[CF_1]=0.98(100)+0.02(40)=98.8, E[R]=98.895−1=4%.\mathbb{E}[R]=\frac{98.8}{95}-1=4\%.

For this one-period example, we can decompose the spread exactly:

ComponentCalculationValue
Expected-loss component, called default premium in the outlinePromised yield minus expected return1.2632 percentage points
Expected excess return, called risk premium hereExpected return minus risk-free return1.0000 percentage point
Total promised spreadPromised yield minus risk-free return2.2632 percentage points

The first component equals expected payoff loss divided by price, 1.2/951.2/95. The second compensates investors in this example for holding the risky claim. Real observed credit spreads may also reflect liquidity, taxes, optionality, and market conditions. These labels are a teaching decomposition, not a universally standardized separation observable directly from a quoted multi-year YTM.

Expected default losses are not the same as compensation for bearing systematic risk. A model may use expected cash flows with an appropriate risk-adjusted discount rate, or risk-neutral expected cash flows with consistent default-free discounting. Do not deduct expected losses from cash flows and then add the same expected-loss adjustment again in the discount rate.

Ratings and their limits

The broad long-term rating categories are:

CategoryMoody’s scaleS&P / Fitch scales
Highest investment gradeAaaAAA
Other investment-grade categoriesAa, A, BaaAA, A, BBB
Speculative or high yieldBa and belowBB and below

Including the finer modifiers, the usual lowest investment-grade ratings are Baa3 and BBB-. The next grades, Ba1 and BB+, are speculative. The SEC’s credit-ratings bulletin explains that ratings are opinions about credit risk, can change, and do not cover every investment risk. A high rating is not a promise of stable price or freedom from default.

10. Practice questions

Use annual effective rates and year-end payments unless specified otherwise.

  1. A three-year default-free zero pays 1,000 at maturity. Price it at a 4% spot rate. What happens to its price if the spot rate is negative?
  2. A two-year bond pays 40 in year 1 and 1,040 in year 2. With one-year spot 3% and two-year spot 4%, find price.
  3. Using the spot rates in question 2, find the one-year forward rate starting one year from today.
  4. A bond has price 980 and modified duration 4.2. Estimate its price change for a 25-basis-point yield increase, ignoring convexity.
  5. A bond has modified duration 5 and convexity 30. Estimate the percentage price change for a 100-basis-point yield fall, including convexity.
  6. Assets have PV 900 and modified duration 5. Liabilities have PV 1,000 and modified duration 5. Is the surplus immunized against a common small parallel yield change?
  7. A one-year bond costs 90, promises 100, and has a 5% default probability with recovery 40. Calculate promised yield and expected return.
  8. Explain why a 6% forward rate does not establish that next year’s short rate will be 6%, and why a bond’s YTM need not equal its expected return.

11. Answers and checks

  1. P=1,000/1.043≈889.00P=1{,}000/1.04^3\approx889.00. A negative annual effective spot rate greater than -100% gives a price above face value.
  2. P=40/1.03+1,040/1.042≈1,000.37P=40/1.03+1{,}040/1.04^2\approx1{,}000.37.
  3. f1,2=1.042/1.03−1≈5.0097%f_{1,2}=1.04^2/1.03-1\approx5.0097\%. Check by multiplying 1.03(1+f)1.03(1+f) to recover 1.0421.04^2.
  4. ΔP/P≈−4.2(0.0025)=−1.05%\Delta P/P\approx-4.2(0.0025)=-1.05\%. Thus ΔP≈−10.29\Delta P\approx-10.29 and the estimated new price is 969.71.
  5. Δy=−0.01\Delta y=-0.01, so ΔP/P≈−5(−0.01)+12(30)(0.01)2=5.15%\Delta P/P\approx-5(-0.01)+\tfrac12(30)(0.01)^2=5.15\%. Convexity adds 0.15 percentage points.
  6. No. Asset dollar duration is 4,500 and liability dollar duration is 5,000. The surplus derivative is −4,500+5,000=500-4{,}500+5{,}000=500 per unit yield change. Equal percentage sensitivities do not offset unequal PVs.
  7. Promised yield is 100/90−1≈11.1111%100/90-1\approx11.1111\%. Expected payoff is 0.95(100)+0.05(40)=970.95(100)+0.05(40)=97, so expected one-year return is 97/90−1≈7.7778%97/90-1\approx7.7778\%.
  8. A forward rate is fixed by today’s no-arbitrage price relationships and may include risk premia; future realized rates are uncertain. YTM uses promised payments, while expected return accounts for default, recovery, sale prices, and reinvestment outcomes as relevant.

Further reading

Feynman study lab

Explain it simply

Price a coupon bond as a collection of dated payments rather than one undated total.

Concrete example. A bond paying 5 after year one and 105 after year two is worth 5 / 1.04 + 105 / 1.04², about 101.89, with a flat 4% annual curve.

Teach it back without looking

Close the lesson and explain the idea aloud to a beginner in two minutes. Define each technical term you use, walk through the example, and state one assumption or limitation. Then answer:

Why is adding 5 and 105 insufficient to find today’s price?

Check your explanation after you try

Payments arrive at different dates. Discount each at the relevant maturity’s rate; credit and contract terms may also matter.

Find the gap and try again

If you hesitated, relied on a formula you could not explain, or missed the self-check, write down the exact gap. Revisit the relevant section of this lesson and work through its example. Close the notes, explain it again in simpler language, then change one number or assumption and predict what changes. Recalculate or check the lesson to test your prediction. Try once more tomorrow from memory.

Learn by teaching · Feynman technique

Save your explanation and study gaps

Study Fixed-Income Securities: Bond Pricing, Yield Curves, Duration, and Credit Risk, then look away from the lesson and explain it to a beginner. Use the lesson’s teach-back questions first, then record your explanation here.

Your notes stay in this browser on this device. Export a copy to keep them elsewhere. No account or server upload is required.

  1. Choose one idea

    Pick one concept from this lesson. State the question it answers and why someone would care.

  2. Explain it without your notes

    Explain the idea aloud or in writing as if your listener has never studied it. Define every technical term. If there is an equation, explain each symbol, its units, and why the relationship makes sense.

  3. Find gaps and return to the source

    Mark where you hesitated, relied on jargon, or could not explain why. Revisit those sections, check the assumptions and worked examples, then close your notes and try again.

    Check your understanding of this lesson’s sections
  4. Simplify, test, and teach again

    Rewrite your explanation with a concrete example or a small calculation. Add an analogy and say where it breaks down. Change one assumption and predict what happens. Check your answer against the lesson.

Am I ready to move on?

Use this as a self-check, not a grade. Revisit any point you cannot explain yet.

Return tomorrow and teach the idea again from memory. Any new hesitation tells you what to study next.

Return to the lesson ↑
Back to Learn