Quantitative Finance 11 min read Updated August 2026

Bond Pricing and OAS: Z-Spread, Option-Adjusted Spread, and Callable Bond Valuation

Bond price calculation from cash flows, clean vs dirty price, day count conventions, G-spread, I-spread, Z-spread, OAS, asset swap spread — with clear guidance on when to use each. OAD for callable bonds, MBS OAS, and a spread decision framework for IG corporates, structured products, and bank bonds.

Educational content, not professional advice — AI output and figures here can be wrong. Verify before you rely on it. Full disclaimer →

The Hierarchy of Bond Spread Measures

Fixed income analysts use a hierarchy of spread measures to compare bonds — from the simple (G-spread) to the sophisticated (OAS). Each strips out a different set of risks, leaving a purer measure of what you are actually being compensated for. Understanding which spread is appropriate for which instrument is a core CFA Level 2 and Level 3 skill, and it separates rigorous credit analysis from superficial yield-chasing. This article works through each measure with real bond examples — a callable IG corporate, agency MBS, and a straight Treasury — and provides Claude prompts that generate institutional-quality spread analysis.

Bond Price from Cash Flows: The Foundation

Every fixed income valuation starts from the present value of cash flows. For a semi-annual coupon bond:

Formula: P = Σ(t=1 to 2T) [ (C/2) / (1+y/2)^t ] + 100 / (1+y/2)^(2T)

Where C = annual coupon rate, y = YTM, T = years to maturity.

Worked example — 5Y IG corporate bond, 4.75% coupon, YTM = 5.20%:

  • Semi-annual coupon = $2.375 per $100 face
  • Discount rate per period = 5.20%/2 = 2.60%
  • PV of coupons = $2.375 × [1 − (1.026)^(−10)] / 0.026 = $2.375 × 8.5202 = $20.235
  • PV of principal = $100 / (1.026)^10 = $100 / 1.2916 = $77.426
  • Dirty price = $97.661

Clean vs Dirty Price: If the bond last paid a coupon 45 days ago and the coupon period is 182 days (semi-annual, 30/360 corporate convention = 45/180 = 0.25 periods):

  • Accrued interest = (45/180) × $2.375 = $0.594 per $100 face
  • Clean price = $97.661 − $0.594 = $97.067 (the quoted price)
  • Day count: For US corporate bonds, use 30/360. For US Treasuries, use Actual/Actual.
  • "Price a 7-year investment-grade corporate bond with the following terms: face value $1,000, coupon rate 5.00% (semi-annual), YTM 5.45%, last coupon paid 60 days ago (30/360 day count). Calculate: (1) full (dirty) price using the present value formula for all 14 remaining semi-annual cash flows; (2) accrued interest using 30/360 convention; (3) clean (quoted) price; (4) current yield (annual coupon / clean price); (5) if the bond were a US Treasury instead, recalculate accrued interest using Actual/Actual and assume 60 actual days in a 184-day coupon period."

Yield to Maturity, Yield to Call, and Yield to Worst

For plain-vanilla bonds, YTM is the single yield that equates the PV of all future cash flows to the current market price. For callable bonds, the picture is more complex.

Yield to call (YTC): The yield assuming the bond is called on the first call date at the call price. For a 10Y bond callable at par starting in year 5, YTC uses cash flows only through year 5, with the $100 par call price as the terminal cash flow.

Yield to worst (YTW): The minimum of YTM, YTC at each possible call date, and yield to put. FINRA requires YTW to be disclosed for callable bonds. It represents the worst realizable yield the investor could receive.

Example — 10Y callable corporate bond:

  • Price = $104.50, coupon = 5.00% semi-annual, maturity in 10 years
  • Call schedule: callable at $102.00 in year 4, at $101.00 in year 5, at par in year 6+
  • YTM = 4.52% (assuming held 10 years to maturity at $100)
  • YTC at year 4 = 3.85% (4-year bond from $104.50 to $102.00 call price)
  • YTC at year 5 = 4.10%
  • YTC at year 6 = 4.20%
  • YTW = 3.85% (worst case = called at year 4 from premium price to $102 call price)
  • The investor paid $104.50 and could receive only $102.00 in year 4 — hence the low YTW
  • "Analyze the following callable corporate bond: 10-year maturity, 5.00% semi-annual coupon, current price $104.50. Call schedule: callable at $102.00 in year 4, $101.00 in year 5, $100.00 (par) in years 6 through 10. Calculate: (1) YTM assuming held to maturity; (2) yield to call at each call date (year 4, 5, and 6); (3) yield to worst; (4) explain why a bond analyst would focus on YTW for this bond rather than YTM; (5) in what yield environment would the issuer most likely call the bond at year 4?"

G-Spread: Yield Minus Interpolated Treasury

G-spread is the simplest credit spread — the bond's YTM minus the yield of a same-maturity (or linearly interpolated) Treasury bond. It is fast to compute and widely communicated, but imprecise because it uses a single rate as the benchmark rather than the full spot curve.

Formula: G-spread = YTM_bond − YTM_Treasury(interpolated)

Example: A 7-year BBB corporate bond yields 5.45%. The 7Y Treasury CMT is 4.55%. G-spread = 5.45% − 4.55% = 90bps. But the 5Y Treasury yields 4.65% and the 10Y yields 4.45%, so the "true" 7Y interpolated rate = 4.65% − (2/5) × (4.65% − 4.45%) = 4.65% − 0.08% = 4.57%. Interpolated G-spread = 5.45% − 4.57% = 88bps.

G-spread is most appropriate for vanilla IG corporates where a quick curve comparison is needed. It becomes misleading when: the bond's coupon creates significant cash flow weighting at different tenors than the stated maturity; the benchmark bond trades special in repo; or the bond has embedded options.

  • "Calculate G-spread for three bonds using the following Treasury benchmark curve (par yields): 2Y=4.85%, 5Y=4.65%, 7Y=4.55%, 10Y=4.45%. Bond A: 5Y BBB corporate, YTM=5.15%; Bond B: 8Y A-rated corporate, YTM=5.10%; Bond C: 10Y BB high yield, YTM=7.45%. For Bond B, interpolate between the 7Y and 10Y Treasuries using linear interpolation. Which bond has the widest G-spread on an absolute basis, and which appears most attractive on a credit-risk-adjusted basis if all three have similar expected default rates?"

I-Spread: Yield Minus Interpolated Swap Rate

I-spread (interpolated spread) replaces the Treasury benchmark with the swap rate — the fixed rate on an at-market interest rate swap at the same maturity. The swap curve is preferred as a benchmark over Treasuries in several contexts: European bonds, bank senior unsecured debt, covered bonds, and situations where Treasury supply/demand effects distort relative value signals.

Formula: I-spread = YTM_bond − Swap Rate(interpolated)

With the 5Y SOFR swap rate at approximately 4.55% (20bps through the 5Y Treasury), a 5Y BBB corporate at 5.15% has I-spread = 5.15% − 4.55% = 60bps. This compares to its G-spread of 50bps — the I-spread is wider because swap rates exceed Treasury rates by the swap spread.

  • "Explain and calculate I-spread for a 5-year IG bank bond: coupon 4.80%, YTM 5.15%, current 5Y SOFR swap rate 4.55%, 5Y Treasury yield 4.65%. (1) Calculate I-spread and G-spread; (2) explain which benchmark is more appropriate for comparing this bank bond to other bank bonds in Europe vs US; (3) if the 5Y swap spread (swap rate minus Treasury yield) is currently negative (-10bps), how does this affect the relationship between I-spread and G-spread for any bond?"

Z-Spread: Constant Spread Over the Full Spot Curve

The Z-spread (zero-volatility spread) is more rigorous than G-spread or I-spread because it uses the entire spot rate curve as the discount rate, not a single point. The Z-spread z is the constant spread added to each spot rate such that the present value of all cash flows equals the market price.

Formula: P = Σ(t=0.5 to T) [ CF_t / (1 + (s_t + z)/2)^(2t) ]

Where s_t is the spot rate at maturity t, and z is the Z-spread (solved iteratively).

Example — 5Y IG corporate, 4.75% coupon, price $97.661 (YTM=5.20%):

Spot rates: s_0.5=4.92%, s_1=4.83%, s_1.5=4.84%, s_2=4.87%, s_2.5=4.80%, s_3=4.80%, s_3.5=4.74%, s_4=4.70%, s_4.5=4.67%, s_5=4.66%

Trial z=55bps: discount each semi-annual cash flow at (s_t + 0.0055)/2 per period. Sum of PVs ≈ $97.68 → close. Trial z=54bps: Sum ≈ $97.70. Trial z=56bps: Sum ≈ $97.65. By interpolation, Z-spread ≈ 55bps.

Compare to G-spread: YTM=5.20%, 5Y Treasury=4.65%, G-spread=55bps. When the spot curve is relatively flat, Z-spread ≈ G-spread. When the curve is steeply sloped, they diverge.

  • "Calculate the Z-spread for a 5-year BBB corporate bond: coupon 5.10% (semi-annual), current price $98.50. Treasury spot rates (annual): 0.5Y=4.92%, 1Y=4.83%, 1.5Y=4.84%, 2Y=4.87%, 2.5Y=4.80%, 3Y=4.78%, 3.5Y=4.74%, 4Y=4.70%, 4.5Y=4.67%, 5Y=4.65%. Set up the discounting equation: P = Σ CF_t / (1+(s_t+z)/2)^(2t). Solve for z iteratively (show trial values at z=40bps, z=50bps, z=60bps, and interpolate to find the Z-spread). Compare to the G-spread if the 5Y Treasury yields 4.65%."

OAS: Option-Adjusted Spread for Bonds with Embedded Options

Z-spread assumes cash flows are fixed — it breaks down for bonds where an embedded option can alter the cash flows. OAS (Option-Adjusted Spread) removes the value of the embedded option from the Z-spread, leaving the pure credit and liquidity compensation.

Key relationship: OAS = Z-spread − Option Value (to the issuer for callable bonds)

For callable bonds: Z-spread = OAS + call option value → OAS < Z-spread (issuer's call option has positive value)

For putable bonds: Z-spread = OAS − put option value → OAS > Z-spread (investor's put option has positive value)

Callable corporate example:

  • 10Y callable (call in year 4) IG corporate, coupon 5.00%, price $104.50, YTM = 4.52%
  • G-spread = 4.52% − 4.45% (10Y Treasury) = 7bps (essentially at Treasury — yields are below 5% at the call horizon, so investor is essentially short the call)
  • Z-spread computed from the full spot curve ≈ 18bps
  • Bloomberg OAS = 110bps (stripping out the deeply in-the-money call option value that has dramatically compressed Z-spread)
  • Interpretation: The bond is actually cheap on an OAS basis (110bps credit/liquidity premium) but looks tight on yield metrics because the call option compresses observed yield
  • "Compare OAS versus Z-spread for three bond types using these parameters: (A) 5Y BBB option-free corporate, price $98.50, Z-spread=145bps — what is the OAS and why? (B) 10Y callable (4Y call at par) BBB corporate, price $104.50, Z-spread=18bps, OAS=110bps — explain the large difference and what call option value implies; (C) agency MBS pass-through (FNMA 5.5% coupon, PSA 200 prepayment speed, price $102.50, Z-spread=120bps, OAS=65bps) — explain what the 55bps option cost represents. For each, state what you are compensated for when you buy at OAS and what risks are NOT reflected in OAS."

OAD: Option-Adjusted Duration for Callable Bonds

Just as OAS strips options from the yield spread, OAD (Option-Adjusted Duration) strips options from the duration measure. OAD is the effective duration computed using OAS-adjusted interest rate trees — it reflects the actual price sensitivity of the callable bond to interest rate changes.

OAD vs Modified Duration:

  • For the callable bond above (10Y maturity, callable in year 4): modified duration based on stated maturity ≈ 8.1 years
  • OAD (from Bloomberg or interest rate model) ≈ 4.8 years — the call option has cut the effective interest rate sensitivity nearly in half
  • Why: at current rate levels, the bond is likely to be called in year 4; investors should not expect to hold for 10 years, so the effective sensitivity reflects the shorter expected life

OAD is the correct duration measure for hedging callable bonds, for computing portfolio duration contributions from callable securities, and for calculating spread DV01 in credit portfolios.

  • "Explain why OAD differs from modified duration for a 10-year callable bond currently priced above the call price. The bond: coupon 5.00%, maturity 10Y, first call at par in year 4, current price $104.50. (1) Estimate modified duration assuming the bond is held to maturity; (2) explain conceptually why OAD is shorter (approximately 4.5 years) using the concept of expected life; (3) describe how an interest rate tree model (binomial BDT or Ho-Lee) would compute OAD: shift the entire yield curve up 25bps, re-price the callable bond through the tree accounting for call exercise decisions, repeat for -25bps, apply the (P- − P+)/(2×P0×Δy) formula. (4) What is the OAS-DV01 using OAD=4.5 and price=$104.50?"

Asset Swap Spread: The Bank Bond Benchmark

An asset swap (ASW) converts a fixed-rate bond into a synthetic floating-rate instrument. The investor buys the bond and simultaneously enters a pay-fixed, receive-floating swap. The asset swap spread is the SOFR + X spread on the floating leg that makes the overall package fairly valued.

When to use ASW: Bank senior unsecured bonds, covered bonds (Pfandbriefe), AT1/Tier 2 capital instruments, and European IG corporates. In European credit markets, ASW is the primary relative value metric because European investors typically hedge duration and compare on a pure credit spread basis. For US IG credit, Z-spread and OAS are more commonly used.

  • "Set up an asset swap for the following bank senior unsecured bond: face $10M, coupon 4.75% semi-annual, maturity 5 years, current clean price $101.50 (YTM=4.44%). The 5Y SOFR swap rate is 4.35%. (1) Describe the two legs of the asset swap: (a) investor pays $101.50 and receives 4.75% coupon; (b) investor enters pay-4.35%/receive-SOFR+X swap. (2) Calculate the upfront payment needed to set the package to par ($100.00 bond face); (3) derive the asset swap spread X such that NPV of the asset swap package = 0; (4) compare ASW to the bond's I-spread (YTM − swap rate = 4.44% − 4.35% = 9bps) and explain why they can differ when the bond is not priced at par."

Choosing the Right Spread: A Decision Framework

Each spread measure has its optimal use case. Using the wrong one introduces noise into relative value analysis and can lead to mispriced risk.

InstrumentPreferred SpreadWhy
US IG corporate (option-free)Z-spread or OASMore precise than G-spread; OAS ≈ Z-spread for option-free bonds
US callable corporateOASZ-spread inflated by call option value; OAS strips it out
Agency MBS / CMBSOASPrepayment option embedded; OAS removes prepayment optionality
European IG / bank bondsASW (I-spread)Investors hedge duration; compare on floating-rate basis
High yield corporatesG-spread or OASSimple; HY spread changes dominate, curve effects secondary
ABS / CLO tranchesDM (Discount Margin)Floating-rate; DM = spread over index for floating instruments
  • "For each of the following bonds, identify the most appropriate spread measure, calculate it, and explain your reasoning: (1) 5Y A-rated US corporate, coupon 4.90%, price $99.80, YTM=4.94%, 5Y Treasury=4.65%; spot curve available. (2) 7Y callable BBB corporate, coupon 5.25%, price $103.00, first call at par in year 3, Z-spread=95bps, OAS=60bps (call option value=35bps); (3) FNMA 30Y MBS pass-through, coupon 5.50%, price $102.25, Z-spread=145bps, OAS=80bps; (4) 5Y Tier 2 European bank bond, coupon 4.50%, YTM=5.10%, 5Y EUR swap rate=3.80%, clean price €99.50. For each, also identify what the chosen spread does NOT capture."

Frequently Asked Questions

Why does OAS sometimes look much wider than Z-spread for MBS?

For agency MBS, the opposite direction from callable corporates is common. Agency MBS carries a prepayment option held by homeowners — they refinance when rates fall (prepaying the mortgage), effectively calling the bond at par. This hurts MBS investors in falling rate environments. The Z-spread includes the yield compensation for this prepayment risk, while OAS strips it out. If OAS is narrow but Z-spread is wide, the spread differential represents the option cost of prepayment exposure. In some volatile rate environments, MBS OAS can appear narrow because the model underestimates prepayment speed volatility — a model risk that led to significant mispricing in the 2022 rate sell-off.

How do I find OAS data in Bloomberg?

On a bond description page in Bloomberg, type the ticker and hit CORP or GOVT, then navigate to YAS (Yield and Spread Analysis). Bloomberg displays OAS, Z-spread, G-spread, and I-spread in one screen. The OAS field uses Bloomberg's proprietary interest rate model (BGM or Hull-White, depending on context). For MBS, Bloomberg's OAS model (OAS1) uses a prepayment model (Bloomberg's own or a user-specified model) calibrated to current rate volatility. Compare Bloomberg OAS to dealer-computed OAS for model validation — differences of 5-15bps are common due to model choice and volatility surface assumptions. See fixed income AI tools for integrating spread data into Claude workflows.

For a CFA Level 2 exam, which spread concept is most heavily tested?

The OAS vs Z-spread relationship is the single most tested concept in fixed income spread analysis at CFA Level 2. Candidates must know: (1) for callable bonds, OAS < Z-spread (call option has positive value to issuer, so investor receives less spread after adjusting); (2) for putable bonds, OAS > Z-spread (put option has positive value to investor); (3) OAS is the appropriate measure to compare bonds across different option structures on an apples-to-apples basis; (4) the Z-spread is constant over the spot curve while G-spread uses a single benchmark rate. Also frequently tested: clean vs dirty price, 30/360 vs Actual/Actual day count, and YTW vs YTM for callable bonds. See compliance and risk for CFA exam preparation resources.

Can Claude compute OAS without Bloomberg?

Claude can explain the OAS calculation methodology and set up the framework, but cannot solve the OAS itself without access to a current interest rate volatility surface and calibrated term structure model — the binomial tree or Monte Carlo simulation that generates rate paths is proprietary model infrastructure. What Claude can do: (1) given an OAS from Bloomberg, interpret what it implies about credit/liquidity compensation; (2) explain why OAS differs from Z-spread for a specific bond; (3) compute Z-spread analytically if you provide the spot curve and bond price; (4) structure hedges using OAD from Bloomberg. For full OAS modeling workflow, Claude works alongside Bloomberg or a risk system as the analytical and documentation layer. See portfolio VaR with AI for related risk modeling workflows.

Using Claude at your firm?

Connect Claude to live financial data via MCP — EDGAR, FDIC, BIS, CME and 18 more.

New guides & tools — free

Get notified when we add new MCP servers, finance AI guides, and eval results.

Try These Skills

Browse all Quant Finance tools →
FEEDBACK