FRM Exam Part I · Binomial Trees
Binomial Tree Options on Indices, Currencies and Futures
Updated 11 October 2026 · Fact-checked
Only the risk-neutral probability changes. Use p = (a − d) ÷ (u − d), where a = e^((r − q)Δt) for an index with dividend yield q, a = e^((r − r_f)Δt) for a currency, and a = 1 for a futures price. Build the tree, find payoffs, then discount at the domestic rate r.
Understand Options on Indices, Currencies and Futures
A binomial tree prices an option by assuming the underlying moves up by a factor u or down by a factor d each step. Under risk-neutral valuation, the expected growth of the underlying must equal its risk-neutral growth rate. The probability p of an up move is chosen to make that true.
For a non-dividend stock, the underlying grows at the risk-free rate r. So the growth factor is a = e^(rΔt), and p = (a − d) ÷ (u − d). Every other case only changes a.
An index pays a continuous dividend yield q. The holder gets that income, so the price itself grows more slowly: at r − q. A currency works the same way. The foreign currency earns the foreign interest rate r_f, which acts like a dividend yield. So the growth rate is r − r_f.
A futures price costs nothing to enter, so its risk-neutral expected growth is zero. Then a = 1 and p = (1 − d) ÷ (u − d). The futures price is the tree variable, not a spot price.
The discount rate never changes. You always discount the expected payoff at the domestic risk-free rate r, even though p was built using q or r_f. The u and d factors, usually u = e^(σ√Δt) and d = 1 ÷ u, also stay the same.
Key formulas to remember
- Up and down factors (CRR)
- u = e^(σ√Δt); d = 1 ÷ u
- Same for stocks, indices, currencies and futures. σ is the volatility of the underlying.
- Risk-neutral probability
- p = (a − d) ÷ (u − d)
- Probability of an up move. The down probability is 1 − p.
- Growth factor: index with dividend yield
- a = e^((r − q)Δt)
- q is the continuously compounded dividend yield. r is the domestic risk-free rate.
- Growth factor: currency
- a = e^((r − r_f)Δt)
- Price is domestic currency per unit of foreign currency. r_f is the foreign risk-free rate.
- Growth factor: futures
- a = 1, so p = (1 − d) ÷ (u − d)
- The futures price has zero expected growth under the risk-neutral measure.
- Node value
- f = e^(−rΔt) × [p × f_u + (1 − p) × f_d]
- Discount at the domestic rate r in every case.
- Sanity check on p
- d < a < u, so 0 < p < 1
- If p falls outside 0 to 1, a was computed wrongly or the step is too large.
How to solve Options on Indices, Currencies and Futures questions
Use the same routine for any index, currency or futures question. Only step 2 changes with the underlying.
- 1Identify the underlying and note r, the dividend yield q or foreign rate r_f, volatility, step length Δt and strike.
- 2Choose the growth factor: a = e^((r − q)Δt) for an index, a = e^((r − r_f)Δt) for a currency, a = 1 for a futures price.
- 3Get u and d. Use the given values, or compute u = e^(σ√Δt) and d = 1 ÷ u.
- 4Compute p = (a − d) ÷ (u − d) and check that it lies between 0 and 1.
- 5Build the tree of underlying prices (futures prices if the underlying is a futures contract).
- 6Compute option payoffs at the final nodes: max(S − K, 0) for a call, max(K − S, 0) for a put.
- 7Roll back one step at a time with f = e^(−rΔt) × [p × f_u + (1 − p) × f_d], using the domestic r.
- 8For American options, compare each node value with immediate exercise and take the larger.
Quickest way: Change only a, then run the usual tree
When to use it: Use this on one-step or two-step questions where u and d are given or easy to compute.
- Write a first: index e^((r − q)Δt), currency e^((r − r_f)Δt), futures 1.
- Compute p once and keep it to four decimals.
- Note only the payoffs that are positive. Zero-payoff nodes drop out of the sum.
- Multiply p by the positive payoff, then by e^(−rΔt). A calculator with an e^x key helps here.
- Check the answer: a call should not exceed the underlying, and a put should not exceed the discounted strike.
Common mistakes in Options on Indices, Currencies and Futures
Using a = e^(rΔt) for an index or currency option.
The stock-option formula is memorised and applied automatically.
Fix: Read the question for q or r_f first. Subtract it from r inside the exponent.
Discounting with r − q or r − r_f.
The adjusted rate was used in p, so it feels natural to reuse it.
Fix: The yield only affects p. Discounting always uses the domestic risk-free rate r.
Using a = e^(rΔt) for a futures option, or putting r − q into a futures tree.
Students forget the futures price has zero cost of carry.
Fix: For futures set a = 1, so p = (1 − d) ÷ (u − d). The tree nodes are futures prices.
Swapping domestic and foreign rates in a currency tree.
Quotes like USD per EUR confuse which rate is domestic.
Fix: The domestic rate belongs to the currency in which the price is quoted. For USD per EUR, r is the USD rate and r_f is the EUR rate.
Forgetting that Δt is in years.
Step lengths are given in months and plugged in directly.
Fix: Convert first: 3 months is 0.25 and 6 months is 0.5.
Worked examples
Example 1
An index stands at 1,000. The risk-free rate is 5% and the dividend yield is 3%, both continuously compounded. In a one-step tree over one year, u = 1.10 and d = 0.90. Value a European call with strike 1,000.
Show the solution
- Index with yield, so a = e^((r − q)Δt) = e^(0.02) = 1.020201.
- p = (1.020201 − 0.90) ÷ (1.10 − 0.90) = 0.120201 ÷ 0.20 = 0.6010.
- Up price = 1,100, so payoff = 100. Down price = 900, so payoff = 0.
- Expected payoff = 0.6010 × 100 + 0.3990 × 0 = 60.10.
- Discount at r = 5%: e^(−0.05) = 0.951229. Value = 60.10 × 0.951229 = 57.17.
Answer: The call is worth about 57.17.
Example 2
The USD/EUR spot rate is 1.20 USD per EUR. The USD rate is 4% and the EUR rate is 2%, both continuously compounded. In a one-step, one-year tree, u = 1.05 and d = 0.95. Value a European put on one EUR with strike 1.20 USD.
Show the solution
- Currency, so a = e^((r − r_f)Δt) = e^(0.02) = 1.020201.
- p = (1.020201 − 0.95) ÷ (1.05 − 0.95) = 0.070201 ÷ 0.10 = 0.7020, so 1 − p = 0.2980.
- Up rate = 1.26, put payoff = 0. Down rate = 1.14, put payoff = 1.20 − 1.14 = 0.06.
- Expected payoff = 0.2980 × 0.06 = 0.017879.
- Discount at the USD rate: e^(−0.04) = 0.960789. Value = 0.017879 × 0.960789 = 0.01718.
Answer: The put is worth about 0.0172 USD per EUR.
Exam tips
- Questions often give u and d, so the whole task is finding the correct a. Read the underlying type before doing any arithmetic.
- Check that p is between 0 and 1. If it is not, you used the wrong a.
- For futures options, do not look for r or q in p. They only appear in the discount factor.
- Keep at least four decimals for p and the discount factor. Answer options can be close together.
- In currency questions, confirm which rate is domestic from the quote direction before you start.
Practice questions from Binomial Trees
- For an American put on a non-dividend-paying stock valued on a binomial tree, which set of conditions makes early exercise at a given node m…
- An American call option is written on a stock that will pay one large cash dividend during the option's life. In a binomial tree that models…
- A trader values an American call option on a stock that pays no dividends during the option's life, using a binomial tree. Which statement b…
- A stock is priced at 80 and will move to either 100 or 60 over one period. The gross risk-free return is 1.05, and the real-world probabilit…
- In a one-step binomial model, a trader finds that a call trades above its no-arbitrage value from the tree. Which action exploits this?
Options on Indices, Currencies and Futures in other exams
The same ground in other exams, if you are preparing for more than one or want another angle on it.
Options on Indices, Currencies and Futures: frequently asked questions
How do I adjust a binomial tree for a dividend yield?
Replace e^(rΔt) with e^((r − q)Δt) in the probability formula. So p = (e^((r − q)Δt) − d) ÷ (u − d). The discount factor still uses r.
How do I adjust a binomial tree for a foreign interest rate?
Treat the foreign rate r_f as a dividend yield. Use a = e^((r − r_f)Δt) and p = (a − d) ÷ (u − d). Discount payoffs at the domestic rate r.
What is the risk-neutral probability for a futures option in a binomial tree?
It is p = (1 − d) ÷ (u − d). The futures price has zero expected growth under the risk-neutral measure, so a = 1. You still discount at the risk-free rate.
Do u and d change for indices, currencies or futures?
Usually not. With the Cox-Ross-Rubinstein setup, u = e^(σ√Δt) and d = 1 ÷ u in every case. Only the risk-neutral probability changes.