Analyst Dojo
Lesson 2 of 3 6–9% of the exam

Pricing calls and puts with risk-neutral probabilities

Compute the risk-neutral probability of an up move, π = (1 + r − R_d) ÷ (R_u − R_d), take the probability-weighted average of the option's two payoffs, and discount it at the risk-free rate. It gives exactly the same answer as the hedge, for calls and puts alike.

8 min cram, 30 min full read. Based on the 2027 CFA® Program Level I curriculum, Derivatives, Learning Module 10. Also part of the 2026 curriculum, so it applies to the November 2026 exam too.

Tailor this to you: take the self-assessment

Before this: The one-period binomial tree and the hedge ratio

On the exam

  • Explain how to value a derivative using a one-period binomial model
  • Describe the concept of risk neutrality in derivatives pricing

Explain how to value a derivative with the binomial model and describe risk-neutral pricing. Expect a full calculation in 90 seconds: compute π, weight the payoffs, discount at the risk-free rate, and sometimes check with put–call parity.

How deeply to learn each part
Know the idea
Understand it in general. It frames other topics, but you will not calculate with it.
Use it
Understand it well enough to solve a question with it. Recognize when it applies.
Memorize
Learn it by heart. The exam will not give it to you.

You know this one. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still do.

You tested strong here. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still know it.

Cram mode: the one-screen version of this lesson. Switch to Full for the explanations, worked examples and interactives.

Is there a quicker way to get the same option price from the tree?

Yes. Instead of building a hedge, compute one number from the tree, the risk-neutral probability of an up move, weight the option’s two payoffs with it, and discount the result at the risk-free rate. The answer is identical to the hedge price. This is risk-neutral pricing .

Risk-neutral probability of an up move Memorize
π=1+r−RdRu−Rd1−π=Ru−1−rRu−Rd\pi = \frac{1 + r - R_d}{R_u - R_d} \qquad 1 - \pi = \frac{R_u - 1 - r}{R_u - R_d}

Read it as: how far the risk-free growth factor 1 + r sits above the down move, as a share of the whole spread between the moves. It uses gross returns, and r is the risk-free rate for the period. If the period is T years, replace 1 + r with (1 + r)^T here and in every discounting step below.

It depends only on R_u, R_d and r. It is not the real chance of an up move, and it does not need one. It is simply the weight at which the share grows at exactly the risk-free rate on average.

Rearrange itRisk-neutral probability: solve for any input
The question asks for
A share can rise by a gross return of 1.3 or fall by a gross return of 0.8 over one period, and the risk-free rate for the period is 6.00%. The risk-neutral probability of an up move is closest to:

(1.06 − 0.8) ÷ (1.3 − 0.8) = 0.52

Risk-neutral probability of an up move, π0.52

On your calculator
  1. 1.06−0.8=÷(1.3−0.8)=0.52
  1. 1.06ENTER0.8−1.3ENTER0.8−÷0.52

ENTER enter (on the HP, puts the number on the stack)

InteractiveWeight the payoffs with π, then discount at r

Try this 0 of 3

  • Switch to the put and read the parity check
  • On the module tree (70, 1.30, 0.80, X 73), raise r to 8% and watch π and both option values
  • Push R_d up to 1 + r or beyond
Option
Option type
Tree and rate

Share 70.00 goes to 91.00 with risk-neutral probability 0.5200 or to 56.00 with 0.4800. The call pays 18.00 or 0.00; the expected payoff 9.36 discounted at 6% gives 8.83. Parity holds: 77.70 on both sides.

TodayS₀ = 70.009.36 ÷ 1.06c₀ = 8.83Up: 70.00 × 1.30S = 91.00Call pays 18.00× 0.5200 = 9.36Down: 70.00 × 0.80S = 56.00Call pays 0.00× 0.4800 = 0.00
  • Today, S₀ = 70.00, 9.36 ÷ 1.06, c₀ = 8.83, (matches)
    • π (0.5200): Up: 70.00 × 1.30, S = 91.00, Call pays 18.00, × 0.5200 = 9.36
    • 1 − π (0.4800): Down: 70.00 × 0.80, S = 56.00, Call pays 0.00, × 0.4800 = 0.00
Risk-neutral probability, π0.5200
Expected payoff under π9.36
Call value, c₀8.83
Parity check, c₀ + PV(X) = S₀ + p₀77.70 = 77.70
Show working

π = (1 + r − R_d) ÷ (R_u − R_d) = (1.06 − 0.80) ÷ (1.30 − 0.80) = 0.26 ÷ 0.5 = 0.5200; 1 − π = 0.4800

Payoffs: c₁ᵘ = 18.00 (S = 91.00), c₁ᵈ = 0.00 (S = 56.00)

c₀ = [π × c₁ᵘ + (1 − π) × c₁ᵈ] ÷ (1 + r) = (0.5200 × 18.00 + 0.4800 × 0.00) ÷ 1.06 = 9.36 ÷ 1.06 = 8.83

Parity: c₀ + X ÷ (1 + r) = 8.83 + 68.87 = 77.70; S₀ + p₀ = 70.00 + 7.70 = 77.70

Check: under π the share is expected to be worth 0.5200 × 91.00 + 0.4800 × 56.00 = 74.20 = 70.00 × 1.06, so it earns exactly r.

Call value on your calculator
  1. 1.06−0.8=÷(1.3−0.8)=STO1π = 0.5200
  2. 1−RCL1=×0=STO2(1 − π) × c₁ᵈ = 0.00
  3. RCL1×18+RCL2=expected payoff 9.36
  4. ÷1.06=c₀ = 8.83

STO store · RCL recall a stored number

  1. 1.06ENTER0.8−1.3ENTER0.8−÷STO1π = 0.5200
  2. 1ENTERRCL1−0×(1 − π) × c₁ᵈ = 0.00
  3. RCL118×+expected payoff 9.36
  4. 1.06÷c₀ = 8.83

ENTER enter (on the HP, puts the number on the stack) · STO store · RCL recall a stored number

Weight the payoffs with π, discount at r: done.

How do you price a call with π?

Weight the two call payoffs with π and 1 − π, then discount by 1 + r. The result is the expected payoff discounted at the risk-free rate .

Call value, risk-neutral Memorize
c0=π c1u+(1−π) c1d1+rc_0 = \frac{\pi\, c_1^u + (1 - \pi)\, c_1^d}{1 + r}
Rearrange itCall value from risk-neutral probabilities: solve for any input
The question asks for
In a one-period binomial model a call pays 18.00 if the share goes up and 0.00 if it goes down. The risk-neutral probability of an up move is 0.52 and the risk-free rate for the period is 6.00%. The value of the call today is closest to:

(0.52 × 18.00 + 0.48 × 0.00) ÷ 1.06 = 9.36 ÷ 1.06 = 8.83

Call value today, c₀8.83

On your calculator
  1. 1−0.52=×0=STO1
  2. 0.52×18+RCL1=÷1.06=8.83

STO store · RCL recall a stored number

  1. 1ENTER0.52−0×STO1
  2. 0.52ENTER18×RCL1+1.06÷8.83

ENTER enter (on the HP, puts the number on the stack) · STO store · RCL recall a stored number

How do you price a put?

The same way, with the put’s payoffs. π depends on the share’s moves and r, not on the option, so the same π prices every option on the share. This is put valuation in the tree .

Put value, risk-neutral Memorize
p0=π p1u+(1−π) p1d1+rp_0 = \frac{\pi\, p_1^u + (1 - \pi)\, p_1^d}{1 + r}
Rearrange itPut value from risk-neutral probabilities: solve for any input
The question asks for
In a one-period binomial model a put pays 0.00 if the share goes up and 17.00 if it goes down. The risk-neutral probability of an up move is 0.52 and the risk-free rate for the period is 6.00%. The value of the put today is closest to:

(0.52 × 0.00 + 0.48 × 17.00) ÷ 1.06 = 8.16 ÷ 1.06 = 7.70

Put value today, p₀7.70

On your calculator
  1. 1−0.52=×17=STO1
  2. 0.52×0+RCL1=÷1.06=7.70

STO store · RCL recall a stored number

  1. 1ENTER0.52−17×STO1
  2. 0.52ENTER0×RCL1+1.06÷7.70

ENTER enter (on the HP, puts the number on the stack) · STO store · RCL recall a stored number

How do you check the call and put together?

With put–call parity, which holds for any pair of European options with the same strike and expiry. This is the put–call parity check : S₀ + p₀ = c₀ + X ÷ (1 + r). Compute both sides, and the equality confirms both prices.

Two routes to the same option price
No-arbitrage option priceboth routes give the same number
  • Hedge route Lesson 1
    • Find h* payoff spread over share spread
    • Discount V₁ at r V₀ = V₁ ÷ (1 + r)
    • Subtract from h*S₀ c₀ = h*S₀ − V₀
  • Risk-neutral route Memorize this lesson
    • Find π Memorize (1 + r − R_d) ÷ (R_u − R_d)
    • Weight the payoffs π up, 1 − π down
    • Discount at r Memorize divide by 1 + r

Exam tip Order of work on the exam: π first (store it), then payoffs times π and 1 − π, then divide by 1 + r. If your put and call fail parity, recheck which payoff goes with which probability.

Go deeper Why π must lie between 0 and 1

π is a probability, so it needs to be between 0 and 1. It is, exactly when R_d < 1 + r < R_u. That is the no-arbitrage condition from Lesson 1. If R_d were at least 1 + r, π would be negative or above 1 and the share would be a free lunch. The visual warns you when you drag a slider into that region.

Go deeper Why the hedge and π give the same price

Start from the hedge price c₀ = hS₀ − V₁ ÷ (1 + r), with h = (c₁ᵘ − c₁ᵈ) ÷ (S₀(R_u − R_d)) and V₁ = h*R_uS₀ − c₁ᵘ. Multiply by (1 + r) and collect terms: (1 + r)c₀ = c₁ᵘ(1 + r − R_d) ÷ (R_u − R_d) + c₁ᵈ(R_u − 1 − r) ÷ (R_u − R_d). The two fractions are π and 1 − π. It is the same algebra written two ways.

Go deeper A period that is not a full year

For a six-month option at an annual rate of 5%, the period factor is 1.05^0.5 = 1.0247. Use it in place of 1 + r in π and in the final division. The tree still has one step, and R_u and R_d are the moves over that half year.

Memorize this

MemorizeRisk-neutral pricing in three steps

StepWhat you computeFormula
1Probability of an up moveπ=1+r−RdRu−Rd\pi = \frac{1 + r - R_d}{R_u - R_d}
2Expected payoff under π\piπ c1u+(1−π) c1d\pi\, c_1^u + (1-\pi)\, c_1^d
3Discount at the risk-free ratedivide by (1+r)(1 + r)

Memory hook Top of π is "r minus the down move", bottom is the whole spread. Check: π is between 0 and 1 or something is wrong.

Know it cold Same π for the call and the put. Gross returns in π. Discount at r, never at the share's expected return. Real probabilities do not appear.

MemorizeParity check on the answer

Memory hook Share plus put equals call plus bond paying X. If your two prices break it, one of them is wrong.

Know it cold S0+p0=c0+X/(1+r)S_0 + p_0 = c_0 + X/(1 + r).

Two routes to the same option price
No-arbitrage option priceboth routes give the same number
  • Hedge route Lesson 1
    • Find h* payoff spread over share spread
    • Discount V₁ at r V₀ = V₁ ÷ (1 + r)
    • Subtract from h*S₀ c₀ = h*S₀ − V₀
  • Risk-neutral route Memorize this lesson
    • Find π Memorize (1 + r − R_d) ÷ (R_u − R_d)
    • Weight the payoffs π up, 1 − π down
    • Discount at r Memorize divide by 1 + r
Risk-neutral probability of an up move Memorize
π=1+r−RdRu−Rd1−π=Ru−1−rRu−Rd\pi = \dfrac{1 + r - R_d}{R_u - R_d} \qquad 1 - \pi = \dfrac{R_u - 1 - r}{R_u - R_d}
Quick example

R_u = 1.35, R_d = 0.95, r = 2%. π = (1.02 − 0.95) ÷ (1.35 − 0.95) = 0.07 ÷ 0.40 = 0.175, so 1 − π = 0.825.

On your calculator
  1. 1.02−0.95=÷(1.35−0.95)= 0.175
  1. 1.02ENTER0.95−1.35ENTER0.95−÷ 0.175

ENTER enter (on the HP, puts the number on the stack)

Call value, risk-neutral Memorize
c0=π c1u+(1−π) c1d1+rc_0 = \dfrac{\pi\, c_1^u + (1 - \pi)\, c_1^d}{1 + r}
Quick example

π = 0.175, call pays 30 or 0, r = 2%. c₀ = (0.175 × 30 + 0.825 × 0) ÷ 1.02 = 5.25 ÷ 1.02 = 5.15.

On your calculator
  1. 0.175×30÷1.02= 5.15
  1. 0.175ENTER30×1.02÷ 5.15

ENTER enter (on the HP, puts the number on the stack)

Put value, risk-neutral Memorize
p0=π p1u+(1−π) p1d1+rp_0 = \dfrac{\pi\, p_1^u + (1 - \pi)\, p_1^d}{1 + r}
Quick example

π = 0.175, put pays 0 or 12, r = 2%. p₀ = (0.175 × 0 + 0.825 × 12) ÷ 1.02 = 9.90 ÷ 1.02 = 9.71.

On your calculator
  1. 0.825×12÷1.02= 9.71
  1. 0.825ENTER12×1.02÷ 9.71

ENTER enter (on the HP, puts the number on the stack)

How it is asked

  1. Risk-neutral probability

    Share EUR 75 rises 22% or falls 6% in a year, r = 2%. π?

    (1.02 − 0.94) ÷ (1.22 − 0.94) = 0.29. Trap: 0.50 (equal odds).

  2. Price a call

    Same share, call with X = 75. Price?

    The call pays 16.5 or 0. (0.2857 × 16.5) ÷ 1.02 = 4.62. Trap: 4.71 (no discounting).

  3. Price a put

    Share 120 goes to 135 or 105, r = 2%, put X = 125. Price?

    π = 0.58; (0.42 × 20) ÷ 1.02 = 8.24. Trap: 9.80 (π = 0.5).

  4. Which rate discounts the expected payoff?

    The risk-neutral expected payoff is discounted at…

    The risk-free rate. Trap: the share's expected return or a risk-adjusted rate.

Exam traps

  • Using 0.5 or a stated real-world probability instead of π.
  • Forgetting to discount the expected payoff by 1 + r.
  • Putting net returns (0.30, −0.20) into the π formula: it takes gross returns (1.30, 0.80) and 1 + r.
  • Weighting the put's payoffs with the wrong probabilities: π goes on the up-state payoff, 1 − π on the down-state payoff, for calls and puts alike.

Checkpoint

4 exam-style questions. About 90 seconds each.

  1. 1A share is EUR 40. In one year it will rise 20% or fall 10%, and the risk-free rate is 4%. The risk-neutral probability of an up move is closest to:

  2. 2Using the share in the previous question, a one-year European call with an exercise price of EUR 40 is worth closest to:

  3. 3A share is CHF 100 and will be CHF 110 or CHF 85 in a year, and the risk-free rate is 3%. A one-year European put with an exercise price of CHF 100 is worth closest to:

  4. 4An analyst values a call by weighting its two payoffs with the correct risk-neutral probabilities, then discounts the result at the share's expected return of 11% instead of the 4% risk-free rate. Compared with the no-arbitrage value, the analyst's value is most likely:

Key takeaways

  • π = (1 + r − R_d) ÷ (R_u − R_d), the probability that makes the share grow at the risk-free rate.
  • Option value = π × up payoff + (1 − π) × down payoff, divided by 1 + r.
  • Same answer as the hedge. Same π for calls and puts.
  • Check calls and puts together with put–call parity.
Risk-neutral probability of an up move Memorize
π=1+r−RdRu−Rd1−π=Ru−1−rRu−Rd\pi = \dfrac{1 + r - R_d}{R_u - R_d} \qquad 1 - \pi = \dfrac{R_u - 1 - r}{R_u - R_d}
Quick example

R_u = 1.35, R_d = 0.95, r = 2%. π = (1.02 − 0.95) ÷ (1.35 − 0.95) = 0.07 ÷ 0.40 = 0.175, so 1 − π = 0.825.

On your calculator
  1. 1.02−0.95=÷(1.35−0.95)= 0.175
  1. 1.02ENTER0.95−1.35ENTER0.95−÷ 0.175

ENTER enter (on the HP, puts the number on the stack)

Call value, risk-neutral Memorize
c0=π c1u+(1−π) c1d1+rc_0 = \dfrac{\pi\, c_1^u + (1 - \pi)\, c_1^d}{1 + r}
Quick example

π = 0.175, call pays 30 or 0, r = 2%. c₀ = (0.175 × 30 + 0.825 × 0) ÷ 1.02 = 5.25 ÷ 1.02 = 5.15.

On your calculator
  1. 0.175×30÷1.02= 5.15
  1. 0.175ENTER30×1.02÷ 5.15

ENTER enter (on the HP, puts the number on the stack)

Put value, risk-neutral Memorize
p0=π p1u+(1−π) p1d1+rp_0 = \dfrac{\pi\, p_1^u + (1 - \pi)\, p_1^d}{1 + r}
Quick example

π = 0.175, put pays 0 or 12, r = 2%. p₀ = (0.175 × 0 + 0.825 × 12) ÷ 1.02 = 9.90 ÷ 1.02 = 9.71.

On your calculator
  1. 0.825×12÷1.02= 9.71
  1. 0.825ENTER12×1.02÷ 9.71

ENTER enter (on the HP, puts the number on the stack)

All Derivatives formulas, every lesson

Practice exam-style questions on The One-Period Binomial Model

Questions about this lesson?

Where this comes back

Questions candidates ask

How do you calculate the risk-neutral probability?

π = (1 + r − R_d) ÷ (R_u − R_d), using gross returns. With R_u = 1.30, R_d = 0.80 and r = 6%, π = 0.26 ÷ 0.50 = 0.52. The down-move probability is 1 − π.

How do you price a put option with a binomial tree?

Find the put's payoff in each state, weight them with π and 1 − π, and divide by 1 + r. In the module example the put pays 0 and 17, so p₀ = 0.48 × 17 ÷ 1.06 = 7.70.

Why discount at the risk-free rate in option pricing?

Risk-neutral probabilities are built so the share earns exactly the risk-free rate on average. The risk adjustment is already in the weights, so the expected payoff is discounted at r and nothing else.

Spotted an error? Tell us and we will fix it.

  1. The one-period binomial tree and the hedge ratio
  2. Pricing calls and puts with risk-neutral probabilities
  3. Risk neutrality: why real-world probabilities do not matter

Ask Sensei Listen instead

Questions on Pricing calls and puts with risk-neutral probabilities

Learn with Sensei, out loud The voice tutor, in early access

Sensei teaches the lesson aloud and stops when you interrupt: "wait, why is the geometric mean lower?" It answers with the lesson's own example, then quizzes you by voice. Every account can try Sensei on one module, with one voice question.

USD 149 a month founding price (regular USD 199), kept for as long as you stay subscribed. Everything in Plus included.

In active development and improving every day. Send feedback · Plans and pricing

Analyst Dojo Plus

Your free review list holds 10 items.

Plus keeps everything you save, for USD 19 a month. To make room on the free plan, remove something from your review list.

See Plus

Lessons, checkpoints and the lesson questions in practice stay free. Compare plans