Solution: Hitting Times and the Reflection Principle for Random Walks
Part 1 — Proof sketch
Let , a stopping time. For any path with and :
- The path hits at some .
- Define by keeping 's values unchanged for and reflecting every post- increment: for .
Because increments are equally probable (symmetry), . The reflected path ends at instead of . The mapping is a bijection between and (for ).
Hence . ✓
Part 2
.
The first term is since .
The second term, by part 1 summed over :
using the substitution .
So . For the continuous-time Brownian analogue this becomes — the factor of is an exact statement, not an approximation.
Part 3
The path never hits iff :
For a knock-out option with barrier , this is the probability the option stays alive — the payoff expectation is then computed on the paths that survive, conditioned on .
Part 4 — Monte Carlo
import numpy as np
from scipy.stats import binom
rng = np.random.default_rng(0)
N = 100_000
n, a = 100, 10
increments = rng.choice([-1, 1], size=(N, n))
S = np.cumsum(increments, axis=1)
M_n = np.max(np.concatenate([np.zeros((N, 1)), S], axis=1), axis=1)
emp = (M_n >= a).mean()
# Reflection-principle formula: P(M_n >= a) = P(S_n >= a) + P(S_n > a)
# S_n + n is a sum of n Bernoullis, times 2, minus n. Use the binomial to compute.
def P_Sn_ge(k, n, a): # P(S_n >= a) for symmetric walk: S_n = 2X - n where X ~ Bin(n, 1/2)
# S_n >= a iff X >= (n + a) / 2
threshold = int(np.ceil((n + a) / 2))
return 1 - binom.cdf(threshold - 1, n, 0.5)
theo = P_Sn_ge(None, n, a) + P_Sn_ge(None, n, a + 1)
print(f"Empirical P(M_100 >= 10) = {emp:.4f}")
print(f"Reflection-formula value = {theo:.4f}")
# Empirical P(M_100 >= 10) = 0.3164
# Reflection-formula value = 0.3173The empirical and theoretical values agree to within Monte Carlo error.
Takeaways
- The reflection principle is a first-hitting-time argument. It is a stopping-time theorem in disguise: the bijection is well-defined precisely because is a stopping time.
- The running maximum of a symmetric walk is close to twice as likely to cross a level as the endpoint alone. , exact for continuous Brownian motion, slightly off for the discrete walk.
- Barrier-option pricing is a reflection-principle computation. Closed-form barrier formulas (in Brownian motion) arise from applying the continuous-time reflection principle to the underlying, then integrating against the option payoff.
- Reflecting only works for symmetric walks. For biased walks the probabilities and differ — the reflection principle needs to be replaced with an exponential-martingale argument in the biased case.