20  Chapter 17. Change of Measure and Girsanov Theorem

20.1 Learning Goals

By the end of this chapter, students should be able to:

  • explain why changing probability measures is useful in asset pricing;
  • define absolute continuity, equivalence, and Radon–Nikodym derivatives in finite and general probability spaces;
  • use the identity $ E^{Q}[X]=E^{P}[Z X] $ where \(Z=d\mathbb Q/d\mathbb P\);
  • compute a risk-neutral probability by changing measure in a finite-state model;
  • explain density processes and conditional Bayes formulas;
  • state and interpret Girsanov’s theorem for Brownian motion;
  • derive the market price of risk in the Black–Scholes model;
  • transform a physical stock-price model into a risk-neutral stock-price model;
  • understand the relationship between drift, volatility, no-arbitrage, and martingale measures;
  • use Python simulations to check exponential martingales, drift changes, and risk-neutral valuation;
  • use AI tools to audit sign conventions and hidden assumptions in change-of-measure arguments.

A change of measure does not change the possible states of the world. It changes how probability mass is assigned to those states.

In finance, the physical measure \(\mathbb P\) describes statistical behavior estimated from data, while the risk-neutral measure \(\mathbb Q\) is chosen so that discounted traded asset prices become martingales. The two measures live on the same sample space, but they answer different questions:

\[ \mathbb P \quad \text{models real-world frequencies,} \qquad \mathbb Q \quad \text{prices claims by no-arbitrage.} \]

The mathematical bridge is the Radon–Nikodym derivative. In continuous time, Girsanov’s theorem tells us how Brownian drift changes when the probability measure changes.

20.2 17.1 Why Change Probability Measures?

In earlier chapters, we used risk-neutral pricing in several forms:

\[ V_t=B_t\mathbb E^{\mathbb Q}\left[\frac{V_T}{B_T}\mid \mathcal F_t\right], \]

and, when the interest rate is constant,

\[ V_0=e^{-rT}\mathbb E^{\mathbb Q}[V_T]. \]

The notation \(\mathbb Q\) is not decorative. It means that the expectation is taken under a probability law usually different from the physical law \(\mathbb P\).

For example, suppose under the physical measure the stock follows

\[ dS_t=\mu S_t\,dt+\sigma S_t\,dW_t^{\mathbb P}. \]

If \(\mu>r\), then the discounted expected stock price under \(\mathbb P\) is increasing:

\[ \mathbb E^{\mathbb P}\left[e^{-rt}S_t\right]=S_0 e^{(\mu-r)t}. \]

Therefore \(e^{-rt}S_t\) is not a \(\mathbb P\)-martingale unless \(\mu=r\). But no-arbitrage pricing says that under a risk-neutral measure, the discounted stock price should be a martingale:

\[ \mathbb E^{\mathbb Q}\left[e^{-rT}S_T\mid\mathcal F_t\right]=e^{-rt}S_t. \]

Changing measure is the mathematical operation that replaces the physical drift \(\mu\) by the risk-neutral drift \(r\) while preserving the volatility structure.

NoteKey idea

In a diffusion model, volatility determines the size of random shocks. The change from \(\mathbb P\) to \(\mathbb Q\) changes the drift, not the quadratic variation.

20.3 17.2 Measures on the Same Sample Space

Let \((\Omega,\mathcal F)\) be a measurable space. A probability measure assigns probabilities to events in \(\mathcal F\).

Suppose \(\mathbb P\) and \(\mathbb Q\) are two probability measures on the same \((\Omega,\mathcal F)\).

20.4 Absolute continuity and equivalence

We say \(\mathbb Q\) is absolutely continuous with respect to \(\mathbb P\), written

\[ \mathbb Q\ll \mathbb P, \]

if every event that is impossible under \(\mathbb P\) is also impossible under \(\mathbb Q\):

\[ \mathbb P(A)=0 \quad \Longrightarrow \quad \mathbb Q(A)=0. \]

The measures \(\mathbb P\) and \(\mathbb Q\) are equivalent, written

\[ \mathbb P\sim \mathbb Q, \]

if

\[ \mathbb Q\ll\mathbb P \qquad \text{and} \qquad \mathbb P\ll\mathbb Q. \]

Equivalence means that the two measures agree on which events are possible and impossible. They may disagree on probabilities, but not on the support of the model.

In mathematical finance this condition is natural. A risk-neutral measure should not declare a physically possible event impossible, because that would remove scenarios rather than merely reweighting them.

WarningFinancial interpretation

Equivalent measures assign different probabilities to the same possible future states. They do not change the set of possible future states.

20.5 17.3 Radon–Nikodym Derivatives in Finite Models

First consider a finite sample space

\[ \Omega=\{\omega_1,\omega_2,\ldots,\omega_m\}. \]

Let

\[ p_i=\mathbb P(\{\omega_i\}), \qquad q_i=\mathbb Q(\{\omega_i\}). \]

If \(p_i>0\) for all states and \(q_i>0\) for all states, then \(\mathbb P\) and \(\mathbb Q\) are equivalent.

Define the likelihood ratio

\[ Z(\omega_i)=\frac{q_i}{p_i}. \]

Then

\[ q_i=Z(\omega_i)p_i. \]

This random variable \(Z\) is the finite-state version of the Radon–Nikodym derivative:

\[ Z=\frac{d\mathbb Q}{d\mathbb P}. \]

It satisfies two properties:

\[ Z>0, \qquad \mathbb E^{\mathbb P}[Z]=1. \]

For any random variable \(X\), we have

\[ \mathbb E^{\mathbb Q}[X] =\sum_{i=1}^m X(\omega_i)q_i =\sum_{i=1}^m X(\omega_i)Z(\omega_i)p_i =\mathbb E^{\mathbb P}[ZX]. \]

This identity is the basic computational rule of change of measure.

ImportantChange-of-measure identity

If \(Z=d\mathbb Q/d\mathbb P\), then

\[ \mathbb E^{\mathbb Q}[X]=\mathbb E^{\mathbb P}[ZX]. \]

The random variable \(Z\) reweights the states.

20.6 17.4 A One-Period Asset Pricing Example

Consider one stock and one riskless asset over one period. The initial stock price is \(S_0\). At time \(1\), the stock price is

\[ S_1= \begin{cases} u S_0, & \text{up state},\\ d S_0, & \text{down state}. \end{cases} \]

The riskless gross return is \(R=1+r\).

Under the physical measure \(\mathbb P\),

\[ \mathbb P(\text{up})=p, \qquad \mathbb P(\text{down})=1-p. \]

Under the risk-neutral measure \(\mathbb Q\),

\[ \mathbb Q(\text{up})=q, \qquad \mathbb Q(\text{down})=1-q. \]

The discounted stock should be a martingale under \(\mathbb Q\):

\[ S_0=\frac{1}{R}\mathbb E^{\mathbb Q}[S_1]. \]

Thus

\[ RS_0=q uS_0+(1-q)dS_0. \]

Dividing by \(S_0\) gives

\[ R=qu+(1-q)d=d+q(u-d), \]

so

\[ q=\frac{R-d}{u-d}. \]

Notice that \(q\) does not depend on the physical probability \(p\). The physical probability is relevant for statistical forecasting. The risk-neutral probability is relevant for no-arbitrage pricing.

The Radon–Nikodym derivative from \(\mathbb P\) to \(\mathbb Q\) is

\[ Z(\text{up})=\frac{q}{p}, \qquad Z(\text{down})=\frac{1-q}{1-p}. \]

For a payoff \(X\), the no-arbitrage price is

\[ V_0=\frac{1}{R}\mathbb E^{\mathbb Q}[X] =\frac{1}{R}\mathbb E^{\mathbb P}[ZX]. \]

20.7 Numerical example

Let \(S_0=100\), \(u=1.2\), \(d=0.9\), and \(r=0.05\). Then \(R=1.05\) and

\[ q=\frac{1.05-0.9}{1.2-0.9}=0.5. \]

If \(p=0.7\), then

\[ Z(\text{up})=\frac{0.5}{0.7}, \qquad Z(\text{down})=\frac{0.5}{0.3}. \]

The down state receives more weight under \(\mathbb Q\) than under \(\mathbb P\) because risk-neutral pricing compensates for risk through state prices rather than through expected return.

S0 = 100
u = 1.20
d = 0.90
r = 0.05
R = 1 + r
p = 0.70

q = (R - d) / (u - d)
Z_up = q / p
Z_down = (1 - q) / (1 - p)

payoff_up = max(u * S0 - 100, 0)
payoff_down = max(d * S0 - 100, 0)

price_Q = (q * payoff_up + (1 - q) * payoff_down) / R
price_PZ = (p * Z_up * payoff_up + (1 - p) * Z_down * payoff_down) / R

print("Risk-neutral probability q:", q)
print("Z(up):", Z_up)
print("Z(down):", Z_down)
print("Price by Q expectation:", price_Q)
print("Price by P expectation with density Z:", price_PZ)
Risk-neutral probability q: 0.5000000000000002
Z(up): 0.7142857142857146
Z(down): 1.6666666666666656
Price by Q expectation: 9.523809523809527
Price by P expectation with density Z: 9.523809523809527

20.8 17.5 General Radon–Nikodym Derivative

The finite-state ratio \(q_i/p_i\) has a general version.

20.9 Radon–Nikodym theorem, probability version

Let \(\mathbb Q\) and \(\mathbb P\) be probability measures on \((\Omega,\mathcal F)\), and suppose \(\mathbb Q\ll\mathbb P\). Then there exists a nonnegative random variable \(Z\) such that

\[ \mathbb Q(A)=\int_A Z\,d\mathbb P \]

for every event \(A\in\mathcal F\).

The random variable \(Z\) is written

\[ Z=\frac{d\mathbb Q}{d\mathbb P}. \]

Because \(\mathbb Q(\Omega)=1\), we have

\[ 1=\mathbb Q(\Omega)=\int_\Omega Z\,d\mathbb P=\mathbb E^{\mathbb P}[Z]. \]

If \(\mathbb P\) and \(\mathbb Q\) are equivalent, then \(Z>0\) almost surely under \(\mathbb P\).

For every integrable random variable \(X\),

\[ \mathbb E^{\mathbb Q}[X]=\mathbb E^{\mathbb P}[ZX]. \]

This formula is more important than the theorem statement itself. It tells us how to compute expectations under the new measure using the old measure.

20.10 17.6 Conditional Expectations Under Change of Measure

In pricing, we usually need conditional expectations. Suppose

\[ Z_T=\frac{d\mathbb Q}{d\mathbb P}\bigg|_{\mathcal F_T}. \]

Let \(\mathcal G\subseteq \mathcal F_T\) be a smaller information set. Then the conditional Bayes formula is

\[ \mathbb E^{\mathbb Q}[X\mid \mathcal G] =\frac{\mathbb E^{\mathbb P}[Z_T X\mid \mathcal G]} {\mathbb E^{\mathbb P}[Z_T\mid \mathcal G]}. \]

Define the density process

\[ Z_t=\mathbb E^{\mathbb P}[Z_T\mid\mathcal F_t]. \]

Then \(Z_t\) is a positive \(\mathbb P\)-martingale with \(Z_0=1\). The conditional formula becomes

\[ \mathbb E^{\mathbb Q}[X\mid \mathcal F_t] =\frac{1}{Z_t}\mathbb E^{\mathbb P}[Z_T X\mid\mathcal F_t]. \]

NoteInterpretation

The density process \(Z_t\) is the likelihood ratio using information available up to time \(t\). It updates how strongly each path is weighted as information arrives.

20.11 17.7 Exponential Tilting of a Normal Random Variable

Before Brownian motion, it is useful to study one normal random variable.

Let \(X\sim N(0,1)\) under \(\mathbb P\). For a parameter \(\theta\in\mathbb R\), define

\[ Z=\exp\left(\theta X-\frac12\theta^2\right). \]

Then

\[ \mathbb E^{\mathbb P}[Z]=1. \]

Therefore \(Z\) can define a new probability measure by

\[ \frac{d\mathbb Q}{d\mathbb P}=Z. \]

Under \(\mathbb Q\), the random variable \(X\) has distribution \(N(\theta,1)\).

This is called exponential tilting. It changes the mean but not the variance.

20.12 Interactive 17.1: Exponential tilting of a normal density

Move the parameter \(\theta\). The blue density is the original \(N(0,1)\) density under \(\mathbb P\). The tilted density is the \(\mathbb Q\) density produced by the likelihood ratio

\[ Z=\exp\left(\theta X-\frac12\theta^2\right). \]

The variance stays equal to \(1\), but the mean moves to \(\theta\).

1.0

import numpy as np

rng = np.random.default_rng(7243)
n = 1_000_000
theta = 0.8
X = rng.normal(size=n)
Z = np.exp(theta * X - 0.5 * theta**2)

EQ_X = np.mean(Z * X)
EQ_X2 = np.mean(Z * X**2)
var_Q = EQ_X2 - EQ_X**2

print("E_P[Z] approximately:", np.mean(Z))
print("E_Q[X] approximately:", EQ_X)
print("Var_Q(X) approximately:", var_Q)
print("Theoretical mean under Q:", theta)
print("Theoretical variance under Q: 1")
E_P[Z] approximately: 1.0005483151420165
E_Q[X] approximately: 0.8017622873306482
Var_Q(X) approximately: 1.0026757464910103
Theoretical mean under Q: 0.8
Theoretical variance under Q: 1

20.13 17.8 Exponential Martingales for Brownian Motion

Let \(W_t^{\mathbb P}\) be a standard Brownian motion under \(\mathbb P\). For a constant \(\lambda\), define

\[ Z_t=\exp\left(-\lambda W_t^{\mathbb P}-\frac12\lambda^2 t\right). \]

Then \((Z_t)_{t\ge 0}\) is a positive \(\mathbb P\)-martingale and

\[ \mathbb E^{\mathbb P}[Z_t]=1. \]

This makes \(Z_T\) a valid Radon–Nikodym derivative on \(\mathcal F_T\):

\[ \frac{d\mathbb Q}{d\mathbb P}\bigg|_{\mathcal F_T}=Z_T. \]

The sign convention above is chosen so that the new Brownian motion under \(\mathbb Q\) is

\[ W_t^{\mathbb Q}=W_t^{\mathbb P}+\lambda t. \]

Equivalently,

\[ dW_t^{\mathbb Q}=dW_t^{\mathbb P}+\lambda\,dt. \]

This is the form most directly used in Black–Scholes.

WarningSign convention warning

Different books define the density process with the opposite sign. If

\[ Z_t=\exp\left(\lambda W_t^{\mathbb P}-\frac12\lambda^2 t\right), \]

then the new Brownian motion is

\[ W_t^{\mathbb Q}=W_t^{\mathbb P}-\lambda t. \]

The theorem is the same; the sign convention changes the formula.

import numpy as np
import pandas as pd

rng = np.random.default_rng(7339)
paths = 200_000
T = 2.0
lambda_value = 0.6

times = np.array([0.25, 0.5, 1.0, 2.0])
rows = []
for t in times:
    Wt = rng.normal(loc=0.0, scale=np.sqrt(t), size=paths)
    Zt = np.exp(-lambda_value * Wt - 0.5 * lambda_value**2 * t)
    rows.append({"t": t, "sample mean of Z_t": Zt.mean(), "sample std of Z_t": Zt.std()})

pd.DataFrame(rows)
t sample mean of Z_t sample std of Z_t
0 0.25 1.000526 0.307244
1 0.50 1.000090 0.442584
2 1.00 0.998434 0.655767
3 2.00 0.999279 1.025049

The Brownian exponential is a martingale with mean one.

20.14 17.9 Girsanov’s Theorem

Girsanov’s theorem is the continuous-time result that justifies drift changes for Brownian motion.

20.15 Girsanov theorem, one-dimensional version

Let \(W_t^{\mathbb P}\) be a standard Brownian motion on \([0,T]\) under \(\mathbb P\). Let \((\lambda_t)_{0\le t\le T}\) be an adapted process satisfying suitable integrability conditions, for example Novikov’s condition

\[ \mathbb E^{\mathbb P}\left[\exp\left(\frac12\int_0^T \lambda_t^2\,dt\right)\right]<\infty. \]

Define

\[ Z_T= \exp\left( -\int_0^T \lambda_t\,dW_t^{\mathbb P} - rac12\int_0^T \lambda_t^2\,dt \right). \]

Define a new probability measure \(\mathbb Q\) by

\[ \frac{d\mathbb Q}{d\mathbb P}\bigg|_{\mathcal F_T}=Z_T. \]

Then the process

\[ W_t^{\mathbb Q}=W_t^{\mathbb P}+\int_0^t \lambda_s\,ds \]

is a Brownian motion under \(\mathbb Q\).

The theorem says that a drift can be absorbed into a change of probability measure.

Under \(\mathbb P\), the process \(W_t^{\mathbb P}+\lambda t\) is Brownian motion plus drift. Under the new measure \(\mathbb Q\), the same path-valued process is Brownian motion.

This is subtle but central. The path does not change. The probability assigned to paths changes.

20.16 17.10 Girsanov and the Black–Scholes Model

Under the physical measure, suppose the stock satisfies

\[ dS_t=\mu S_t\,dt+\sigma S_t\,dW_t^{\mathbb P}. \]

Assume \(\sigma>0\) and the risk-free rate is constant \(r\).

We want a measure \(\mathbb Q\) such that the discounted stock price

\[ \widetilde S_t=e^{-rt}S_t \]

is a martingale.

Let

\[ \lambda=\frac{\mu-r}{\sigma}. \]

Define

\[ dW_t^{\mathbb Q}=dW_t^{\mathbb P}+\lambda\,dt. \]

Equivalently,

\[ dW_t^{\mathbb P}=dW_t^{\mathbb Q}-\lambda\,dt. \]

Substitute into the physical SDE:

\[ \begin{aligned} dS_t &=\mu S_t\,dt+\sigma S_t(dW_t^{\mathbb Q}-\lambda\,dt)\\ &=(\mu-\sigma\lambda)S_t\,dt+\sigma S_t\,dW_t^{\mathbb Q}. \end{aligned} \]

Since \(\lambda=(\mu-r)/\sigma\), we get

\[ \mu-\sigma\lambda=r. \]

Therefore under \(\mathbb Q\),

\[ dS_t=rS_t\,dt+\sigma S_t\,dW_t^{\mathbb Q}. \]

This is exactly the risk-neutral Black–Scholes dynamics.

20.17 Market price of risk

In the one-stock Black–Scholes model, the quantity

\[ \lambda=\frac{\mu-r}{\sigma} \]

is called the market price of risk or Sharpe ratio of the stock.

It measures excess drift per unit of volatility.

ImportantWhat changes and what stays fixed?

When moving from \(\mathbb P\) to \(\mathbb Q\) in Black–Scholes:

  • the drift changes from \(\mu\) to \(r\);
  • the volatility \(\sigma\) stays the same;
  • the quadratic variation stays the same;
  • the same payoff function is priced by discounting its \(\mathbb Q\) expectation.

20.18 Interactive 17.2: Physical drift versus risk-neutral drift

The physical drift \(\mu\) affects real-world expected growth, but the risk-neutral drift used for pricing is \(r\). This demo compares the expected discounted stock value under \(\mathbb P\) and \(\mathbb Q\).

Under \(\mathbb P\),

\[ \mathbb E^{\mathbb P}[e^{-rT}S_T]=S_0e^{(\mu-r)T}. \]

Under \(\mathbb Q\),

\[ \mathbb E^{\mathbb Q}[e^{-rT}S_T]=S_0. \]

0.100

0.25

import numpy as np
import pandas as pd

S0 = 100
mu = 0.10
r = 0.04
sigma = 0.25
T = 2.0
paths = 300_000
rng = np.random.default_rng(5110)

Z = rng.normal(size=paths)
ST_P = S0 * np.exp((mu - 0.5 * sigma**2) * T + sigma * np.sqrt(T) * Z)
ST_Q = S0 * np.exp((r - 0.5 * sigma**2) * T + sigma * np.sqrt(T) * Z)

disc_mean_P = np.exp(-r * T) * ST_P.mean()
disc_mean_Q = np.exp(-r * T) * ST_Q.mean()

pd.DataFrame({
    "measure": ["P", "Q"],
    "drift": [mu, r],
    "discounted sample mean": [disc_mean_P, disc_mean_Q],
    "theoretical discounted mean": [S0 * np.exp((mu - r) * T), S0]
})
measure drift discounted sample mean theoretical discounted mean
0 P 0.10 112.762203 112.749685
1 Q 0.04 100.011102 100.000000

Same volatility, different drift under physical and risk-neutral measures.

20.19 17.11 Pricing a European Claim After the Measure Change

Let \(h(S_T)\) be a European payoff. Once the risk-neutral measure has been identified, the no-arbitrage price is

\[ V_t=e^{-r(T-t)}\mathbb E^{\mathbb Q}[h(S_T)\mid\mathcal F_t]. \]

At time \(0\),

\[ V_0=e^{-rT}\mathbb E^{\mathbb Q}[h(S_T)]. \]

Using the Radon–Nikodym derivative, this can also be written as a physical-measure expectation:

\[ V_0=e^{-rT}\mathbb E^{\mathbb P}[Z_T h(S_T)]. \]

This identity is important in Monte Carlo methods. Sometimes it is easier to simulate under \(\mathbb P\) and weight paths by \(Z_T\). In many classical models it is easier to simulate directly under \(\mathbb Q\).

For Black–Scholes with constant \(\lambda=(\mu-r)/\sigma\),

\[ Z_T=\exp\left(-\lambda W_T^{\mathbb P}-\frac12\lambda^2 T\right). \]

import numpy as np
from math import exp, log, sqrt, erf

rng = np.random.default_rng(2027)
S0 = 100.0
K = 105.0
T = 1.0
r = 0.04
mu = 0.11
sigma = 0.25
paths = 800_000

lambda_value = (mu - r) / sigma
WT_P = rng.normal(0.0, sqrt(T), size=paths)

# Simulate stock under P.
ST_P = S0 * np.exp((mu - 0.5 * sigma**2) * T + sigma * WT_P)
payoff_P = np.maximum(ST_P - K, 0.0)
Z_T = np.exp(-lambda_value * WT_P - 0.5 * lambda_value**2 * T)
price_by_weighting = exp(-r * T) * np.mean(Z_T * payoff_P)

# Simulate directly under Q.
WT_Q = rng.normal(0.0, sqrt(T), size=paths)
ST_Q = S0 * np.exp((r - 0.5 * sigma**2) * T + sigma * WT_Q)
payoff_Q = np.maximum(ST_Q - K, 0.0)
price_by_Q = exp(-r * T) * np.mean(payoff_Q)

# Closed-form Black--Scholes call price.
def normal_cdf(x):
    return 0.5 * (1.0 + erf(x / sqrt(2.0)))

d1 = (log(S0 / K) + (r + 0.5 * sigma**2) * T) / (sigma * sqrt(T))
d2 = d1 - sigma * sqrt(T)
bs_price = S0 * normal_cdf(d1) - K * exp(-r * T) * normal_cdf(d2)

print("Price by P simulation with likelihood ratio:", price_by_weighting)
print("Price by direct Q simulation:", price_by_Q)
print("Black--Scholes formula:", bs_price)
print("Mean of density Z_T:", Z_T.mean())
Price by P simulation with likelihood ratio: 9.557090596566582
Price by direct Q simulation: 9.561592108239154
Black--Scholes formula: 9.55625620516362
Mean of density Z_T: 1.0000696575131465

20.20 17.12 Why the Physical Drift Disappears from the Black–Scholes Price

One of the most surprising facts in the Black–Scholes formula is that the physical drift \(\mu\) does not appear. The reason is not that \(\mu\) is unimportant in real life. The reason is that option pricing in a complete no-arbitrage model is based on replication.

If a derivative can be replicated by dynamically trading the stock and bond, its price is determined by the cost of the replicating strategy. The real-world expected return of the stock is not needed.

The drift \(\mu\) is absorbed into the Radon–Nikodym derivative and replaced by \(r\) under the pricing measure.

Thus:

\[ \text{forecasting uses } \mathbb P, \qquad \text{pricing uses } \mathbb Q. \]

For risk management, portfolio growth, and statistical estimation, \(\mu\) may matter. For no-arbitrage pricing of a replicable European derivative in Black–Scholes, it does not enter the price formula.

20.21 17.13 Multidimensional Brownian Motion and Market Price of Risk

Many markets contain several risky assets driven by several Brownian shocks. Let \(W_t^{\mathbb P}\) be a \(d\)-dimensional Brownian motion under \(\mathbb P\). Suppose there are \(n\) risky assets satisfying

\[ \frac{dS_t^i}{S_t^i} =\mu_i\,dt+\sum_{j=1}^d \sigma_{ij}\,dW_t^{j,\mathbb P}, \qquad i=1,\ldots,n. \]

In vector form,

\[ \frac{dS_t}{S_t}=\mu\,dt+\Sigma\,dW_t^{\mathbb P}. \]

A change of measure with market price of risk vector \(\lambda\in\mathbb R^d\) has

\[ dW_t^{\mathbb Q}=dW_t^{\mathbb P}+\lambda\,dt. \]

Substitution gives the drift under \(\mathbb Q\):

\[ \mu-\Sigma\lambda. \]

For each traded risky asset to have risk-neutral drift \(r\), we need

\[ \mu-r\mathbf 1=\Sigma\lambda. \]

This linear system is a continuous-time analogue of solving for a risk-neutral measure in a finite-state model.

NoteLinear algebra interpretation

The vector \(\mu-r\mathbf 1\) is the excess-return vector. The columns of \(\Sigma\) describe exposure to Brownian risk factors. The equation

\[ \Sigma\lambda=\mu-r\mathbf 1 \]

asks whether excess returns can be explained by risk-factor prices.

If the equation has no solution, the model has an arbitrage problem. If it has exactly one solution and the volatility matrix has enough rank, the market may be complete. If it has many solutions, there may be many equivalent martingale measures, reflecting market incompleteness.

import numpy as np

r = 0.03
mu = np.array([0.08, 0.10])
Sigma = np.array([
    [0.20, 0.10],
    [0.15, 0.30]
])

excess = mu - r * np.ones_like(mu)
lambda_vec = np.linalg.solve(Sigma, excess)
q_drift = mu - Sigma @ lambda_vec

print("Market price of risk vector lambda:")
print(lambda_vec)
print("Risk-neutral drifts:")
print(q_drift)
Market price of risk vector lambda:
[0.17777778 0.14444444]
Risk-neutral drifts:
[0.03 0.03]

20.22 17.14 Completeness and Change of Measure

In finite one-period markets, completeness means every payoff can be replicated. In complete markets, the risk-neutral measure is unique.

The same principle appears in continuous time. In a complete diffusion market, the equivalent martingale measure is unique. In an incomplete diffusion market, there may be many equivalent martingale measures.

For example, suppose there is one stock but two independent Brownian risk factors:

\[ \frac{dS_t}{S_t}=\mu\,dt+\sigma_1\,dW_t^{1,\mathbb P}+\sigma_2\,dW_t^{2,\mathbb P}. \]

The risk-neutral drift condition becomes

\[ \mu-r=\sigma_1\lambda_1+\sigma_2\lambda_2. \]

This is one equation with two unknowns. There are infinitely many choices of \((\lambda_1,\lambda_2)\), so there are many possible equivalent martingale measures.

This does not necessarily create arbitrage. Instead, it means that not every payoff can be uniquely priced by replication.

20.23 17.15 Density Processes and Stochastic Discount Factors

The density process \(Z_t\) converts \(\mathbb P\) expectations into \(\mathbb Q\) expectations. The money-market account is

\[ B_t=e^{rt}. \]

A related object is the stochastic discount factor

\[ M_t=\frac{Z_t}{B_t}=e^{-rt}Z_t. \]

For any traded payoff \(X_T\), the time-zero price can be written as

\[ V_0=\mathbb E^{\mathbb P}[M_T X_T]. \]

In this form, pricing is expressed entirely under the physical measure, but the stochastic discount factor adjusts for both discounting and risk.

For the stock itself,

\[ S_0=\mathbb E^{\mathbb P}[M_T S_T]. \]

Thus \(M_T\) plays the role of a state-dependent discount factor.

20.24 17.16 Common Mistakes

WarningMistake 1: Saying that \(\mathbb Q\) is the real probability

The risk-neutral probability is a pricing probability. It is not generally a real-world frequency.

WarningMistake 2: Forgetting the sign convention

If the density is

\[ Z_T=\exp\left(-\lambda W_T^{\mathbb P}-\frac12\lambda^2T\right), \]

then

\[ W_t^{\mathbb Q}=W_t^{\mathbb P}+\lambda t. \]

Changing the sign in \(Z_T\) changes the sign in the Brownian drift adjustment.

WarningMistake 3: Thinking volatility changes under Girsanov

Girsanov changes drift. It does not change quadratic variation. If a model changes volatility, that is not merely a Girsanov change of measure.

WarningMistake 4: Ignoring integrability conditions

The exponential local martingale must be a true martingale for it to define a probability measure. Conditions such as Novikov’s condition are there to prevent invalid density processes.

20.25 17.17 AI-Assisted Learning Components

TipAI prompt: sign-convention audit

Ask an AI tool:

I define \(Z_T=\exp(-\lambda W_T^{P}-\frac12\lambda^2T)\) and \(dQ/dP=Z_T\). Which process is Brownian under \(Q\): \(W_t^P+\lambda t\) or \(W_t^P-\lambda t\)? Explain using Girsanov’s theorem and identify the sign convention.

Then check whether the answer is consistent with substituting

\[ dW_t^{P}=dW_t^{Q}-\lambda dt \]

into

\[ dS_t=\mu S_t\,dt+\sigma S_t\,dW_t^P. \]

TipAI prompt: proof critique

Ask an AI tool to prove that

\[ \mathbb E^{\mathbb Q}[X\mid\mathcal G] =\frac{\mathbb E^{\mathbb P}[Z_T X\mid\mathcal G]} {\mathbb E^{\mathbb P}[Z_T\mid\mathcal G]}. \]

Then review whether the proof correctly handles the defining property of conditional expectation. A correct proof should test both sides against bounded \(\mathcal G\)-measurable random variables.

TipAI prompt: code review

Give an AI tool a Monte Carlo implementation of likelihood-ratio option pricing and ask it to check:

  1. whether \(Z_T\) has sample mean close to \(1\);
  2. whether the sign of \(\lambda\) is correct;
  3. whether the payoff is computed using the \(\mathbb P\)-simulated stock when likelihood weighting is used;
  4. whether discounting is applied exactly once.

20.26 17.18 Chapter Summary

This chapter developed the mathematical machinery behind the transition from physical probability to pricing probability.

The key finite-state identity is

\[ \mathbb E^{\mathbb Q}[X]=\mathbb E^{\mathbb P}\left[\frac{d\mathbb Q}{d\mathbb P}X\right]. \]

The key continuous-time result is Girsanov’s theorem. With the density process

\[ Z_T= \exp\left( -\int_0^T\lambda_t\,dW_t^{\mathbb P} - rac12\int_0^T\lambda_t^2\,dt \right), \]

the process

\[ W_t^{\mathbb Q}=W_t^{\mathbb P}+\int_0^t\lambda_s\,ds \]

is Brownian motion under \(\mathbb Q\).

In the Black–Scholes model,

\[ \lambda=\frac{\mu-r}{\sigma} \]

changes the stock dynamics from

\[ dS_t=\mu S_t\,dt+\sigma S_t\,dW_t^{\mathbb P} \]

to

\[ dS_t=rS_t\,dt+\sigma S_t\,dW_t^{\mathbb Q}. \]

This explains why the Black–Scholes price depends on \(r\) and \(\sigma\), but not on the physical drift \(\mu\).

20.27 17.19 Exercises

20.27.1 Conceptual Exercises

  1. Explain the difference between the physical measure \(\mathbb P\) and the risk-neutral measure \(\mathbb Q\).
  2. What does it mean for two probability measures to be equivalent?
  3. Why is equivalence important in no-arbitrage pricing?
  4. In a finite-state model, interpret the likelihood ratio \(Z(\omega_i)=q_i/p_i\).
  5. Explain why changing measure does not change the payoff function.
  6. Explain why Girsanov’s theorem changes drift but not volatility.

20.27.2 Mathematical Exercises

  1. Let \(\Omega=\{\omega_1,\omega_2,\omega_3\}\) with

    \[ p=(0.2,0.5,0.3), \qquad q=(0.3,0.4,0.3). \]

    Compute \(Z=d\mathbb Q/d\mathbb P\) and verify that \(\mathbb E^{\mathbb P}[Z]=1\).

  2. For the same model, let \(X=(1,4,9)\). Verify directly that

    \[ \mathbb E^{\mathbb Q}[X]=\mathbb E^{\mathbb P}[ZX]. \]

  3. Let \(X\sim N(0,1)\) under \(\mathbb P\) and

    \[ Z=\exp\left(\theta X-\frac12\theta^2\right). \]

    Show that \(\mathbb E^{\mathbb P}[Z]=1\).

  4. Show that under the tilted measure defined in Exercise 9,

    \[ \mathbb E^{\mathbb Q}[X]=\theta. \]

  5. Let

    \[ Z_t=\exp\left(-\lambda W_t-\frac12\lambda^2t\right). \]

    Use Itô’s formula to show that

    \[ dZ_t=-\lambda Z_t\,dW_t. \]

  6. In the Black–Scholes model, derive the formula

    \[ \lambda=\frac{\mu-r}{\sigma}. \]

  7. Suppose

    \[ dS_t=\mu S_t\,dt+\sigma S_t\,dW_t^{\mathbb P} \]

    and

    \[ dW_t^{\mathbb Q}=dW_t^{\mathbb P}+\lambda dt. \]

    Derive the drift of \(S_t\) under \(\mathbb Q\).

  8. Prove the conditional Bayes formula

    \[ \mathbb E^{\mathbb Q}[X\mid\mathcal G] =\frac{\mathbb E^{\mathbb P}[Z_T X\mid\mathcal G]} {\mathbb E^{\mathbb P}[Z_T\mid\mathcal G]}. \]

  9. In a two-asset, two-Brownian model with

    \[ \mu=(0.09,0.12)^\top, \qquad r=0.04, \qquad \Sigma= \begin{pmatrix} 0.20 & 0.10\\ 0.10 & 0.30 \end{pmatrix}, \]

    solve for the market price of risk vector \(\lambda\).

20.27.3 Computational Exercises

  1. Write Python code to compute the risk-neutral probability in a binomial model for different values of \(u,d,r\). Identify parameter values where no risk-neutral probability lies in \((0,1)\).

  2. Simulate \(X\sim N(0,1)\) and use exponential tilting to estimate \(\mathbb E^{\mathbb Q}[X]\) and \(\operatorname{Var}^{\mathbb Q}(X)\) for several values of \(\theta\).

  3. Simulate the exponential martingale

    \[ Z_t=\exp\left(-\lambda W_t-\frac12\lambda^2t\right) \]

    for several values of \(t\) and verify that its sample mean is close to \(1\).

  4. Price a European call in two ways: directly under \(\mathbb Q\) and by simulating under \(\mathbb P\) with likelihood-ratio weights.

  5. For a two-asset diffusion model, use numpy.linalg.lstsq to solve

    \[ \Sigma\lambda=\mu-r\mathbf 1 \]

    when the system is overdetermined or underdetermined. Interpret the result financially.

20.27.4 AI-Assisted Exercises

  1. Ask an AI tool to explain the difference between \(\mathbb P\) and \(\mathbb Q\). Identify one sentence that is mathematically precise and one sentence that is potentially misleading.

  2. Ask an AI tool to derive Girsanov’s theorem for constant \(\lambda\). Check the sign convention carefully.

  3. Give an AI tool a Python likelihood-ratio pricing code and ask it to identify possible sources of Monte Carlo bias or variance.

  4. Ask an AI tool why the physical drift \(\mu\) does not appear in the Black–Scholes formula. Rewrite the answer in your own words using replication and change of measure.