No-Arbitrage Principle & Risk-Neutral Valuation Explained

Michael BrenndoerferNovember 25, 202555 min read

Learn the no-arbitrage principle, replicating portfolios, and risk-neutral probabilities. Master derivative pricing foundations used in quantitative finance.

Reading Level

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.

No-Arbitrage Principle and Risk-Neutral Valuation

The no-arbitrage principle is a foundational concept in quantitative finance. It provides the logical foundation upon which virtually every derivative pricing model rests, from the simple binomial tree to the sophisticated Black-Scholes formula you'll encounter in the next chapters. The principle itself is deceptively simple: there should be no way to make risk-free profits without any initial investment. Yet from this single economic axiom, we can derive precise fair values for complex financial instruments. This approach applies broadly: once we accept that markets should not offer free money, we can deduce the fair prices of options, forwards, swaps, and other derivatives without ever needing to specify how likely different outcomes are.

In this chapter, we develop the no-arbitrage framework systematically. We begin with the economic intuition behind arbitrage and why competitive markets should eliminate it. We then introduce the concept of replicating portfolios, which allows us to price derivatives by constructing equivalent payoffs from simpler instruments. This leads us to the remarkable discovery of risk-neutral probabilities: artificial probabilities under which all assets earn the risk-free rate, enabling us to price any derivative as a simple discounted expected value. The connection between no-arbitrage and risk-neutral valuation is formalized in the Fundamental Theorem of Asset Pricing, a central result in mathematical finance. By the end of this chapter, you will understand not just the mechanics of these pricing techniques, but the deep economic logic that makes them work.

The No-Arbitrage Principle

What Is Arbitrage?

Before we can assert that arbitrage should not exist, we need to define precisely what we mean by the term. Intuitively, an arbitrage is a "sure thing," a trade that guarantees profit without any risk of loss. The formal definition captures this intuition in mathematical language, specifying exactly what conditions must hold for a trading opportunity to qualify as a genuine arbitrage.

Arbitrage

An arbitrage opportunity is a trading strategy that requires no initial investment, has no possibility of loss, and has a positive probability of generating a profit.

In more precise mathematical terms, an arbitrage is a portfolio with value VtV_t at time tt satisfying:

V0=0,P(VT0)=1,P(VT>0)>0V_0 = 0, \quad P(V_T \geq 0) = 1, \quad P(V_T > 0) > 0

where:

  • V0V_0: initial portfolio value
  • VTV_T: portfolio value at maturity
  • PP: real-world probability measure
  • TT: time horizon

Let us examine each of these three conditions in turn to understand why they collectively define a "free lunch." The first condition, V0=0V_0 = 0, states that we start with zero capital. We are not required to put up any money of our own to enter the trade. This might involve borrowing to buy assets, short-selling, or some combination of positions that perfectly offset in terms of initial cost. The second condition, P(VT0)=1P(V_T \geq 0) = 1, is the no-loss guarantee. With probability one, meaning in every possible future state of the world, our portfolio will be worth at least zero. We cannot end up owing money. The third condition, P(VT>0)>0P(V_T > 0) > 0, ensures that we actually have something to gain. There must be at least some scenario, with positive probability, in which we end up with a profit. Together, these conditions describe a trading strategy that costs nothing, risks nothing, and sometimes pays off. Such an opportunity would be like finding a money machine: you put nothing in, you risk nothing, and sometimes cash comes out.

A stronger form, called a strong arbitrage or free lunch, satisfies:

V0<0,P(VT0)=1V_0 < 0, \quad P(V_T \geq 0) = 1

where:

  • V0V_0: initial portfolio value
  • VTV_T: portfolio value at maturity
  • PP: real-world probability measure

This stronger form represents an even more flagrant violation of market efficiency. Here you actually receive cash upfront (that is what the negative initial value signifies: the portfolio pays you money when you establish it) and face no future liability. This is even more egregious: someone pays you today, and you owe them nothing tomorrow. In a sense, a strong arbitrage is an immediate free lunch, while the standard arbitrage definition allows for the possibility that the payoff comes later.

Why Arbitrage Should Not Exist

The fundamental economic argument against arbitrage is straightforward: if such opportunities existed, rational investors would immediately exploit them. Markets are populated by profit-seeking traders who constantly scan for mispricings. When an arbitrage appears, it creates a riskless opportunity for profit, and in a world of rational economic agents, such opportunities attract immediate attention. Consider what happens when an arbitrage appears:

  1. Traders detect the mispricing and execute the arbitrage strategy
  2. Their buying pressure raises the price of undervalued assets
  3. Their selling pressure lowers the price of overvalued assets
  4. Prices adjust until the arbitrage opportunity disappears

This self-correcting mechanism operates continuously in liquid markets. The process is not instantaneous, but in modern financial markets, it operates with remarkable speed. High-frequency trading firms spend billions building systems to detect and exploit arbitrage opportunities in milliseconds. These firms employ sophisticated algorithms, colocated servers, and microwave transmission networks all to gain a few microseconds of advantage in identifying and capturing fleeting mispricings. The fierce competition among these firms ensures that any mispricing is corrected almost instantaneously.

The no-arbitrage principle is therefore not a law of nature but an economic equilibrium condition. Unlike physical laws that hold regardless of human behavior, the absence of arbitrage emerges from the collective actions of market participants. We assume no arbitrage exists because in well-functioning markets, prices should adjust to eliminate it. This assumption becomes our foundational axiom for pricing. When we say that a market is "arbitrage-free," we are making a statement about economic equilibrium rather than physical necessity. Nevertheless, this assumption has proven extraordinarily powerful, allowing us to derive precise pricing relationships that hold remarkably well in practice.

The Law of One Price

A direct consequence of no-arbitrage is the Law of One Price:

Law of One Price

Two portfolios that have identical payoffs in all future states of the world must have the same price today.

This principle sounds almost tautological, yet it has far-reaching implications for derivative pricing. The logic behind it is airtight once we accept the no-arbitrage assumption. To see why, suppose portfolio A and portfolio B have the same payoff in every scenario, but PA<PBP_A < P_B. Then you could:

  • Buy portfolio A for PAP_A
  • Sell portfolio B for PBP_B
  • Pocket the difference PBPA>0P_B - P_A > 0 today
  • At maturity, your payoffs exactly cancel

The long position in portfolio A delivers exactly what you owe on the short position in portfolio B, regardless of which state of the world materializes. You have perfectly hedged your obligations and locked in a profit equal to the initial price difference. This is an arbitrage: you received cash upfront with no future liability. Therefore, the price difference cannot exist in equilibrium. Any such mispricing would attract arbitrageurs who would trade until prices equalized.

The Law of One Price is the workhorse of derivative pricing. If we can construct a portfolio of simple instruments (stocks, bonds) that replicates the payoff of a derivative, then the derivative must have the same price as that replicating portfolio. This insight transforms the seemingly difficult problem of pricing complex derivatives into the more tractable problem of finding the right combination of simpler assets.

Pricing by Replication

The Replicating Portfolio Approach

The replicating portfolio methodology provides a systematic approach to derivative pricing. Rather than trying to assess the probability of various outcomes or the appropriate discount rate for risky cash flows, we sidestep these thorny issues entirely by constructing a portfolio that mimics the derivative's behavior exactly. The approach proceeds as follows:

  1. Identify the payoff of the derivative you want to price
  2. Construct a portfolio of traded assets that produces exactly this payoff
  3. Calculate the cost of this replicating portfolio
  4. Conclude that the derivative price equals this cost

This approach is powerful because it converts the problem of pricing an exotic derivative into the simpler problem of finding the right combination of basic instruments. Once we have identified a replicating portfolio, no further analysis is needed. The Law of One Price guarantees that the derivative must trade at the same price as the replication strategy, regardless of investor preferences, probability assessments, or discount rates.

As we discussed in the chapter on Forward and Futures Pricing, we already used this logic implicitly. To price a forward contract on a stock, we showed that buying the stock today and financing it with borrowing replicates the forward's payoff. This replication argument gave us the forward price F=S0erTF = S_0 e^{rT} without any assumptions about the stock's expected return. We never needed to estimate whether the stock was likely to go up or down. The no-arbitrage condition forced the forward price to take a specific value determined solely by the current stock price, the interest rate, and the time to expiration.

A Simple Example: Put-Call Parity

Consider European call and put options with the same strike KK and expiration TT on a non-dividend-paying stock. This setting allows us to derive one of the most famous relationships in option pricing, purely through no-arbitrage arguments. At expiration, consider two portfolios:

Portfolio A: One call option plus KerTKe^{-rT} in cash (invested at the risk-free rate)

Portfolio B: One put option plus one share of stock

At expiration, let us trace through what each portfolio is worth in both possible scenarios: when the stock finishes above the strike, and when it finishes below. Portfolio A is worth:

max(STK,0)+K=max(ST,K)\max(S_T - K, 0) + K = \max(S_T, K)

where:

  • STS_T: stock price at expiration
  • KK: strike price

If the stock price exceeds the strike, the call pays STKS_T - K and the cash has grown to KK, giving a total of STS_T. If the stock price falls below the strike, the call expires worthless but the cash is worth KK. Either way, the portfolio is worth the larger of STS_T and KK.

Portfolio B is worth:

max(KST,0)+ST=max(K,ST)\max(K - S_T, 0) + S_T = \max(K, S_T)

where:

  • STS_T: stock price at expiration
  • KK: strike price

If the stock price falls below the strike, the put pays KSTK - S_T and the stock is worth STS_T, giving a total of KK. If the stock price exceeds the strike, the put expires worthless but the stock is worth STS_T. Once again, the portfolio is worth the larger of KK and STS_T.

Both portfolios have identical payoffs in all states of the world. By the Law of One Price:

C0+KerT=P0+S0C_0 + Ke^{-rT} = P_0 + S_0

where:

  • C0C_0: European call option price
  • P0P_0: European put option price
  • S0S_0: current stock price
  • KK: strike price
  • rr: risk-free interest rate
  • TT: time to expiration

This is put-call parity which you encountered in Part II. Notice we derived it purely from no-arbitrage, without any assumptions about how the stock price moves or what probability distribution governs returns. We did not need to specify a model for stock price dynamics, estimate volatility, or make assumptions about investor risk preferences. The relationship holds simply because both portfolios produce the same future cash flows, and therefore they must cost the same today.

Out[2]:
Visualization
Line plot showing call option payoff and cash value summing to Portfolio A payoff.
Payoff profile for Portfolio A, consisting of a call option and risk-free cash. The cash component ensures a base value of $K$, while the call option provides upside participation.
Line plot showing put option payoff and stock value summing to Portfolio B payoff.
Payoff profile for Portfolio B, consisting of a put option and the underlying stock. The protective put creates a floor at $K$, replicating the payoff structure of Portfolio A.

The One-Period Binomial Model

To develop the full machinery of risk-neutral valuation, we need a concrete model of how asset prices evolve. The one-period binomial model is the simplest possible setting, yet it contains all the essential insights that carry over to continuous-time models. By working through this elementary example in detail, we will discover the remarkable phenomenon of risk-neutral pricing, the idea that we can value derivatives using artificial probabilities that make all assets earn the risk-free rate.

Model Setup

Consider a single time period from t=0t=0 to t=Tt=T. A stock has current price S0S_0. At time TT, the stock can take one of two values:

ST={Su=S0uwith probability pSd=S0dwith probability 1pS_T = \begin{cases} S_u = S_0 \cdot u & \text{with probability } p \\ S_d = S_0 \cdot d & \text{with probability } 1-p \end{cases}

where:

  • STS_T: stock price at time TT
  • Su,SdS_u, S_d: stock prices in up and down states
  • S0S_0: current stock price
  • uu: up factor (u>1u > 1)
  • dd: down factor (d<1d < 1)
  • pp: real-world probability of an up move
  • TT: time to expiration

The up factor uu represents the gross return if the stock increases in value, while the down factor dd represents the gross return if the stock decreases. Typically we have u>1u > 1 and d<1d < 1, so an "up" move means the stock gains value and a "down" move means it loses value. The actual probability pp reflects the market's assessment of the stock's prospects. A stock with bright prospects might have a high pp, while a troubled company might have a low pp.

There is also a risk-free bond that grows from B0=1B_0 = 1 to BT=erTB_T = e^{rT}. This bond represents a riskless investment that earns the continuously compounded interest rate rr. Anyone can borrow or lend at this rate.

We want to price a derivative that pays fuf_u if the stock goes up and fdf_d if the stock goes down. For a call option with strike KK:

fu=max(SuK,0),fd=max(SdK,0)f_u = \max(S_u - K, 0), \quad f_d = \max(S_d - K, 0)

where:

  • fuf_u: derivative payoff in the up state
  • fdf_d: derivative payoff in the down state
  • SuS_u: stock price in the up state
  • SdS_d: stock price in the down state
  • KK: strike price

The call option pays the difference between the stock price and the strike if this difference is positive, and pays zero otherwise. Our task is to determine what this option should cost today.

In[3]:
Code
# One-period binomial model parameters
S0 = 100  # Current stock price
u = 1.20  # Up factor
d = 0.85  # Down factor
r = 0.05  # Risk-free rate (annual)
T = 1.0  # Time to expiration (1 year)
K = 100  # Strike price

# Stock prices at expiration
Su = S0 * u  # Stock price if up
Sd = S0 * d  # Stock price if down

# Call option payoffs
fu = max(Su - K, 0)  # Payoff if up
fd = max(Sd - K, 0)  # Payoff if down
Out[4]:
Console
One-Period Binomial Model Setup
========================================
Current stock price S0 = $100.00
Up factor u = 1.20, Down factor d = 0.85
Risk-free rate r = 5.0%
Time to expiration T = 1.0 year
Strike price K = $100.00

Possible Stock Prices at Expiration:
  Up state:   Su = $120.00
  Down state: Sd = $85.00

Call Option Payoffs:
  Up state:   fu = max(120.00 - 100, 0) = $20.00
  Down state: fd = max(85.00 - 100, 0) = $0.00
Out[5]:
Visualization
Binomial tree diagram with stock starting at 100 dollars, branching to 120 (up) and 85 (down), with corresponding call option payoffs of 20 and 0.
Visual representation of a one-period binomial tree model. The stock price starts at $S_0$ and branches into two possible states (up or down) at time $T$, defining the boundary conditions for the derivative payoff.

In this example, the stock price can rise to $120 or fall to $85 over the one-year period. The call option yields a $20 payoff in the up state (since $120 > $100) and expires worthless in the down state. The question we face is this: what should someone pay today for the right to receive this contingent payoff one year from now?

Constructing the Replicating Portfolio

We seek a portfolio consisting of Δ\Delta shares of stock and BB dollars invested in the risk-free bond that replicates the option payoff. The Greek letter delta (Δ) represents our position in the stock, while BB represents our position in the bond. This portfolio must match the option's payoff in both possible states of the world. At time TT, this portfolio must satisfy:

ΔSu+BerT=fuΔSd+BerT=fd\begin{aligned} \Delta \cdot S_u + B \cdot e^{rT} &= f_u \\ \Delta \cdot S_d + B \cdot e^{rT} &= f_d \end{aligned}

where:

  • Δ\Delta: number of shares of stock
  • BB: amount invested in the risk-free bond
  • Su,SdS_u, S_d: stock prices in up and down states
  • fu,fdf_u, f_d: derivative payoffs in up and down states
  • rr: risk-free rate
  • TT: time to expiration

The first equation says that if the stock goes up, our portfolio (consisting of Δ\Delta shares now worth SuS_u each, plus our bond investment grown to BerTB e^{rT}) must equal the option's payoff fuf_u. The second equation imposes the same requirement for the down state. We need the portfolio to match the option payoff in both scenarios.

This is a system of two linear equations in two unknowns. Since we have two equations and two unknowns, we can solve for unique values of Δ\Delta and BB. Subtracting the second equation from the first eliminates BB and allows us to solve for Δ\Delta:

(ΔSu+BerT)(ΔSd+BerT)=fufd(subtract equations)Δ(SuSd)=fufd(cancel B terms)Δ=fufdSuSd(solve for Δ)\begin{aligned} (\Delta \cdot S_u + B \cdot e^{rT}) - (\Delta \cdot S_d + B \cdot e^{rT}) &= f_u - f_d && \text{(subtract equations)} \\ \Delta (S_u - S_d) &= f_u - f_d && \text{(cancel } B \text{ terms)} \\ \Delta &= \frac{f_u - f_d}{S_u - S_d} && \text{(solve for } \Delta \text{)} \end{aligned}

where:

  • Δ\Delta: hedge ratio (shares of stock)
  • BB: amount invested in the risk-free bond
  • fu,fdf_u, f_d: option payoffs
  • Su,SdS_u, S_d: stock prices at expiration
  • rr: risk-free rate
  • TT: time to expiration

This quantity, called the delta of the option, measures how many shares we need to hold to replicate the option's sensitivity to stock price movements. The formula has an intuitive interpretation: the numerator fufdf_u - f_d is how much the option payoff changes between the two states, while the denominator SuSdS_u - S_d is how much the stock price changes. The ratio tells us how sensitive the option is to stock price movements. For every dollar the stock moves, the option payoff changes by delta dollars.

From either equation, we can solve for BB:

B=erT(fuΔSu)=erT(fdΔSd)B = e^{-rT}(f_u - \Delta \cdot S_u) = e^{-rT}(f_d - \Delta \cdot S_d)

where:

  • BB: bond investment required for replication
  • fu,fdf_u, f_d: derivative payoffs in up and down states
  • Su,SdS_u, S_d: stock prices in up and down states
  • Δ\Delta: hedge ratio
  • rr: risk-free interest rate
  • TT: time to expiration

The two expressions for BB must give the same answer because we already chose Δ\Delta to ensure the equations are consistent. We can use either one for the calculation.

The cost of constructing this portfolio today is:

f0=ΔS0+Bf_0 = \Delta \cdot S_0 + B

where:

  • f0f_0: fair value of the derivative today
  • S0S_0: current stock price
  • Δ\Delta: number of shares
  • BB: bond investment

We buy Δ\Delta shares at the current price S0S_0 and invest BB dollars in the bond. The total outlay is the sum of these two components. By the Law of One Price, this must equal the fair value of the derivative, since the portfolio and the derivative have identical payoffs.

In[6]:
Code
# Calculate replicating portfolio
Delta = (fu - fd) / (Su - Sd)
B = np.exp(-r * T) * (fu - Delta * Su)

# Option price is cost of replicating portfolio
f0_replication = Delta * S0 + B

# Verify portfolio values at expiration
portfolio_up = Delta * Su + B * np.exp(r * T)
portfolio_down = Delta * Sd + B * np.exp(r * T)
Out[7]:
Console
Replicating Portfolio Construction
========================================
Delta (shares of stock) = (20.00 - 0.00) / (120.00 - 85.00)
Delta = 0.5714

Bond position B = e^(-0.05×1.0) × (20.00 - 0.5714 × 120.00)
Bond position B = $-46.2026

Verification at expiration:
  Up state:   0.5714 × 120.00 + -46.2026 × e^(0.05×1.0) = $20.00
  Down state: 0.5714 × 85.00 + -46.2026 × e^(0.05×1.0) = $0.00

Fair value of call option = 0.5714 × $100.00 + $-46.2026
Fair value of call option = $10.9403
Out[8]:
Visualization
Bar chart comparing replicating portfolio value to call option payoff in both up and down states, showing exact matches.
Comparison of replicating portfolio values and call option payoffs in up and down states. The replicating portfolio perfectly matches the option payoff in every scenario, ensuring no arbitrage opportunities exist.

The replicating portfolio holds approximately 0.57 shares of stock and borrows about $46 (the negative bond position indicates borrowing). This leveraged position exactly mimics the option's payoff in both states. If the stock goes up, we hold 0.57 shares worth $120 each which gives us about $68 minus what we owe on our loan, which has grown to about $48 leaving us with $20 exactly the option payoff. If the stock goes down, our 0.57 shares are worth about $48, which exactly offsets our loan obligation, leaving us with nothing, again matching the option payoff. The option must therefore be worth $10.94.

Notice something remarkable: we never used the probability pp of the up move! The option price depends only on S0S_0, uu, dd, rr, TT, and KK, not on anyone's beliefs about whether the stock will go up or down. This is a key result. Two investors with completely different views about the stock's prospects must still agree on the option's fair price if they both accept the no-arbitrage principle.

The Emergence of Risk-Neutral Probabilities

Let's rearrange our pricing formula algebraically to discover a beautiful alternative representation. We start with the portfolio cost f0=ΔS0+Bf_0 = \Delta S_0 + B, substitute B=erT(fuΔSu)B = e^{-rT}(f_u - \Delta S_u), and recall that Su=S0uS_u = S_0 u and Sd=S0dS_d = S_0 d:

f0=ΔS0+erT(fuΔSu)=erTfu+Δ(S0erTSu)(rearrange terms)=erTfu+fufdS0(ud)S0(1erTu)(substitute Δ and stock prices)=erTfu+fufdud(1erTu)(cancel S0)=erT[fu+fufdud(erTu)](factor out erT)=erT[fu(ud)+(fufd)(erTu)ud](common denominator)=erT[fuufud+fuerTfuufderT+fduud](expand terms)=erT[fuerTdud+fduerTud](regroup by payoff)\begin{aligned} f_0 &= \Delta S_0 + e^{-rT}(f_u - \Delta S_u) \\ &= e^{-rT} f_u + \Delta(S_0 - e^{-rT}S_u) && \text{(rearrange terms)} \\ &= e^{-rT} f_u + \frac{f_u - f_d}{S_0(u - d)} S_0(1 - e^{-rT}u) && \text{(substitute } \Delta \text{ and stock prices)} \\ &= e^{-rT} f_u + \frac{f_u - f_d}{u - d} (1 - e^{-rT}u) && \text{(cancel } S_0 \text{)} \\ &= e^{-rT} \left[ f_u + \frac{f_u - f_d}{u - d} (e^{rT} - u) \right] && \text{(factor out } e^{-rT} \text{)} \\ &= e^{-rT} \left[ \frac{f_u(u - d) + (f_u - f_d)(e^{rT} - u)}{u - d} \right] && \text{(common denominator)} \\ &= e^{-rT} \left[ \frac{f_u u - f_u d + f_u e^{rT} - f_u u - f_d e^{rT} + f_d u}{u - d} \right] && \text{(expand terms)} \\ &= e^{-rT} \left[ f_u \frac{e^{rT} - d}{u - d} + f_d \frac{u - e^{rT}}{u - d} \right] && \text{(regroup by payoff)} \end{aligned}

where:

  • f0f_0: derivative price today
  • BB: amount invested in the risk-free bond
  • fu,fdf_u, f_d: option payoffs
  • S0,Su,SdS_0, S_u, S_d: stock prices (current, up, down)
  • u,du, d: up and down factors
  • rr: risk-free rate
  • TT: time to expiration
  • Δ\Delta: hedge ratio

The algebra may look tedious, but the result is illuminating. We have rewritten the option price as a weighted average of the payoffs, discounted back to the present. If we define a parameter qq:

q=erTdudq = \frac{e^{rT} - d}{u - d}

where:

  • qq: risk-neutral probability parameter
  • rr: risk-free interest rate
  • TT: time to expiration
  • u,du, d: up and down factors

Then the coefficient for fdf_d becomes:

uerTud=(ud)(erTd)ud=1erTdud=1q\begin{aligned} \frac{u - e^{rT}}{u - d} &= \frac{(u - d) - (e^{rT} - d)}{u - d} \\ &= 1 - \frac{e^{rT} - d}{u - d} \\ &= 1 - q \end{aligned}

where:

  • u,du, d: up and down factors
  • rr: risk-free interest rate
  • TT: time to expiration
  • qq: risk-neutral probability

Thus, the formula simplifies to:

f0=erT[qfu+(1q)fd]f_0 = e^{-rT}[q \cdot f_u + (1-q) \cdot f_d]

where:

  • q=erTdudq = \frac{e^{rT} - d}{u - d}: the risk-neutral probability of an up move
  • 1q1-q: the risk-neutral probability of a down move
  • fu,fdf_u, f_d: option payoffs in up and down states
  • rr: risk-free rate
  • TT: time to expiration

This formula has a striking interpretation. The term in brackets, qfu+(1q)fdq \cdot f_u + (1-q) \cdot f_d, looks exactly like an expected value: we weight each possible payoff by a probability and sum. The factor erTe^{-rT} discounts this expected value back to the present using the risk-free rate. In other words, the option price equals the discounted expected payoff, where the expectation uses special probabilities qq and 1q1-q.

In[9]:
Code
# Calculate risk-neutral probability
q = (np.exp(r * T) - d) / (u - d)

# Price option using risk-neutral valuation
f0_riskneutral = np.exp(-r * T) * (q * fu + (1 - q) * fd)
Out[10]:
Console
Risk-Neutral Probability Derivation
========================================
Risk-neutral probability of up move:
q = (e^(rT) - d) / (u - d)
q = (e^(0.05×1.0) - 0.85) / (1.2 - 0.85)
q = (1.0513 - 0.85) / (0.35)
q = 0.5751

Risk-neutral probability of down move:
1 - q = 0.4249

Option price via risk-neutral valuation:
f0 = e^(-rT) × [q × fu + (1-q) × fd]
f0 = e^(-0.05×1.0) × [0.5751 × 20.00 + 0.4249 × 0.00]
f0 = 0.9512 × [11.5012 + 0.0000]
f0 = $10.9403

Matches replication price: True

The quantity qq has a beautiful interpretation. It is the probability that would make the stock's expected return equal to the risk-free rate:

EQ[ST]=qSu+(1q)Sd=S0erTE^Q[S_T] = q \cdot S_u + (1-q) \cdot S_d = S_0 \cdot e^{rT}

where:

  • EQ[]E^Q[\cdot]: expectation under the risk-neutral measure
  • STS_T: stock price at expiration
  • qq: risk-neutral probability
  • Su,SdS_u, S_d: stock prices in up and down states
  • S0S_0: current stock price
  • rr: risk-free rate

This is the defining property of risk-neutral probabilities. Under this special probability measure, which we denote QQ, the stock's expected return equals the risk-free rate. The stock is priced as if investors were indifferent to risk, demanding no premium for bearing uncertainty. Let's verify this:

In[11]:
Code
# Expected stock price under risk-neutral measure
E_Q_ST = q * Su + (1 - q) * Sd

# What it should equal
forward_price = S0 * np.exp(r * T)
is_match = np.isclose(E_Q_ST, forward_price)
Out[12]:
Console
Verification: Stock Earns Risk-Free Rate Under Q
==================================================
E^Q[S_T] = q × Su + (1-q) × Sd
E^Q[S_T] = 0.5751 × 120.00 + 0.4249 × 85.00
E^Q[S_T] = $105.1271

S0 × e^(rT) = 100 × e^(0.05×1.0) = $105.1271

Match: True

This is the defining property of risk-neutral probabilities: under these artificial probabilities, all assets earn the risk-free rate in expectation. The derivative price is then simply the discounted expected payoff under this risk-neutral measure. We have discovered a profound result: derivative pricing reduces to calculating an expectation, provided we use the right probability measure.

Key Parameters

The key parameters for the One-Period Binomial Model are:

  • S₀: Current stock price. The base value from which up and down movements occur.
  • u, d: Up and down factors. Ratios determining the stock price in the next period (Su=S0uS_u = S_0 \cdot u, Sd=S0dS_d = S_0 \cdot d).
  • r: Risk-free interest rate. The rate at which the bond grows and future cash flows are discounted.
  • T: Time to expiration in years.
  • K: Strike price of the option.
  • q: Risk-neutral probability. The theoretical probability of an up move that equates the expected stock return to the risk-free rate.

Understanding Risk-Neutral Probabilities

What Risk-Neutral Probabilities Are Not

Risk-neutral probabilities are emphatically not real-world probabilities. This point deserves emphasis because it is a common source of confusion. They do not represent:

  • The actual likelihood of the stock going up or down
  • Any investor's subjective beliefs about future prices
  • Historical frequencies of up and down moves

In our example, q=0.5751q = 0.5751 says nothing about whether the stock will actually rise or fall. If a stock analyst believes there's an 80% chance the stock goes up, that real-world probability p=0.80p = 0.80 is irrelevant for pricing. The option price is 10.94regardlessofwhatanyonebelievesaboutthestocksdirection.Abullishinvestorandabearishinvestor,holdingoppositeviewsaboutthestocksprospects,mustbothagreeonthispriceof10.94 regardless of what anyone believes about the stock's direction. A bullish investor and a bearish investor, holding opposite views about the stock's prospects, must both agree on this price of 10.94. This is counterintuitive at first. How can the option price not depend on the probability the stock goes up? After all, a call option is worth more if the stock is more likely to rise. If you believe the stock has an 80% chance of reaching $120, shouldn't you pay more for the call than someone who thinks there's only a 40% chance?

The Resolution: Risk Adjustments

The resolution lies in recognizing that the replication argument works regardless of probabilities because we're constructing a hedge that eliminates risk. When we hold Δ\Delta shares against the option, the portfolio is perfectly hedged: it produces the same value whether the stock goes up or down. The hedged position is completely insensitive to the stock's direction.

In equilibrium, the cost of this hedged portfolio must be the price of the derivative. The hedge completely eliminates exposure to the up/down uncertainty, so the underlying probabilities become irrelevant to the pricing. Since we can perfectly replicate the option using the stock and bond, the option's price is pinned down by the replication cost, not by probability assessments.

Another way to see this: risk-neutral probabilities implicitly adjust for risk preferences. In the real world, investors are typically risk-averse. They demand higher expected returns from risky assets to compensate for bearing risk. Stocks have expected returns above the risk-free rate precisely because investors require this risk premium. A stock that is expected to return 10% per year includes both the time value of money (perhaps 5%) and a risk premium (another 5%) that compensates for the possibility of loss.

Risk-neutral probabilities mathematically combine two effects:

  1. Real-world probabilities of outcomes
  2. Risk adjustments that discount risky payoffs more heavily

The net result is a probability measure under which all assets earn the risk-free rate. The risk premium has been baked into the probabilities rather than the discount rate. Instead of using high real-world probabilities and a high discount rate (reflecting risk aversion), we use lower risk-neutral probabilities and a low discount rate (the risk-free rate). Both approaches give the same answer because they capture the same economic reality from different angles.

Two Equivalent Approaches to Pricing

We now have two mathematically equivalent ways to price derivatives:

Real-World Approach: Compute expected payoffs under actual probabilities and discount at a risk-adjusted rate

f0=eμTEP[fT]f_0 = e^{-\mu T} E^P[f_T]

where:

  • f0f_0: derivative price today
  • μ\mu: risk-adjusted discount rate
  • TT: time to expiration
  • EP[]E^P[\cdot]: expectation under real-world probability measure PP
  • fTf_T: derivative payoff at time TT

This approach requires knowing the real-world probabilities PP and determining the appropriate risk-adjusted discount rate μ\mu for the specific payoff pattern. The discount rate must reflect not just the time value of money but also the riskiness of the cash flows and how that risk relates to the broader market.

Risk-Neutral Approach: Compute expected payoffs under risk-neutral probabilities and discount at the risk-free rate

f0=erTEQ[fT]f_0 = e^{-rT} E^Q[f_T]

where:

  • f0f_0: derivative price today
  • rr: risk-free interest rate
  • TT: time to expiration
  • EQ[]E^Q[\cdot]: expectation under risk-neutral probability measure QQ
  • fTf_T: derivative payoff at time TT

This approach uses the artificial risk-neutral probabilities QQ and always discounts at the risk-free rate rr, regardless of the derivative's risk characteristics.

The risk-neutral approach is vastly more practical because:

  • We don't need to estimate real-world probabilities (notoriously difficult)
  • We don't need to determine the appropriate risk premium for each derivative
  • The risk-free rate is directly observable

The entire complexity of risk preferences and probability estimation gets absorbed into finding the right risk-neutral measure, which is determined by no-arbitrage conditions. Rather than solving the hard problem of estimating probabilities and discount rates, we solve the tractable problem of finding the replicating portfolio or equivalently the risk-neutral measure.

Out[13]:
Visualization
Bar chart comparing real-world and risk-neutral probabilities for up and down stock price movements.
Probability distributions for stock movements under real-world ($P$) and risk-neutral ($Q$) measures. The risk-neutral measure assigns higher probability to the down state to account for the risk premium, effectively shifting the distribution to the left.

The figure illustrates a key insight: risk-neutral probabilities typically assign more weight to adverse outcomes than real-world probabilities. In this example, even if we believe there's a 65% chance of the stock rising, the risk-neutral probability of an up move is only 57%. This shift reflects the risk premium embedded in stock prices. Because investors are risk-averse, they bid down stock prices below their expected discounted values, which manifests as a shift in the risk-neutral probabilities toward unfavorable outcomes.

The Fundamental Theorem of Asset Pricing

The connection between no-arbitrage and risk-neutral pricing is not a coincidence. It is formalized in one of the most important theoretical results in mathematical finance. This theorem establishes that our two key concepts, absence of arbitrage and existence of risk-neutral probabilities, are logically equivalent.

Statement of the Theorem

Fundamental Theorem of Asset Pricing (Simplified Version)

A market model is arbitrage-free if and only if there exists at least one probability measure QQ, equivalent to the real-world measure PP, under which all discounted asset prices are martingales.

This theorem is profound because it connects an economic concept (no free lunch) with a mathematical structure (martingale measure). Let's unpack this statement:

Arbitrage-free: No trading strategy can generate risk-free profits from zero initial capital. This is the economic condition we have been assuming throughout.

Equivalent probability measure: A measure QQ that assigns positive probability to exactly the same events as PP. If something is possible under PP, it's possible under QQ, and vice versa. This requirement ensures that the risk-neutral world doesn't consider impossible events to be possible, or vice versa.

Martingale: A stochastic process where the expected future value, given current information, equals the current value. Intuitively, a martingale is a "fair game" with no systematic drift. For discounted asset prices:

EQ[STBTFt]=StBtE^Q\left[\frac{S_T}{B_T} \mid \mathcal{F}_t\right] = \frac{S_t}{B_t}

where:

  • EQE^Q: expectation under the risk-neutral measure
  • St,STS_t, S_T: stock prices at time tt and TT
  • Bt,BTB_t, B_T: risk-free bond prices at time tt and TT
  • Ft\mathcal{F}_t: information available at time tt

This equation says the discounted stock price is a "fair game" under QQ: you don't expect it to systematically drift up or down in discounted terms. When we divide by the bond price, we are measuring the stock's value in units of the risk-free asset. Under the risk-neutral measure, this relative value is expected to stay constant.

Implications for Pricing

The Fundamental Theorem has profound implications for both theory and practice:

  1. Existence of risk-neutral measure: If markets are arbitrage-free (as we assume), then risk-neutral probabilities exist. We can always find a measure QQ for pricing. This is comforting: our pricing approach is not an arbitrary trick but rests on solid theoretical foundations.

  2. Uniqueness and completeness: If the risk-neutral measure is unique, the market is complete, meaning every derivative can be perfectly replicated. If multiple risk-neutral measures exist, the market is incomplete, and there's a range of arbitrage-free prices. In incomplete markets, different risk-neutral measures correspond to different ways of pricing risk, and the no-arbitrage condition alone doesn't pin down a unique price.

  3. Pricing formula: Under QQ, any derivative paying fTf_T at time TT has price:

f0=EQ[erTfT]f_0 = E^Q\left[e^{-rT} f_T\right]

where:

  • f0f_0: derivative price today
  • fTf_T: derivative payoff at maturity
  • rr: risk-free rate
  • TT: time to maturity
  • EQE^Q: expectation under the risk-neutral measure

This elegant formula reduces derivative pricing to computing a single expectation, provided we can characterize the risk-neutral dynamics of the underlying. All the complexity of hedging and replication gets absorbed into the change of probability measure.

In our binomial model, the market is complete: there are two states and two assets (stock and bond), so we can perfectly replicate any payoff. The risk-neutral measure is unique, given by the probability qq we derived. With two assets and two states, we have exactly enough instruments to span all possible payoffs.

Multi-Period Binomial Model

The one-period model extends naturally to multiple periods, providing a flexible framework for pricing American options and path-dependent derivatives. By chaining together many small one-period models, we can approximate arbitrarily complex price dynamics while maintaining the tractability of the binomial approach.

Model Structure

Divide the time to expiration TT into nn steps, each of length Δt=T/n\Delta t = T/n. At each step, the stock either goes up by factor uu or down by factor dd. After nn steps, the stock can be at any of n+1n+1 different price levels. The tree structure grows exponentially: at step kk, there are k+1k+1 possible stock prices, corresponding to having experienced jj up moves and kjk-j down moves for each jj from 0 to kk.

In[14]:
Code
import numpy as np


def binomial_tree_price(S0, K, T, r, u, d, n, option_type="call"):
    """
    Price a European option using the binomial tree model.

    Parameters:
    -----------
    S0 : float - Current stock price
    K : float - Strike price
    T : float - Time to expiration (years)
    r : float - Risk-free rate
    u : float - Up factor per step
    d : float - Down factor per step
    n : int - Number of time steps
    option_type : str - 'call' or 'put'

    Returns:
    --------
    float - Option price
    """
    dt = T / n

    # Risk-neutral probability (per step)
    q = (np.exp(r * dt) - d) / (u - d)

    # Initialize asset prices at maturity
    S = np.array([S0 * (u**j) * (d ** (n - j)) for j in range(n + 1)])

    # Calculate option payoffs at maturity
    if option_type == "call":
        V = np.maximum(S - K, 0)
    else:
        V = np.maximum(K - S, 0)

    # Work backwards through the tree
    for i in range(n - 1, -1, -1):
        V = np.exp(-r * dt) * (q * V[1 : i + 2] + (1 - q) * V[0 : i + 1])

    return V[0]

The algorithm works by backward induction, starting from the known payoffs at expiration and working back to the present. This is the natural approach because at expiration we know exactly what the option is worth (its intrinsic value), and at each earlier node we can compute the value from the risk-neutral formula. The steps are:

  1. Calculate all possible stock prices at expiration
  2. Compute the option payoff at each terminal node
  3. Work backwards: at each earlier node, the option value is the discounted risk-neutral expectation of its values at the two successor nodes
In[15]:
Code
# Multi-period example
n_steps = 50
dt = T / n_steps

sigma = 0.20  # Volatility

# Use same u and d per period (simplified)
u_step = np.exp(sigma * np.sqrt(dt))
d_step = 1 / u_step

call_price_tree = binomial_tree_price(
    S0, K, T, r, u_step, d_step, n_steps, "call"
)
put_price_tree = binomial_tree_price(
    S0, K, T, r, u_step, d_step, n_steps, "put"
)

# Verify Put-Call Parity
parity_diff = call_price_tree - put_price_tree
parity_theoretical = S0 - K * np.exp(-r * T)
Out[16]:
Console
Multi-Period Binomial Tree Pricing
========================================
Number of steps: 50
Time per step: 0.0200 years
Per-step up factor: 1.028688
Per-step down factor: 0.972112

European Call Price: $10.4107
European Put Price: $5.5336

Verifying Put-Call Parity:
C - P = $4.8771
S0 - K×e^(-rT) = $4.8771

The 50-step binomial tree yields call and put prices that satisfy put-call parity. The calculated prices reflect the discrete approximations of the continuous process, and as we increase the number of steps, these values will converge to the Black-Scholes prices. The fact that put-call parity holds confirms that our implementation is internally consistent.

Out[17]:
Visualization
Binomial tree lattice diagram showing stock price evolution over 4 time steps with recombining paths.
Lattice structure of a four-step binomial tree. The recombining nature of the tree implies that paths with the same number of up and down moves reach the same node, preventing the number of states from growing exponentially.

Convergence to Continuous Time

An important property of the binomial model is that as we increase the number of steps, the discrete model converges to a continuous-time model. This convergence is not merely approximate: with the right choice of parameters, the binomial model converges exactly to the continuous-time geometric Brownian motion model. If we choose:

u=eσΔt,d=eσΔtu = e^{\sigma\sqrt{\Delta t}}, \quad d = e^{-\sigma\sqrt{\Delta t}}

where:

  • u,du, d: up and down factors
  • σ\sigma: volatility of the stock
  • Δt\Delta t: length of each time step

Then as nn \to \infty and Δt0\Delta t \to 0, the binomial stock price process converges to geometric Brownian motion:

dSt=μStdt+σStdWtdS_t = \mu S_t \, dt + \sigma S_t \, dW_t

where:

  • dStdS_t: change in stock price
  • StS_t: stock price at time tt
  • μ\mu: drift (expected return)
  • dtdt: small time increment
  • σ\sigma: volatility
  • dWtdW_t: increment of a standard Brownian motion

This is the process we studied in the previous chapter on Brownian Motion and Random Walk Models. The binomial model can be viewed as a discretization of this continuous process. As we make the time steps smaller and smaller, the discrete jumps of the binomial model approximate the continuous fluctuations of Brownian motion with increasing accuracy. The binomial option prices converge to the Black-Scholes prices, which we'll derive in the next chapter.

In[18]:
Code
import numpy as np
from scipy.stats import norm


def black_scholes_call(S, K, T, r, sigma):
    d1 = (np.log(S / K) + (r + 0.5 * sigma**2) * T) / (sigma * np.sqrt(T))
    d2 = d1 - sigma * np.sqrt(T)
    return S * norm.cdf(d1) - K * np.exp(-r * T) * norm.cdf(d2)


# Parameters for convergence analysis
sigma_conv = 0.20
steps_range = range(5, 201, 5)
binomial_prices = []

# Calculate prices for increasing number of steps
for n in steps_range:
    dt_n = T / n
    u_n = np.exp(sigma_conv * np.sqrt(dt_n))
    d_n = 1 / u_n
    price = binomial_tree_price(S0, K, T, r, u_n, d_n, n, "call")
    binomial_prices.append(price)

bs_price = black_scholes_call(S0, K, T, r, sigma_conv)
Out[19]:
Visualization
Line chart showing binomial tree call option price versus number of time steps, converging to a horizontal asymptote.
Convergence of binomial tree option prices to the Black-Scholes analytical solution as the number of time steps increases. The oscillatory behavior diminishes as the discrete grid becomes finer, stabilizing at the continuous-time limit.

The oscillation in binomial prices, visible for small numbers of steps, occurs because the discrete lattice can position the strike price differently relative to the nodes. Depending on whether the strike falls near a node or between nodes, the approximation error can be larger or smaller. These oscillations dampen as the number of steps increases, and the price converges smoothly to the Black-Scholes value. In practice, 50-100 steps typically provide sufficient accuracy for most applications.

Key Parameters

The key parameters for the Multi-Period Binomial Model are:

  • n: Number of time steps. Controls the resolution of the tree; higher nn converges to continuous-time prices.
  • σ: Volatility of the underlying asset. Used to calculate the up and down factors (uu and dd) so that the tree matches the asset's variance.
  • Δt: Time step size (T/nT/n). The duration of each step in the tree; as Δt0\Delta t \to 0 the model converges to the continuous-time geometric Brownian motion.

Risk-Neutral Valuation in Continuous Time

The discrete binomial framework extends naturally to continuous time, where calculus replaces algebra and Brownian motion replaces discrete jumps. The core insight remains the same: we can change probability measures to simplify derivative pricing.

The Girsanov Theorem Connection

In continuous time, the transition from real-world to risk-neutral probabilities involves changing the drift of the Brownian motion. This change of measure, which generalizes what we did in the discrete binomial model, is accomplished through the Girsanov theorem. Under the real-world measure PP, the stock follows:

dSt=μStdt+σStdWtPdS_t = \mu S_t \, dt + \sigma S_t \, dW_t^P

where:

  • dStdS_t: change in stock price
  • StS_t: stock price at time tt
  • μ\mu: expected return under measure PP
  • dtdt: small time increment
  • σ\sigma: volatility
  • dWtPdW_t^P: Brownian increment under measure PP

Here the drift μ\mu reflects the stock's actual expected return, which typically exceeds the risk-free rate due to the equity risk premium.

The Girsanov theorem, a fundamental result in stochastic calculus, tells us we can change to an equivalent measure QQ under which:

dSt=rStdt+σStdWtQdS_t = r S_t \, dt + \sigma S_t \, dW_t^Q

where:

  • dStdS_t: change in stock price
  • rr: risk-free interest rate
  • StS_t: stock price at time tt
  • dtdt: small time increment
  • σ\sigma: volatility
  • dWtQdW_t^Q: Brownian increment under risk-neutral measure QQ

The drift changes from μ\mu to rr, but the volatility σ\sigma remains unchanged. This is crucial: the change of measure affects the expected return but not the magnitude of the random fluctuations. Under this risk-neutral measure, the stock earns the risk-free rate, and we can price any derivative as:

f0=erTEQ[fT]f_0 = e^{-rT} E^Q[f_T]

where:

  • f0f_0: price of the derivative
  • rr: risk-free interest rate
  • TT: time to expiration
  • EQ[]E^Q[\cdot]: expectation under risk-neutral measure QQ
  • fTf_T: payoff at expiration

The relationship between the two Brownian motions involves the market price of risk λ=(μr)/σ\lambda = (\mu - r)/\sigma:

dWtQ=dWtP+λdtdW_t^Q = dW_t^P + \lambda \, dt

where:

  • dWtQ,dWtPdW_t^Q, dW_t^P: Brownian increments under measures QQ and PP
  • λ\lambda: market price of risk
  • dtdt: small time increment

This quantity measures the excess return per unit of volatility that investors demand for bearing stock price risk. A high market price of risk indicates that investors require substantial compensation for bearing uncertainty. The Girsanov change of measure essentially absorbs this risk premium into the probability measure itself, transforming a world where risky assets earn excess returns into a world where everything earns the risk-free rate.

Out[20]:
Visualization
Simulated stock price paths trending upwards with 12% drift.
Stock price simulation under the Real-World Measure (P). The 12% expected return μ drives a steep upward trend, reflecting the risk premium demanded by investors.
Simulated stock price paths trending upwards less steeply with 5% drift.
Stock price simulation under the Risk-Neutral Measure (Q). The drift follows the risk-free rate r (5%), resulting in more moderate growth where all assets earn the risk-free return.

We'll explore these ideas further when we derive the Black-Scholes-Merton PDE in the next chapter, where the continuous-time hedging argument leads to the same conclusion through a different route.

Practical Applications

The theoretical framework developed in this chapter has immediate practical value. Risk-neutral valuation provides the conceptual foundation for pricing derivatives across asset classes and complexity levels.

Pricing Complex Derivatives

Risk-neutral valuation provides a unified framework for pricing virtually any derivative. The conceptual approach is the same whether we are pricing a simple European call or a complex path-dependent exotic option:

  1. Specify the risk-neutral dynamics of underlying assets
  2. Determine the derivative's payoff as a function of the underlying's path
  3. Compute the discounted expected payoff under the risk-neutral measure

For European options with nice analytical forms, we can often derive closed-form pricing formulas. The Black-Scholes formula for European calls and puts is the most famous example, but similar formulas exist for many other products. For more complex derivatives, we use numerical methods:

  • Binomial/trinomial trees for American options and simple path-dependencies
  • Monte Carlo simulation for path-dependent options with many underlying assets
  • Finite difference methods for solving the pricing PDE directly

These numerical techniques, which we'll cover in detail in upcoming chapters, all rest on the risk-neutral valuation foundation established here. The theoretical framework is the same; only the computational implementation differs.

Calibration to Market Prices

In practice, we don't simply pick model parameters and compute prices. Instead, we:

  1. Observe market prices of liquid options
  2. Find risk-neutral parameters that match these prices
  3. Use the calibrated model to price exotic derivatives

For example, if we observe call option prices for various strikes, we can back out the implied volatility that makes the Black-Scholes formula match each price. The resulting implied volatility surface tells us about the market's risk-neutral expectations for future stock price movements. Different strikes and expirations typically imply different volatilities, revealing the market's view of the full probability distribution, not just its variance.

This calibration approach is essential because it ensures our model prices are consistent with liquid market prices, reducing arbitrage opportunities between our model and the market. A model that produces prices inconsistent with observed market prices is effectively creating phantom arbitrage opportunities that don't actually exist.

Limitations and Practical Considerations

The no-arbitrage framework provides powerful pricing tools, but you must understand its limitations. Real markets differ from the idealized conditions assumed in our derivations.

Model Dependence

While no-arbitrage restricts prices significantly, it does not uniquely determine them for most derivatives. The risk-neutral approach requires specifying how underlying assets evolve under the risk-neutral measure. Different model choices, such as geometric Brownian motion versus jump-diffusion versus stochastic volatility, lead to different prices for the same derivative.

For simple European options on liquid underlyings, this model dependence is manageable because we calibrate to market prices. If we use the implied volatility from the market, we will match the market price by construction. For exotic derivatives or illiquid underlyings, model risk becomes a significant concern. Two equally plausible models might produce substantially different prices, and there's no way to know which is "correct" until the derivative expires.

We address model risk through several strategies: using multiple models and examining the range of prices, stress testing against alternative specifications, and adding model uncertainty premiums to quoted prices. The more exotic the derivative, the wider the uncertainty band around its "fair" price.

Market Frictions

The no-arbitrage framework assumes idealized conditions:

  • No transaction costs
  • Unlimited borrowing and lending at the risk-free rate
  • Perfect divisibility of assets
  • No restrictions on short selling
  • Continuous trading

Real markets violate all these assumptions. Transaction costs create bid-ask spreads that allow a range of prices to coexist without arbitrage. Funding costs differ from the risk-free rate and vary across counterparties. Short-selling restrictions can prevent the execution of arbitrage strategies. Assets cannot be traded in infinitesimal quantities.

These frictions don't invalidate the framework, but they do create no-arbitrage bounds, rather than unique prices. A derivative might have any price within these bounds without triggering arbitrage. The bounds are typically tight for liquid instruments but can be wide for exotic or illiquid products.

Credit Risk

The analysis implicitly assumes all parties fulfill their obligations. In practice, counterparty credit risk affects derivative pricing. An option purchased from a risky counterparty is worth less than one from a risk-free entity because there's a chance the counterparty defaults before paying the option's value.

Modern derivative valuation incorporates credit valuation adjustments (CVA) and other XVA adjustments that modify the idealized risk-neutral price to account for credit, funding, and capital costs. These adjustments have become increasingly important since the 2008 financial crisis highlighted the significance of counterparty risk.

Summary

This chapter established the theoretical foundations that underpin all derivative pricing:

The no-arbitrage principle asserts that markets should not permit risk-free profits from zero capital. This simple economic axiom, enforced by competitive trading, places powerful restrictions on relative prices of financial instruments.

The Law of One Price follows directly: portfolios with identical payoffs must have identical prices. This enables pricing by replication: find a portfolio of simple instruments that mimics the derivative, and its cost is the derivative's fair value.

The binomial model demonstrates these principles concretely. By constructing a hedging portfolio that replicates option payoffs, we derive prices without knowing or using real-world probabilities.

Risk-neutral probabilities emerge from the replication argument. These artificial probabilities make all assets earn the risk-free rate in expectation, allowing us to price derivatives as simply discounted expected payoffs. They incorporate risk adjustments implicitly, absorbing investor risk preferences into the probability measure.

The Fundamental Theorem of Asset Pricing formalizes the no-arbitrage/risk-neutral connection: absence of arbitrage is equivalent to existence of a risk-neutral measure under which discounted prices are martingales.

These ideas extend naturally to continuous time, where the change of measure from real-world to risk-neutral probabilities is governed by Girsanov's theorem. In the next chapter, we'll use these principles to derive the celebrated Black-Scholes-Merton partial differential equation, which opened the door to modern quantitative finance.

Quiz

Ready to test your understanding? Take this quick quiz to reinforce what you've learned about no-arbitrage pricing and risk-neutral valuation.

Loading component...

Reference

BIBTEXAcademic
@misc{noarbitrageprincipleriskneutralvaluationexplained, author = {Michael Brenndoerfer}, title = {No-Arbitrage Principle & Risk-Neutral Valuation Explained}, year = {2025}, url = {https://mbrenndoerfer.com/writing/no-arbitrage-risk-neutral-valuation-derivative-pricing}, organization = {mbrenndoerfer.com}, note = {Accessed: 2025-01-01} }
APAAcademic
Michael Brenndoerfer (2025). No-Arbitrage Principle & Risk-Neutral Valuation Explained. Retrieved from https://mbrenndoerfer.com/writing/no-arbitrage-risk-neutral-valuation-derivative-pricing
MLAAcademic
Michael Brenndoerfer. "No-Arbitrage Principle & Risk-Neutral Valuation Explained." 2026. Web. today. <https://mbrenndoerfer.com/writing/no-arbitrage-risk-neutral-valuation-derivative-pricing>.
CHICAGOAcademic
Michael Brenndoerfer. "No-Arbitrage Principle & Risk-Neutral Valuation Explained." Accessed today. https://mbrenndoerfer.com/writing/no-arbitrage-risk-neutral-valuation-derivative-pricing.
HARVARDAcademic
Michael Brenndoerfer (2025) 'No-Arbitrage Principle & Risk-Neutral Valuation Explained'. Available at: https://mbrenndoerfer.com/writing/no-arbitrage-risk-neutral-valuation-derivative-pricing (Accessed: today).
SimpleBasic
Michael Brenndoerfer (2025). No-Arbitrage Principle & Risk-Neutral Valuation Explained. https://mbrenndoerfer.com/writing/no-arbitrage-risk-neutral-valuation-derivative-pricing