Learn how to determine Option-Adjusted Spread (OAS) for callable and putable bonds and measure effective duration using a scenario-driven, binomial tree approach. This step-by-step guide clarifies each phase of the calculation, highlights key exam tips, and wraps up with a practice quiz.
Enhance Your Learning:
When a bond has a call or put provision, it can sometimes feel like you’re juggling a few extra puzzle pieces—particularly when you attempt to crunch the numbers for valuation. Option-Adjusted Spread (OAS) tries to unify all those puzzle pieces into a single, consistent measure of additional yield. Essentially, an OAS indicates what extra spread a bond with embedded options offers over a benchmark curve (e.g., Treasury or swap curve). Then there’s effective duration, which helps us understand how sensitive the bond’s price is to changes in interest rates—accounting for the option features that might alter expected cash flows.
So maybe you’re wondering: “But how do I actually compute an OAS or gauge the bond’s effective duration in a real-world scenario?” This section shows you how to tackle those tasks in a vignette-style question (the standard format for the CFA exam). We’ll walk through each step using a binomial interest rate tree, discounting the bond’s possible future cash flows, and factoring in the call or put triggers.
We’ll take a hypothetical example that mirrors what you might see on exam day. Let’s start with the storyline and data, then we’ll proceed to unravel the mechanics of calculating OAS and effective duration.
Imagine you’ve been handed a short case about the following bond:
• A 5-year, semiannual coupon bond with a 6% annual coupon (3% paid semiannually).
• Callable at par (100) at the end of year 2.
• Current price: 102.0 per 100 of par.
• The relevant spot curve is given, and you’re told that the implied volatility for interest rates is around 19–20%.
• You’re asked to:
Additionally, you see a table showing possible interest rates over the next two years (up or down moves), along with a note on when the issuer might call the bond. For instance, if rates drop significantly right after issuance, the issuer’s cost of refinancing will be cheaper than the bond’s coupon, so they’ll probably call.
Anyway, let’s see how to handle the problem.
The first step is constructing (or reading, if provided) a binomial interest rate tree. If you recall from Chapter 8 (Binomial Interest Rate Tree Models), we start with a current (initial) 1-year interest rate and then branch into high (up) and low (down) nodes for subsequent periods.
Here’s a simple illustration of a two-period binomial tree. Let’s say the current rate for the next period is r₀. Then we have an “up” rate, rᵤ, and a “down” rate, r_d, for the next period, and so on. A minimal depiction might look like this:
flowchart LR A["Initial Node (Year 0) <br/> r₀"] --> B["Up Node (Year 1) <br/> rᵤ"] A["Initial Node (Year 0) <br/> r₀"] --> C["Down Node (Year 1) <br/> r_d"] B["Up Node (Year 1) <br/> rᵤ"] --> D["Up-Up Node (Year 2)"] B["Up Node (Year 1) <br/> rᵤ"] --> E["Up-Down Node (Year 2)"] C["Down Node (Year 1) <br/> r_d"] --> F["Down-Up Node (Year 2)"] C["Down Node (Year 1) <br/> r_d"] --> G["Down-Down Node (Year 2)"]
Those final nodes (D, E, F, G) represent rates (or discount factors) for year 2. You could expand this to 5 years if needed, but on an exam, you’re often given some or all of these node values, so no worries if it looks complicated.
Next, we figure out the bond’s cash flows at each node. To do this:
Say that at the Up-Up node in year 2, rates have dropped so far that the issuer calls the bond. The call price is 100 plus the final coupon at that time. So the payoff is 100 + 3% coupon (assuming par of 100 and semiannual coupon), or 103. Meanwhile, if the bond is not called in another node, the holder just collects the coupon.
In a real test item set, these payoffs are typically arranged in a handy table. Your job is to confirm them or plug them into your valuations.
Now, here’s where OAS fun begins. The idea is:
Algebraically, you can think of it this way:
(1)
PV(bond) = ∑ [CashFlowᵢ / (1 + rᵢ + OAS)^(tᵢ)]
We find the OAS such that PV(bond) = Market price (which is 102.0). But remember: for each node i, rᵢ might be the local interest rate from the tree, adjusted by the volatility assumptions.
Because the bond is callable, if it’s beneficial for the issuer to redeem early, you’ve got to reflect that in the projected cash flows. This is the main difference from a regular “straight” bond. The more likely it is that the bond gets called, the lower the potential future coupon stream—and the more that changes our discounting exercise. This is why we say OAS is a measure of the bond’s “true” yield over the benchmark once we factor in the embedded option.
After you’ve pinned down the OAS, the next item on your to-do list might be to find the effective duration. You do this by:
Where:
• V₀ is the initial price of the bond (i.e., 102.0).
• V₊ is the bond’s value after shifting rates up by Δy.
• V₋ is the bond’s value after shifting rates down by Δy.
• Δy is the yield shift (in decimal form).
With embedded options, your plain-vanilla modified or Macaulay duration just won’t cut it. Those measures neglect that big calls and puts can alter future cash flows in complicated ways. Effective duration tries to incorporate the effect that a rate move might have on whether the option is used (or not). That’s why we revalue the bond for small upward and downward shifts.
A small personal anecdote: the first time I worked through an OAS/Effective Duration problem, I remember thinking, “This is so mechanical; I’m basically just toggling rates up and down.” But that’s exactly the point—by revaluing the bond under these shifts, we see how the embedded option could come into play and distort the usual symmetrical price–yield relationship.
Let’s ground this in a short demonstration. Suppose you have the following data:
• Current bond price: 102.0.
• Annual coupon: 6% (paid semiannually).
• Maturity: 5 years, callable in year 2 at par.
• Binomial tree sets the year-1 rate to either 4.00% or 6.25%. By year 2, if the rate goes “up,” it’s 7.00%, and if “down,” it’s 3.50%, etc. (We’d have a bigger table for five years, but let’s keep it short for illustration.)
(That’s just an example calculation, not necessarily real numbers you’ll see in an exam, but you get the idea.)
Okay, so how might the CFA exam try to trick you?
• Data Overload: The vignette might give you volumes of detail—extra yield curve info that doesn’t affect the call date, or repeated stats about volatility. Don’t get lost in the noise. Zero in on the relevant call triggers, coupon payments, and discount rates.
• Partial Values Provided: Sometimes, the exam might give you partial present values or partial tree computations. Verify them quickly if time allows, but don’t redo them if they match. The exam rarely expects you to compute a giant 5-year binomial tree from scratch.
• Mixed-Up Rates: Keep an eye on day count conventions (Chapter 2) or whether they mention semiannual or annual compounding. A small slip there can derail your entire OAS calculation.
• Overlooking the Option: Don’t forget that call or put possibilities can drastically alter the final or intermediate cash flow. If the call price is 100 and that’s beneficial to the issuer, they will likely exercise at that node.
• Time Constraints: The CFA exam item sets have multiple questions, so watch out for time. If a question states the bond is “likely to be called,” that’s your clue to factor in the call payoff, no matter how complicated other data might appear.
Just for clarity, a table of final node cash flows might look something like this:
Node | Interest Rate (%) | Action | Cash Flow at Node |
---|---|---|---|
UU (Up-Up) | 3.50 | Called at 100 | 100 + coupon |
UD / DU | 5.00 | Not called | coupon + keep bond |
DD (Down-Down) | 7.00 | Not called | coupon + keep bond |
(Exact rates and calls would vary depending on the problem, but you get the structure.)
In the real world, interest rates may not move in a neat binomial pattern. Nonetheless, the principle remains the same: try to incorporate all possible interest rate paths when modeling a callable or putable bond. Methods like Monte Carlo (Chapter 9) can handle path dependencies or more distribution assumptions.
Moreover, the OAS can shift with changes in implied volatility. For example, if the market is expecting bigger rate moves, the value of a callable bond might decline (the issuer’s call option becomes more valuable, so the bond is worth less to you), and that directly affects the OAS.
• Fabozzi, Frank J. “Fixed Income Analysis” – for more on binomial trees and OAS.
• CFA Program Curriculum Volumes for official practice problems.
• Chapter 8 (Binomial Interest Rate Trees) and Chapter 10–11 sections on callable/putable bonds in this text.
• Chapter 25 (Measuring Interest Rate Risk) for deeper dives into duration measures.
• Keep an eye on the discount rate used for each node. Multiple discounting confusion is a frequent error.
• If the question references partial valuations, trust (but verify) them.
• Practice your time management with item sets.
• Revisit definitions: OAS, effective duration, and how each relates to embedded options.
• Don’t be afraid to do a quick sanity check. If rates have gone way down, a callable bond is more likely to be called (bond price relative to par might confirm that).
Key Takeaways:
• Calculating OAS and effective duration for callable/putable bonds requires careful mapping of future interest rates and option exercise decisions.
• The binomial tree approach, introduced in earlier chapters, is your go-to tool for these embedded option valuations.
• Remember “trial and error” for OAS; keep adjusting the spread until you hit the market price.
• For effective duration, small parallel shifts in the discount curve reveal the bond’s real sensitivity to interest rate changes when factoring in optionality.
Feel free to dig deeper with the references provided, and don’t forget to practice with more item sets—like the quiz above—to strengthen your exam agility. Finance can sometimes be tricky, but with enough repetition and a sturdy conceptual framework, you’ll be well-prepared for your big day.
Important Notice: FinancialAnalystGuide.com provides supplemental CFA study materials, including mock exams, sample exam questions, and other practice resources to aid your exam preparation. These resources are not affiliated with or endorsed by the CFA Institute. CFA® and Chartered Financial Analyst® are registered trademarks owned exclusively by CFA Institute. Our content is independent, and we do not guarantee exam success. CFA Institute does not endorse, promote, or warrant the accuracy or quality of our products.