Longstaff-Schwartz American Monte Carlo
Monte Carlo runs forward in time, but an early-exercise decision needs to know the value of waiting, which lives in the future. Longstaff-Schwartz breaks the deadlock by regressing what actually happened on simulated paths to estimate that value of waiting.
Prerequisites: Monte Carlo Option Pricing, American Options and Early Exercise, Ordinary Least Squares (OLS)
An American option can be exercised any time up to expiry, so pricing one is not really a valuation problem, it is a decision problem: on every possible day, is cashing in now better than holding on? A tree answers that beautifully because it rolls backwards, already knowing what every future node is worth before it asks. Monte Carlo has the opposite habit: it walks forwards, one random day at a time, and on arriving at a decision date it has no idea what the rest of that path will bring. For years this was taken to mean simulation could not price early exercise — painful, because simulation is the only tool that copes with many risk factors at once.
Think of driving across a country with the tank running low. Every exit shows a fuel price on a board. Fill up here, or gamble that the next one is cheaper? You cannot see down the road. But if you have driven this route a thousand times you can build a rule of thumb from memory: "at this stage of the trip, when the board says 1.60, the best price still ahead is typically about 1.55." Then deciding is easy — compare the board in front of you against that remembered typical outcome.
Longstaff-Schwartz builds exactly that rule of thumb, by regression across simulated journeys: simulate thousands of paths, look at what each actually went on to pay, and fit a curve relating "where I am now" to "what waiting was typically worth".
The regression is not used to price the option. It is used only to decide, at each date, whether to stop. Once the stopping rule is fixed, the price is the plain average of the real cashflows those paths produced.
Setting it up
At an exercise date with the underlying at price , the option is worth whichever is larger:
Here is the immediate exercise payoff — for a put with strike that is — and is the continuation value, the worth of holding on. In plain English: at every decision date, take the better of cashing in now and carrying on.
The continuation value is the hard part, because it is a conditional expectation:
In plain English: out of all the futures passing through this price at this date, what does waiting pay on average? A tree reads that off its own future nodes. Monte Carlo cannot — but it can see, after the fact, what each path went on to pay. The move is to treat those realised payoffs as noisy observations of the continuation value and fit a curve through them:
The ("psi") are basis functions — simple shapes of the current price, usually just , and — and the are coefficients found by ordinary least squares across paths. In plain English: draw the best-fitting simple curve through the cloud of "price now versus what waiting actually paid", and read the decision off it. Only currently in-the-money paths enter the regression; a path with nothing to exercise has no decision to make and would only add noise.
Worked example 1 — fitting the rule by hand
An American put with strike $50 reaches a middle exercise date. Five paths are in the money. Column is where each stood; column is the discounted cashflow that path actually went on to collect.
| 41 | 43 | 45 | 47 | 49 | |
|---|---|---|---|---|---|
| 7.7 | 6.2 | 5.2 | 4.2 | 2.7 |
Fit a straight line by hand. The means are and , so the deviations are and . Then
- ,
- ,
- slope , intercept .
So the estimated continuation value is . Compare it against exercising, worth :
| 41 | 43 | 45 | 47 | 49 | |
|---|---|---|---|---|---|
| exercise now | 9.00 | 7.00 | 5.00 | 3.00 | 1.00 |
| 7.60 | 6.40 | 5.20 | 4.00 | 2.80 | |
| decision | exercise | exercise | hold | hold | hold |
Setting gives . Below $44.50 you exercise, above it you wait — and nobody told the algorithm that boundary, it fell out of five data points and one straight line.
The full backward sweep
The real algorithm repeats that step, latest date first:
- Simulate all paths forward once and store them.
- At expiry, record each path's payoff.
- Step back one exercise date. Take the in-the-money paths, regress their discounted realised future cashflow on , and read off .
- If exercising beats on a path, overwrite that path's cashflow with the exercise value and erase everything later on it — you can only exercise once.
- Repeat back to the first exercise date, then discount every surviving cashflow to today and average.
Simulate forward once, decide backward once. Run the explorer below and picture step 3 at each vertical slice: the algorithm only ever asks "given where these paths stand now, what did waiting typically pay?"
Worked example 2 — the classic eight-path put
This is Longstaff and Schwartz's own illustration: an American put, strike , spot 1.00, three annual exercise dates, interest rate 6 percent, so one period of discounting is .
| path | payoff at 3 | |||
|---|---|---|---|---|
| 1 | 1.09 | 1.08 | 1.34 | 0.00 |
| 2 | 1.16 | 1.26 | 1.54 | 0.00 |
| 3 | 1.22 | 1.07 | 1.03 | 0.07 |
| 4 | 0.93 | 0.97 | 0.92 | 0.18 |
| 5 | 1.11 | 1.56 | 1.52 | 0.00 |
| 6 | 0.76 | 0.77 | 0.90 | 0.20 |
| 7 | 0.92 | 0.84 | 1.01 | 0.09 |
| 8 | 0.88 | 1.22 | 1.34 | 0.00 |
At . Five paths are in the money (1, 3, 4, 6, 7). Their values are the payoffs pulled back one period: path 4 gives , path 6 gives , and so on. Regressing those on gives . For path 6, sitting at :
Exercising path 6 now pays , comfortably more than 0.152, so it exercises. Doing the same for all five: paths 4, 6 and 7 exercise; paths 1 and 3 hold.
At . Now paths 1, 4, 6, 7, 8 are in the money, and their values reflect the decisions just made (path 6 now carries ). The fit is . For path 8 at that gives 0.153, against an exercise value of , so path 8 exercises too. Paths 4, 6, 7 and 8 all exercise at ; path 1 holds and ends worthless.
Discounting the surviving cashflows to today: for path 3, and applied to the four payments gives , , and . The eight paths sum to , so the American put is worth . The same paths held to expiry give a European value of . The gap, 0.058, is the early-exercise premium — and it is larger than the European option itself, which is precisely why you cannot ignore it.
What this means in practice
Nearly everything genuinely callable is priced this way: Bermudan swaptions, callable and convertible bonds, mortgage prepayment models, employee options with vesting, commodity storage and swing contracts, real options in project finance. Each is an optimal stopping decision sitting on top of several correlated risk drivers — too many for a lattice, natural for simulation. The regression state need not be the spot price either; for a swaption it might be two swap rates, for a mortgage a rate level plus a burnout variable.
Two habits matter. Keep the basis small — three or four functions is usually enough, since you only need the crossing point right, not the whole curve. And watch the error bar: early exercise concentrates the cashflows, which makes variance reduction more valuable here, not less.
The most common mistake is to price the option with the fitted values. The regression is a decision device only; using as a value double-counts the fitting noise and biases the answer upward. Always price from the realised cashflows the stopping rule produces, exactly as in the eight-path walkthrough above.
Because the fitted rule is never the perfect exercise policy, Longstaff-Schwartz undervalues slightly — it delivers a lower bound. Reusing the same paths to fit the rule and price it leaks a little foresight the other way, so production code fits coefficients on one set of paths and prices on a fresh, independent set.
Related concepts
Practice in interviews
Further reading
- Longstaff and Schwartz (2001), Valuing American Options by Simulation
- Glasserman, Monte Carlo Methods in Financial Engineering (Ch. 8)
- Clément, Lamberton and Protter (2002), An Analysis of a Least Squares Regression Method