Quant Memo
Advanced

The Snell Envelope

The mathematical object that tells you, at every moment, exactly how much a decision you could walk away from right now is worth — computed by working backward from the last possible moment.

Prerequisites: Optimal Stopping Theory, Backward Induction in Sequential Games

A hiker finds a small treasure on the trail. Each day she can either sell it to a passing trader for that day's offer, or carry it one more day and hope for a better price — but she only has until the trail ends to decide, and once sold, the decision is final. What's the treasure actually "worth" to her on any given day, before she knows tomorrow's offer? Not just today's offer, and not some average of all future offers either — it's the better of today's offer and whatever carrying it one more day is worth. And that recursive idea — "value now equals the best of stopping now versus the value of optimally continuing" — has to be computed backward, starting from the last day (when there's no more waiting left) and working toward the present. The Snell envelope is the formal name for that "true walk-away value at each moment," and it is the theoretical backbone behind pricing any American-style option — one that can be exercised at any point, not just at expiry.

The setup, one symbol at a time

Let Z0,Z1,,ZTZ_0, Z_1, \dots, Z_T be a reward process — the payoff you'd get if you stopped (exercised, sold) at each time tt. For an American put option, ZtZ_t would be the intrinsic value of the put at time tt; for the hiker, ZtZ_t is the trader's offer on day tt. The Snell envelope of ZZ, written StS_t, is defined by working backward from the final time TT:

ST=ZT,St=max(Zt, E[St+1Ft])for t<TS_T = Z_T, \qquad S_t = \max\Big(Z_t,\ E\big[S_{t+1} \mid \mathcal{F}_t\big]\Big) \quad \text{for } t < T

In words: at the last possible time, the envelope simply equals the payoff there — no more choices left. At any earlier time tt, the envelope equals the larger of two numbers: stopping right now and taking ZtZ_t, or continuing and getting the expected value of tomorrow's envelope, given everything known up to now (Ft\mathcal{F}_t denotes "all information available at time tt"). StS_t is therefore the value of behaving optimally from time tt onward — stop whenever stopping is at least as good as the expected value of waiting, and otherwise wait. The optimal stopping time is the first moment the envelope equals the immediate payoff:

τ=min{t:St=Zt}\tau^* = \min\{ t : S_t = Z_t \}

In words: stop the very first time waiting stops being worth more than taking the money now. StS_t turns out to be the smallest process that (a) is always at least as large as ZtZ_t at every time and (b) is a supermartingale — its expected next value never exceeds its current value — which is the technical way of saying "an already-optimal walk-away value shouldn't be expected to improve on its own by waiting one more step without new information."

backward induction on a small tree t=0 t=1 t=2 (final: S=Z) accent = continue red = stop (S=Z)
The envelope is computed from the right (final payoffs) leftward. A node is "stop" (red) once the immediate payoff already matches the envelope; otherwise it's "continue" (accent), meaning waiting has strictly higher expected value.

The Snell envelope at each time is the better of "cash out now" and "the expected value of the envelope one step later" — computed backward from the end. The optimal stopping time is simply the first moment those two are equal.

Path explorer
13055time →
end (bold path) 100.38spread of ends 58.966 independent paths, same settings

The path explorer above shows sampled paths of a stochastic process over time — the same kind of state evolution that a stock price follows in the binomial tree below, just continuous rather than discrete. Watch how randomly different two paths look from the same starting point: the Snell envelope has to account for every such path, not just the average one, which is exactly why it's computed by backward induction over the full tree of possibilities rather than by working with a single expected path forward.

Worked example 1: a 2-step binomial tree for an American put

Stock starts at S0=100S_0 = 100. Each period it moves up 20% or down 20% with equal probability 0.5 (risk-neutral, and ignore discounting for simplicity, so expectations are plain averages). Strike K=100K = 100. Payoffs at each node are max(KS,0)\max(K - S, 0).

Time 2 (final): Suu=144S_{uu} = 144: payoff 00. Sud=Sdu=96S_{ud} = S_{du} = 96: payoff 44. Sdd=64S_{dd} = 64: payoff 3636. Envelope at time 2 equals the payoff everywhere: S2=Z2S_2 = Z_2.

Time 1, up node (S1=120S_1 = 120): immediate payoff Z1=max(100120,0)=0Z_1 = \max(100-120,0) = 0. Continuation value =E[S2]=0.5(0)+0.5(4)=2= E[S_2] = 0.5(0) + 0.5(4) = 2. Envelope S1up=max(0,2)=2S_1^{up} = \max(0, 2) = 2 — continue, since waiting (22) beats stopping (00).

Time 1, down node (S1=80S_1 = 80): immediate payoff Z1=max(10080,0)=20Z_1 = \max(100-80,0) = 20. Continuation value =0.5(4)+0.5(36)=20= 0.5(4) + 0.5(36) = 20. Envelope S1down=max(20,20)=20S_1^{down} = \max(20, 20) = 20 — indifferent; stopping is (weakly) optimal.

Time 0 (S0=100S_0 = 100): immediate payoff Z0=0Z_0 = 0. Continuation value =0.5(2)+0.5(20)=11= 0.5(2) + 0.5(20) = 11. Envelope S0=max(0,11)=11S_0 = \max(0, 11) = 11 — continue.

The option's value today is 11, and the optimal strategy is: never exercise at time 0 or at the up-node, but exercise (or be indifferent) at the down-node.

Worked example 2: a shift that flips the stopping decision

Change only the down-move payoffs: suppose the deep-down terminal payoff at SddS_{dd} corresponds to a strike of K=140K=140 instead (a much deeper put), so Zdd=max(14064,0)=76Z_{dd} = \max(140-64,0) = 76 and Zud=Zdu=max(14096,0)=44Z_{ud}=Z_{du}=\max(140-96,0)=44. At the down-node, continuation value is now 0.5(44)+0.5(76)=600.5(44)+0.5(76) = 60, versus immediate payoff max(14080,0)=60\max(140-80,0)=60 — still exactly tied. But shift the strike slightly higher to K=150K=150: Zdd=86Z_{dd}=86, Zud=54Z_{ud}=54, immediate payoff at the down-node is 7070, continuation is 0.5(54)+0.5(86)=700.5(54)+0.5(86)=70 — again tied, illustrating that for a put, the down-node tends to sit right at (or past) the exercise boundary once it's sufficiently in the money, while the up-node (further from the money) keeps favoring continuation. Small changes in payoffs shift exactly where that boundary falls, which is the entire content of "finding the optimal exercise boundary."

What this means in practice

  • This is the exact machinery under American option pricing. Every American-style derivative — puts, callable bonds, convertible bonds — is priced by computing (or approximating) a Snell envelope; binomial/trinomial trees do it by literal backward induction, and Longstaff-Schwartz Monte Carlo approximates the continuation value by regression when the state space is too large for a tree.
  • Backward induction is unavoidable. Because the decision at time tt depends on the value of optimal future behavior, not just current payoff, there is no way to compute the envelope forward in time — the algorithm fundamentally starts at the end.
  • Any "should I wait or act now" decision under uncertainty with an option to stop later — a hiring decision, an offer negotiation, a real-option investment call — has this same structure, and reasoning about it informally without the backward-induction discipline routinely gets the stopping rule wrong.

The classic confusion: assuming an American option should always be exercised as soon as it's "in the money." It shouldn't. The Snell envelope shows the correct rule is to exercise only when the immediate payoff is at least as large as the expected value of continuing — and being in the money is necessary but nowhere near sufficient for that. This is exactly why, for instance, an American call on a non-dividend-paying stock is essentially never optimal to exercise early (continuation value stays above intrinsic value all the way to expiry) even when deeply in the money, while an American put can have early exercise be optimal well before expiry — the boundary is a genuine computation, not a rule of thumb about moneyness.

Related concepts

Practice in interviews

Further reading

  • Shreve, Stochastic Calculus for Finance I, ch. 4 (optimal stopping)
  • Peskir & Shiryaev, Optimal Stopping and Free-Boundary Problems, ch. 1
ShareTwitterLinkedIn