CFA Level II Exam · Valuation and Analysis of Bonds with Embedded Options
Option-Adjusted Spread (OAS) for CFA Level II
Updated 7 October 2026 · Fact-checked
Option-adjusted spread (OAS) is the constant spread added to every rate in a binomial interest rate tree so that the model value of a bond equals its market price. To find it, try a spread, value the bond backward with the option exercised optimally, and adjust until value equals price. Compare OAS with Z-spread to measure option cost.
Understand Option-Adjusted Spread (OAS)
A bond with an embedded option does not have fixed cash flows. A callable bond may be redeemed early, so its cash flows depend on future interest rates. A plain yield spread cannot capture this. You need a model that lets rates move and lets the option be exercised along the way. That model is the binomial interest rate tree.
The tree is built to be arbitrage-free: it prices the benchmark (government or swap) curve exactly. If you value a risky bond on that tree using only benchmark rates, you will usually get a value above the market price, because the market also demands compensation for credit and liquidity risk. OAS is the constant spread you add to every one-period rate in the tree (all nodes, including today's rate) so that the model value of the bond, with the option exercised optimally, equals the market price.
The Z-spread is different. It is the constant spread added to each point on the benchmark spot curve so that the present value of the bond's contractual cash flows equals its price. It uses one fixed cash flow path and ignores the option. So the Z-spread contains compensation for credit risk, liquidity risk and the embedded option. The OAS has had the option removed.
The gap between them is the option cost: option cost = Z-spread − OAS. For a callable bond, the issuer holds the option, investors give up value, and the Z-spread is larger than the OAS, so option cost is positive. For a putable bond, the investor holds the option, the OAS is larger than the Z-spread, and option cost is negative. For an option-free bond, the OAS and Z-spread are about equal.
To judge value, compare a bond's OAS with the OAS you would require for similar credit risk and liquidity, such as the OAS of comparable option-free-adjusted bonds or an index. A higher OAS than required means the bond is cheap (undervalued). A lower OAS than required means it is rich (overvalued). OAS also depends on your interest rate volatility assumption. Higher volatility raises option value. For a callable bond at a given price, higher volatility lowers the OAS. For a putable bond, higher volatility raises the OAS.
Key formulas to remember
- Definition of OAS
- Model value (tree rates + OAS, option exercised optimally) = Market price
- Add the same spread to every one-period forward rate at every node, then solve for the spread by trial and error or interpolation.
- Option cost
- Option cost = Z-spread − OAS
- Positive for callable bonds, negative for putable bonds, about zero for option-free bonds.
- Callable and putable value
- Callable bond value = Straight bond value − Call option value; Putable bond value = Straight bond value + Put option value
- Used to see why a callable bond's OAS is below its Z-spread and a putable bond's OAS is above.
- Node value in the tree
- Value at node = [0.5 × (V_up + C) + 0.5 × (V_down + C)] ÷ (1 + r + OAS)
- C is the coupon at the next date. Callable: cap value at call price. Putable: floor value at put price. Apply the cap or floor before discounting further back.
- Spread versus value
- Higher spread → lower model value
- If model value is above market price, raise the spread. If below, lower it.
- Relative value rule
- OAS > required OAS → cheap; OAS < required OAS → rich
- Compare with bonds of similar credit quality and liquidity.
How to solve Option-Adjusted Spread (OAS) questions
Use this method for any OAS question, whether it asks you to compute, compare or interpret.
- 1Read the vignette and list what is given: tree rates, coupon, call or put price and dates, market price, Z-spread, and any benchmark OAS.
- 2Decide the type of option. Callable: issuer exercises, so cap value at the call price. Putable: investor exercises, so floor value at the put price.
- 3Pick a trial spread. Add it to every rate in the tree, including the rate at time zero.
- 4Work backward from maturity. At each node, take the average of the two next-period values plus coupon, discount at the node rate plus spread, then apply the call cap or put floor if the date allows exercise.
- 5Compare the time-zero value with the market price. If value is higher than price, increase the spread. If lower, reduce it. Repeat or interpolate until they match. That spread is the OAS.
- 6Find option cost as Z-spread minus OAS, and check the sign fits the option type.
- 7For rich or cheap questions, compare OAS with the required or benchmark OAS. Higher OAS means cheap, lower means rich.
- 8For volatility questions, use the direction rule: callable OAS falls when volatility rises, putable OAS rises.
Quickest way: Direction and sign shortcuts
When to use it: Use when the question is conceptual or asks which option, bond or spread is larger, and no full tree calculation is needed.
- Identify who owns the option. Issuer owns call. Investor owns put.
- Callable: OAS < Z-spread, option cost positive. Putable: OAS > Z-spread, option cost negative.
- For rich or cheap, ignore Z-spread. Compare OAS with the required OAS only.
- For volatility changes, think option value. Higher volatility raises option value. Callable value falls so OAS must fall to match price. Putable value rises so OAS must rise.
- For calculation, test one trial spread, see whether value is above or below price, and use the answer options to pick the nearest. Value changes in a roughly straight line over small spread changes, so linear interpolation between two trials is reliable.
Common mistakes in Option-Adjusted Spread (OAS)
Adding the spread to spot rates instead of tree rates when finding OAS.
Z-spread and OAS are both called spreads, and students mix up which curve each is added to.
Fix: OAS goes on every one-period rate in the binomial tree. Z-spread goes on the spot curve with fixed cash flows.
Leaving out the time-zero rate when adding the spread.
Students add the spread only to the branching nodes.
Fix: Add the spread to every rate, including today's one-period rate, then discount from the root.
Applying the call or put test after discounting incorrectly, or ignoring the coupon at the exercise date.
Students forget what the exercise price is compared against.
Fix: At each exercise node, compute the continuation value (discounted value of the next values plus coupon, as the question treats it), then cap it at the call price or floor it at the put price. Follow the vignette's convention for coupons.
Saying a bond with high Z-spread is cheap without checking OAS.
Z-spread looks like extra yield, but for a callable bond it includes pay for the option you have sold.
Fix: Judge value with OAS against the required OAS. Z-spread is for option-free bonds or for computing option cost.
Getting the sign of option cost wrong for putable bonds.
Students memorise that option cost is positive.
Fix: Option cost = Z-spread − OAS. A putable bond has OAS above Z-spread, so option cost is negative, because the option benefits the investor.
Stating that higher volatility always raises OAS.
Students link volatility with higher spreads in general.
Fix: Higher volatility raises option value. For a callable bond, OAS falls. For a putable bond, OAS rises. Option-free bond OAS does not depend on volatility.
Worked examples
Example 1
Vignette: An analyst values a 2-year, 6% annual-coupon bond with a par of 100, callable at 100 at the end of year 1, immediately after the year-1 coupon is paid. The binomial tree gives a one-period rate today of 3%, and year-1 rates of 7% (up) and 5% (down), each with equal probability. The bond trades at 101.03. The vignette gives the bond's Z-spread as 1.40% (this is supplied data; no spot curve is provided, so it cannot be verified from the tree), and the required OAS for comparable bonds is 0.80%. Questions: (1) What is the OAS? (2) What is the option cost? (3) Is the bond rich or cheap?
Show the solution
- Test a spread of 1.00%. Rates become 4% today, 8% up, 6% down.
- Year-1 up node: continuation value = 106 ÷ 1.08 = 98.148. This is below 100, so no call. Value = 98.148.
- Year-1 down node: continuation value = 106 ÷ 1.06 = 100.000. Value = 100 (call price equal, no change).
- Time zero: add the year-1 coupon of 6 to each: 104.148 and 106. Average = 105.074. Discount at 1.04: 105.074 ÷ 1.04 = 101.03.
- Model value 101.03 equals the market price, so OAS = 1.00%.
- Option cost = Z-spread − OAS = 1.40% − 1.00% = 0.40%, or 40 bps. The Z-spread of 1.40% is taken as given in the vignette. It is not derived from the tree, so only the OAS comes from the tree calculation.
- Required OAS is 0.80%. The bond's OAS of 1.00% is higher, so it offers more spread than needed. This conclusion uses only the OAS and does not depend on the Z-spread. The bond is cheap.
Answer: (1) OAS = 1.00%. (2) Option cost = 0.40% (40 bps), using the Z-spread of 1.40% given as data. (3) The bond is cheap, because its OAS exceeds the required 0.80%.
Example 2
Vignette: An analyst compares two bonds from issuers with similar credit quality. Bond A is callable with a Z-spread of 135 bps and an OAS of 95 bps. Bond B is putable with a Z-spread of 80 bps and an OAS of 105 bps. The required OAS for this credit quality is 110 bps. The analyst then raises her interest rate volatility assumption. Questions: (1) What is the option cost of each bond? (2) Is Bond A rich or cheap? (3) After the volatility increase, what happens to each bond's OAS, holding market prices constant?
Show the solution
- Bond A option cost = 135 − 95 = 40 bps. The investor has sold a call, so this is positive.
- Bond B option cost = 80 − 105 = −25 bps. The investor owns a put, so this is negative.
- Bond A OAS is 95 bps, below the required 110 bps. It pays less spread than required, so it is rich.
- Higher volatility raises option values. For callable Bond A, the call is worth more, so model value at a given spread falls. To match the market price, the spread must fall. OAS decreases.
- For putable Bond B, the put is worth more, so model value rises at a given spread. To match the price, the spread must rise. OAS increases.
Answer: (1) Bond A: 40 bps; Bond B: −25 bps. (2) Bond A is rich, as 95 bps is below the required 110 bps. (3) Bond A's OAS falls and Bond B's OAS rises.
Exam tips
- Most OAS questions are interpretation. Know the three results cold: callable OAS < Z-spread, putable OAS > Z-spread, option-free OAS ≈ Z-spread.
- For rich or cheap, find the required or benchmark OAS in the vignette and compare it only with the bond's OAS. Do not use Z-spread or yield to maturity.
- If you must compute OAS, add a spread to all tree rates, apply the call or put at the allowed dates only, and check one trial. Then use the answer options and interpolation to avoid long iteration.
- Read the vignette for the volatility assumption. Questions often ask how a change in volatility changes OAS, and the direction depends on who owns the option.
- Check the sign of option cost against the bond type before you choose an answer.
Option-Adjusted Spread (OAS) in other exams
The same ground in other exams, if you are preparing for more than one or want another angle on it.
Option-Adjusted Spread (OAS): frequently asked questions
What is the difference between OAS and Z-spread?
Z-spread is a constant spread added to the benchmark spot curve so that the present value of the bond's fixed cash flows equals its price. It ignores the embedded option. OAS is a constant spread added to the tree rates, with the option exercised optimally, so it excludes the option's effect. The difference is the option cost.
How do you calculate OAS using a binomial tree?
Add a trial spread to every rate in the tree, then value the bond backward, applying the call cap or put floor at exercise dates. If the time-zero value is above the market price, increase the spread. If it is below, decrease it. The spread at which the model value equals the price is the OAS.
Does a higher OAS mean a bond is cheap?
Compared with the OAS required for similar credit risk and liquidity, yes. A higher OAS than required means the bond offers more compensation than it should, so it is cheap. A lower OAS means it is rich. Comparing OAS values across very different credit qualities does not tell you much.
Why is the OAS of a callable bond lower than its Z-spread?
The Z-spread includes pay for the call option that the investor has sold to the issuer. The OAS removes that effect. So the callable bond's OAS equals the Z-spread minus the option cost, which makes it lower.