Kyle Wisniewski

Every result here is reproducible: open-source code and 229 automated checks, from theory-anchored quantitative tests to publishing checks. Browse the source on GitHub →

Flagship study · Derivatives and model risk

Black–Scholes Assumptions and Stochastic-Volatility Alternatives

The study holds constant-volatility implications against observed equity behavior. It then measures what stochastic volatility changes.

Revised · numerical recovery study, not a market calibration

Reading time
Approximately 12 minutes
Prerequisites
Option pricing fundamentals, implied volatility, and stochastic-process notation

Decision summary

Treat Black–Scholes as a coordinate system, not a complete market description

Interpretation

Volatility varies, tails are fat, return magnitudes cluster, and implied volatility depends on strike. Those observations reject the model’s flat-volatility fingerprints. Heston explains part of that structure, not all of it.

Decision context

Use simple models to quote, compare, and isolate risk. Govern the exposures their assumptions omit: skew, jumps, clustering, and calibration drift.

Intended analytical use

Derivatives practitioners, model-risk teams, quantitative researchers, risk managers, and technical leaders use it to weigh analytical judgment.

Principal limitation

The recovery exercise uses synthetic prices generated by Heston, not a dated market calibration. It validates mechanism and implementation. It does not claim a production-ready surface.

Contents · six sections

01 · The model

Constant-volatility model implications#

The 1973 model makes one structural bet: that a single number, \(\sigma\), describes the randomness of an asset for the life of an option. Assume geometric Brownian motion with constant volatility, continuous frictionless hedging, and a constant rate. Then every European option on the same underlying and expiry must price off the same \(\sigma\). This is not a minor implication — it is the testable implication. Invert the formula on market prices and the implied volatility should come back flat across strikes:

$$\sigma_{\text{imp}}(K, T) = \text{const} \quad \text{for all } K.$$

The relevant historical claim is narrower than “the smile began in 1987.” Rubinstein’s S&P 500 option study documents a pronounced, persistent post-crash skew in the 1987–1992 sample. It emphasizes that the observed surface is inconsistent with the constant- volatility model.2

02 · Empirical test

Observed departures from constant-volatility assumptions#

Take the model's assumptions in order and hold them against an ordinary day of market data. Returns are not Gaussian: daily index returns show excess kurtosis and negative skew. Moves the model rates as once-in-millennia arrive within careers (the arithmetic is in Note VI). Volatility is not constant: it clusters, with quiet weeks following quiet weeks and violent days following violent days. It also moves inversely with price, the leverage effect. Prices jump: earnings, policy surprises, and liquidity spirals produce discontinuities no continuous diffusion generates. Each violation leaves a fingerprint in option prices. The market prices repricing risk whether or not the model does, and it records every fingerprint in one curve:

Implied volatility across strikes for a 6-month option (S₀ = 100). The smile-consistent series uses points and a solid line. Black-Scholes uses a dashed flat line. The slider in section IV moves the dashed line. The comparison table supplies the underlying values.

Out-of-the-money puts trade at implied volatilities several points above at-the-money. Out-of-the-money calls trade below. Traders are paying up for crash protection. The market quotes that premium through the Black-Scholes formula, using implied volatility as the unit. The smile is the market's standing annotation on the model: the Gaussian tail is too thin on the left, and the constant σ is not constant.

03 · Stochastic volatility

Stochastic variance as an endogenous state variable#

Heston (1993) promotes variance from parameter to process:1

$$dS_t = \mu S_t\,dt + \sqrt{v_t}\,S_t\,dW_t^S, \qquad dv_t = \kappa(\theta - v_t)\,dt + \xi\sqrt{v_t}\,dW_t^v, \qquad d\langle W^S, W^v \rangle_t = \rho\,dt.$$

Three mechanisms do the work. Mean reversion (\(\kappa\), \(\theta\)): variance is pulled toward a long-run level, so volatility shocks decay. That produces clustering, and it makes long-dated smiles flatter than short-dated ones, as observed. Vol-of-vol (\(\xi\)): variance itself is risky. That fattens both tails of the return distribution and gives the smile its curvature. Correlation (\(\rho < 0\)): the leverage effect, wired in explicitly. Negative return shocks arrive with rising variance, which skews the distribution left and tilts the smile downward toward high strikes. With \(\rho\) near \(-0.7\), the model generates the equity index skew almost as a matter of course. The model also has a closed-form characteristic function, so whole volatility surfaces calibrate quickly. That speed contributed to its broad use in derivatives practice.

04 · Model comparison

Black-Scholes vs. Heston, strike by strike#

Below, the flat-σ model meets Heston-generated target prices. The Heston call values are precomputed offline from the Heston characteristic function (Heston 1993, "little trap" formulation, Simpson-rule integration of the P₁/P₂ integrals; parameters in the table note). The Black-Scholes prices are computed live at the selected flat volatility. No single σ reconciles the two columns — that is the entire point.

Scope boundary No dated option chain, bid–ask spread, or observed implied-volatility surface enters this example. The fixed Heston grid is the target and flat Black–Scholes is the candidate.

Objective and residual definition#

For the displayed one-parameter comparison, the diagnostic objective is the vega-weighted implied-volatility root-mean-square error

$$J(\sigma)=\sqrt{\frac{\sum_i \nu_i\,[\sigma-\sigma_i^{H}]^2}{\sum_i \nu_i}}, \qquad \nu_i=\operatorname{Vega}_{BS}(K_i,\sigma_i^{H}).$$

A genuine market calibration would replace the generated targets with timestamped option quotes. It should also weight residuals by measurement quality such as bid–ask spread. Exposing the objective is essential. Without it the parameter vector cannot be interpreted or reproduced.

Flat Black-Scholes volatility#

19.2% is the ATM implied vol of the Heston surface — the "best single number" available.

Six-month European call prices across strikes: precomputed Heston values shown as diamonds against live Black-Scholes at the chosen flat σ shown as a solid line.
Pricing error, BS minus Heston. Positive and negative bars use different fill patterns as well as different sides of zero. Matching at-the-money leaves the wings mispriced: crash protection cheap on the left, upside overpriced on the right.

Heston parameters: S₀ = 100, r = 2%, q = 0, T = 0.5y, v₀ = 0.04, κ = 2.0, θ = 0.05, ξ = 0.6, ρ = −0.7. Values computed offline in Python (Simpson rule, 4,000 nodes on [0, 200]) and hardcoded; implied vols recovered by bisection. Inspect the Heston implementation at commit ad24c499958 and the derivatives notebook at the same commit.

05 · Residual limitations

Residual omissions under stochastic volatility#

Heston is a better description, not a true one. Its diffusive variance cannot move fast enough to explain the steep smiles of short-dated options. A market pricing overnight jump risk needs jumps. Practice therefore moved to Bates (Heston plus Merton jumps) and beyond. Its single variance factor forces the whole term structure of skew to move in lockstep, while real surfaces twist. Its calibrated parameters, re-fit each morning, drift in ways the model says they should not. That drift indicates residual misspecification. The modern frontier (rough volatility, with Hurst exponents near 0.1) suggests volatility's memory is structurally unlike anything a Markovian diffusion can produce. These limitations motivate jump-diffusion, multifactor, and rough-volatility alternatives.

06 · Interpretation

Model-risk interpretation#

Black–Scholes remains useful as a quoting convention even though its literal market dynamics are rejected. Implied volatility expresses observed prices relative to the constant-volatility baseline and makes deviations across strike and maturity comparable.

The distinction is operational. The formula can organize prices and sensitivities without establishing that returns are Gaussian, volatility is constant, or hedging is continuous. Those assumptions require separate empirical tests, monitoring, and model-risk controls. Model output stays conditional on the assumptions, calibration data, numerical method, and market regime behind it.

Scholarly record

Sources and implementation references#

  1. Heston, S. L. (1993), “A Closed-Form Solution for Options with Stochastic Volatility,” Review of Financial Studies 6(2), 327–343. doi:10.1093/rfs/6.2.327
  2. Rubinstein, M. (1994), “Implied Binomial Trees,” Journal of Finance 49(3), 771–818, especially pp. 771–775 on the post-1987 S&P 500 pattern. doi:10.1111/j.1540-6261.1994.tb00079.x
  3. Black, F., and M. Scholes (1973), “The Pricing of Options and Corporate Liabilities,” Journal of Political Economy 81(3), 637–654. doi:10.1086/260062