Why Tree-Based American Option Prices Can Jump Across Strike Values
Summary
The discussion addresses an irregular point in an interpolated American option volatility smile that produces an implausible negative risk-neutral density. The explanation focuses on numerical pricing methods for American options, such as binomial or trinomial trees and finite-difference schemes. Their discrete grids can make computed prices vary unevenly as strike changes.
Over a small strike interval, the grid’s relationship to the strike may remain unchanged, so the numerical price behaves smoothly. Once a strike shift changes how grid nodes fall relative to the payoff, the computed price can show a discontinuity; smooth behavior may then resume until another grid change. Taking second differences of such prices to infer a density can magnify these numerical artifacts. The answer describes a possible source of the outlier, rather than diagnosing the specific implementation or providing a correction. It does not assess interpolation choices or show numerical tests.
Key ideas
- American option prices are often computed with discrete trees or finite-difference grids.
- A strike move can change how the payoff aligns with grid nodes.
- Computed prices may be locally smooth and then jump when that alignment changes.
- Price irregularities can distort risk-neutral density estimates derived from price curvature.
- The proposed explanation does not establish the cause in a particular implementation.
Tags
Full text
# QuantLib: Unusual point in American option volatility smile # QuantLib: Unusual point in American option volatility smile I have a set of American options, for which I got the implied volatility thanks to the package "RQuantLib". I then used splines to interpolate my implied volatility as a function of my strikes. Practically speaking I got implied vol from 455 to 670, with a 0.0001 step. I then infer my prices thanks to the AmericanOption function. Almost all of my points are OK, but I have one particular strange result. When I focus on a particular interval, here near a strike of 630, I see that the delta in option price for two consecutive strike seems to be a linear function of strike, which seems OK in this short interval. But for a particular point this relationship does not hold I don't understand why could cause this. Any idea ? This is quite annoying because my next step is to infer a risk-neutral density from this points, and this outlier causes a negative RND. Also, I don't have any option in my initial batch that contains this strike, and my error does not seem to come from my splines, but from the function. Thanks, ## Answer by Antoine Conze (score 1) https://quant.stackexchange.com/a/39162 American options are typically computed using a (binomial or trinomial) tree or a finite differences scheme. When you move the strike by a tiny amount the number of nodes on each side of the strike does not change, hence the option numerical price is locally smooth in strike (in the case of a European option it is easy to see that the price is locally linear in strike, because the entire scheme can be viewed as one big linear operator applied to the payoff vector which itself is locally linear in strike). When you move the strike a little bit more the number of nodes on each side of the strike changes, hence a discontinuity. Then as you keep moving the strike the option price is again locally smooth in strike, then again a discontinuity as the number of nodes on each side changes again, etc.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.