Binomial Tree Option Pricing › The One-Step Binomial Model
Quantitative FinanceAll chapters Binomial Tree Option Pricing › The One-Step Binomial ModelOne section · Sections in this chapter2 / 12 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
We begin with the simplest possible case: a single time step. This minimal setup strips away all complexity and reveals the core logic of option pricing in its purest form. By understanding how to price a derivative when there are only two possible future states of the world, we establish a foundation that extends directly to models with thousands of time steps.
Consider a stock with current price that, after one period, will either move up to or down to , where and are the up and down factors. The up factor exceeds one because an "up" move represents an increase in price, while the down factor falls below one because a "down" move represents a decrease. We want to price a derivative with payoff if the stock goes up and if it goes down. Notice that we have not specified the probability of an up move. This omission is intentional and, as we shall see, reflects a key insight in derivative pricing: the option price does not depend on the probability of the stock rising.

Replicating Portfolio Approach
The central idea behind option pricing in this framework is replication. Rather than trying to guess the probability of the stock going up or down, we construct a portfolio of basic assets whose payoff exactly matches the derivative's payoff in every possible future state. This replicating portfolio consists of two components: the underlying stock and a risk-free bond. If we can perfectly replicate the derivative using these tradeable instruments, then the derivative must have the same price as the portfolio, otherwise arbitrage opportunities would exist.
Suppose we hold shares of stock and invest dollars in a risk-free bond earning rate over the period. The parameter represents the number of shares we hold, which can be fractional, and represents our cash position in the risk-free bond, which can be positive (lending) or negative (borrowing). At expiration, after one time period , this portfolio is worth:
- Up state:
- Down state:
For this portfolio to replicate the derivative, we need:
where:
- : number of shares of stock in the portfolio
- : current stock price
- : up and down movement factors
- : amount invested in the risk-free bond
- : risk-free interest rate
- : time to expiration
- : option payoffs in the up and down states
This is a system of two linear equations in two unknowns ( and ). We can solve this system using straightforward algebraic manipulation. The strategy is to first eliminate one variable to find the other, then substitute back to complete the solution.
Subtracting the second equation from the first eliminates , since the bond value appears identically in both equations:
where:
- : number of shares in the portfolio
- : current stock price
- : up and down movement factors
- : bond investment
- : risk-free rate
- : time to expiration
- : option payoffs
This gives us the hedge ratio, which represents the number of shares needed to replicate the derivative:
where:
- : the hedge ratio (number of shares to hold)
- : the range of option payoffs
- : stock prices in up and down states
- : the range of stock prices
- : current stock price
- : up and down movement factors
This formula has a beautiful interpretation: the hedge ratio equals the change in option value divided by the change in stock price. This is exactly the discrete-time analog of the delta we encountered in continuous-time option pricing. It tells us how many shares to hold to hedge the derivative, and it measures the sensitivity of the option price to movements in the underlying stock. For a call option, is positive because the option gains value when the stock rises. For a put option, is negative because the option loses value when the stock rises.
Once we know , we can solve for by substituting back into either of our original equations. Using the up-state equation:
where:
- : present value of the bond investment
- : discount factor
- : portfolio cash needed to match the payoff in the up state
- : option payoffs
- : hedge ratio
- : up and down factors
- : current stock price
- : risk-free interest rate
- : time to expiration
The bond position is typically negative for call options, meaning we borrow money to fund the stock purchase. For put options, is typically positive, meaning we lend money while shorting stock.
No-Arbitrage Pricing
Since the replicating portfolio has the same payoff as the derivative in both states, by the no-arbitrage principle from Part III Chapter 4, the derivative must have the same price as the portfolio:
where:
- : current option price
- : number of shares held in the replicating portfolio
- : current stock price
- : value of the risk-free bond investment
If the derivative traded at any other price, an arbitrage opportunity would exist. If the derivative were cheaper than the replicating portfolio, we could buy the derivative, sell the portfolio, and pocket the difference while having perfectly offsetting positions. Conversely, if the derivative were more expensive, we could sell the derivative, buy the portfolio, and again lock in a risk-free profit. Market forces ensure that such opportunities are quickly eliminated, establishing the pricing relationship above.
Now we can derive an explicit formula for the option price by substituting our expressions for and into the portfolio value equation :
where:
- : current option price
- : number of shares held in the replicating portfolio
- : current stock price
- : weight assigned to the up payoff
- : weight assigned to the down payoff
- : risk-free interest rate
- : time to expiration
- : up and down factors
- : option payoffs
This final expression is remarkable: the option price is a discounted weighted average of the two possible payoffs. The weights depend only on the up and down factors and the risk-free rate, not on any probability of the stock going up or down. This observation leads us to one of the most important concepts in derivative pricing.
The Risk-Neutral Probability
The formula above has a beautiful interpretation. Define the risk-neutral probability :
where:
- : risk-neutral probability of an up move
- : up and down factors
- : risk-free rate
- : time step
Then the pricing formula becomes:
where:
- : current option price
- : risk-neutral probability
- : probability of a down move
- : risk-free discount factor
- : option payoffs in up and down states
- : risk-free interest rate
- : time step duration
This elegant formula states that the derivative price equals the discounted expected payoff, where the expectation uses the probability rather than the real-world probability of an up move. The expression computes the expected payoff under the risk-neutral probability measure, and the factor discounts this expected value back to the present. We never needed to know or estimate the actual probability of the stock rising; the risk-neutral probability emerges naturally from the no-arbitrage requirement.
The risk-neutral probability is not the actual probability of the stock going up. It's a mathematical construct that makes the expected return on the stock equal to the risk-free rate. Under this probability measure, the expected stock price is .
For to be a valid probability (between 0 and 1), we need:
where:
- : down movement factor
- : up movement factor
- : risk-free interest rate
- : time step duration
This condition ensures no arbitrage and has an intuitive economic interpretation. The term represents the growth factor of a risk-free investment over the period. The condition states that this risk-free growth must fall strictly between the down move and the up move . If , the risk-free bond would always outperform the stock, making the stock unattractive at any positive price. Conversely, if , the stock would always outperform the risk-free bond, meaning investors would borrow at the risk-free rate and invest in the stock for guaranteed profit. Either case would create an arbitrage opportunity, which cannot persist in equilibrium.

import numpy as np
def one_step_binomial_price(S0, K, T, r, u, d, option_type="call"):
"""
Price an option using a one-step binomial model.
Parameters:
-----------
S0 : float - Current stock price
K : float - Strike price
T : float - Time to expiration (years)
r : float - Risk-free rate (annualized)
u : float - Up factor (u > 1)
d : float - Down factor (d < 1)
option_type : str - 'call' or 'put'
Returns:
--------
float : Option price
"""
# Stock prices at expiration
Su = u * S0
Sd = d * S0
# Option payoffs at expiration
if option_type == "call":
fu = max(Su - K, 0)
fd = max(Sd - K, 0)
else:
fu = max(K - Su, 0)
fd = max(K - Sd, 0)
# Risk-neutral probability
p = (np.exp(r * T) - d) / (u - d)
# Option price (discounted expected payoff)
f0 = np.exp(-r * T) * (p * fu + (1 - p) * fd)
return f0, p, fu, fd# Example: Price a call option
S0 = 100 # Current stock price
K = 100 # Strike price (at-the-money)
T = 1 # One year to expiration
r = 0.05 # 5% risk-free rate
u = 1.2 # Stock can go up 20%
d = 0.9 # Stock can go down 10%
price, p, fu, fd = one_step_binomial_price(S0, K, T, r, u, d, "call")
Su = u * S0
Sd = d * S0Stock prices at expiration: Su = $120.00, Sd = $90.00 Call payoffs: fu = $20.00, fd = $0.00 Risk-neutral probability of up move: p = 0.5042 Call option price: $9.59
The calculated risk-neutral probability is close to 0.5 because with and , the up and down moves are roughly symmetric around the forward price . The forward price represents where the stock "should" be in the risk-neutral world, and when up and down moves are symmetric around this level, the risk-neutral probabilities are approximately equal.