Pricing American Options with Spot-Dependent Local Volatility
Summary
The document asks how to price American options when the underlying follows risk-neutral dynamics with volatility that varies with spot. The response identifies this as a special case of a local volatility model, where volatility may depend on time and spot, and the question’s setup restricts that dependence to spot alone.
For American plain-vanilla options, it recommends finite-difference methods and points to a standard quantitative finance reference for background. It also notes that QuantLib provides a finite-difference engine supporting local volatility. The response is a practical direction rather than a detailed numerical recipe: it does not specify grid design, boundary conditions, stability choices, or treatment of arbitrary volatility functions, so implementation still requires model and solver configuration.
Key ideas
- Spot-dependent volatility is a special case of a local volatility model.
- Finite-difference methods are a natural approach for American plain-vanilla option pricing under local volatility.
- A finite-difference pricing engine with local volatility support is available in QuantLib.
- The source gives no implementation details for grids, boundaries, or numerical stability.
Tags
Full text
# Numerical American option for variable volatility
# Numerical American option for variable volatility
There are numerous numerical solvers for American option pricing. However, all of them take as input a fixed value sigma, denoting the historical volatility of the underlying. I am looking for a solver for which I can specify the volatility as a function, i.e. I want to price the underlying \begin{equation} dX = (r-q) X dt + \sigma(X) dW_t. \end{equation} Under the risk neutral measure, the drift is just the difference in risk free rate and dividends. I want to have a pricing method for arbitrary function $\sigma(X)$. Is there a numerical method that does exactly that?
## Answer by LocalVolatility (score 0, accepted)
https://quant.stackexchange.com/a/30463
The process that you are considering is a special case of a local volatility model
\begin{equation} \mathrm{d}X_t = \mu X_t \mathrm{d} t + \sigma \left( t, X_t \right) X_t \mathrm{d}W_t. \end{equation}
I.e. you seem to consider a special case where the volatility is not time but only spot dependent. When you refer to American options, I suppose you mean "American plain vanilla options". In this case, the natural choice of pricing engine for me would be finite-difference methods. See e.g. Chapter 78.9 in Wilmott (2006) for a gentle introduction.
As you asked for a "solver" I suppose you are looking for a library that could price under these dynamics. You could have a look at QuantLib - they have a finite difference engine that supports local volatility.
References
Wilmott, Paul (2006) "Paul Wilmott on Quantitative Finance", 2nd Edition, John Wiley & SonsShown 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.