Beyond Black–Scholes: what changes when volatility becomes a state?
Your BSM implementation reproduces the benchmark to ten decimal places. Yet a single volatility input cannot reproduce an observed option surface across strikes.
The solver may be correct. The model may be too restrictive.
A constant-volatility diffusion assigns one terminal distribution to each maturity. Market prices can imply different BSM volatilities at different strikes. We can use those implied volatilities as a quoting surface, but pricing a path-dependent claim or modeling future smile movement requires additional assumptions.
Implied volatility and the volatility smile
Given a European option price, implied volatility is the scalar that reproduces it in BSM. Using a different scalar for every strike can match many individual prices. That operation does not by itself define a single coherent process for the underlying through time.
For a barrier option, the path to expiry matters. Two models can agree on a set of terminal vanilla prices while disagreeing on barrier crossings. A good fit to today's smile cannot settle that disagreement.

Consider our spot, strike, one-year call. Changing volatility from 20% to 25% moves its model price by far more than the small solver errors we will report in the lab. Numerical precision helps only after we have made the appropriate modeling choices.
Dupire local volatility: a function of spot and time
Under a local-volatility model:
The function is deterministic, but the realized volatility along a path varies because spot changes. There is still one Brownian driver. With sufficient regularity and ideal arbitrage-free vanilla data, a local-volatility surface can be constructed to match a continuum of European prices.
For constant rates and yield, Dupire's relation expresses local variance in terms of the call surface :
The derivatives reveal an important practical issue. Market quotes are discrete and noisy. Differentiating them, especially twice in strike, can magnify noise. Interpolation must preserve appropriate no-arbitrage conditions, and tiny denominators in the wings can make the reconstruction unstable.
Matching today's European prices is a calibration property. It is not proof that the future dynamics of the smile, or the hedge of an exotic, are correctly captured. We need tests related to the contract's actual exposure.

The Heston stochastic-volatility model
Heston uses stochastic variance :
Initial variance sets today's state. is the long-run variance level under the pricing measure. controls reversion speed. is volatility of variance, and couples stock and variance shocks. Variance is the square of volatility: corresponds to volatility 20%.
Negative correlation can produce equity-style asymmetry: down moves tend to coincide with higher variance. It does not mean every parameter set generates the right observed skew. Calibration, maturity, and the other parameters matter together.
The Feller condition is associated with strict positivity of the continuous-time variance process when starting positive. Violating it does not make Heston automatically meaningless; the boundary becomes attainable. A naive Euler simulation can generate negative variance even when the continuous process remains nonnegative. The numerical scheme needs separate care.
A stock and bank alone generally do not span the extra variance risk. Risk-neutral parameters incorporate a choice about its pricing. Do not copy estimates from historical variance dynamics into a pricing model without considering this distinction.

Merton jump-diffusion and the limits of delta hedging
Merton's jump-diffusion adds sudden proportional jumps. One risk-neutral representation is:
where is a Poisson process of intensity , is a positive jump multiplier, and . The compensation term preserves the desired expected carry.
A continuous delta hedge cannot guarantee cancellation of a finite jump. The option changes nonlinearly across the jump while the stock hedge is fixed immediately before it. More frequent scheduled rebalancing cannot eliminate every surprise discontinuity.
A risk-neutral jump distribution is a pricing assumption, not merely the observed historical distribution. Richer tail behavior may improve a vanilla fit, but it adds parameters and potential instability. It also changes the meaning of hedging residuals.
Calibration is an inverse problem
A forward problem maps parameters to prices. Calibration runs backwards: choose parameters that fit selected prices. Specify the quote timestamps, discount and forward curves, weighting, parameter constraints, and objective. Price-error weighting and implied-volatility-error weighting need not produce the same fit.
Several parameter combinations can explain similar prices. Thinly quoted wings provide weak information. A lower fitting error can coexist with unstable parameters, poor extrapolation, and expensive hedging. Hold out maturities or strikes when assessing fit, and test stability as quotes change.
Choose the next model by the risk you need to represent. A European vanilla quote, a continuously monitored barrier, and a long-dated volatility-sensitive contract do not place identical demands on the model. Today's fit, numerical stability, computational budget, and hedge behavior all matter.
Try it
Write down one feature that a deterministic term-volatility model changes, one that local volatility changes, and one that Heston changes. Then identify a contract whose value depends on the path rather than only the final stock price. Explain why matching European prices alone does not determine its value.
Continue learning
Sources
Go deeper with lessons, derivations and worked exercises behind this article.