Disclosure: AI assistance was used in drafting this technical article. The implementation examples are illustrative and are not results from a live trading system.

A volatility surface pipeline can generate clean-looking output while hiding serious problems in the underlying option data.

Stale prices, inconsistent forward references, wide bid-ask spreads, and unconstrained interpolation can all produce misleading implied volatilities.

For developers working with derivatives data, the goal should not be to fit every market quote as closely as possible. It should be to construct an auditable surface whose inputs, assumptions, and pricing constraints can be tested independently.

  1. Define a Consistent Market Data Schema

Start with the contract and quote records, not the interpolation algorithm.

A useful option quote record includes the exchange, instrument identifier, observation timestamp, expiration timestamp, strike, option type, bid, ask, available size, contract multiplier, and settlement currency.

It should also identify the underlying reference price or forward used during implied volatility inversion.

Before calibration, validate that strikes and expirations are correctly parsed, bid prices do not exceed ask prices, and quoted premiums are converted into consistent units.

A last-traded price should not automatically be treated as current market value.

It is also important to distinguish exchange timestamps from local data-reception timestamps. A quote that was valid at the exchange may already be stale when a trading system receives it.

Keep the raw records even after applying quality filters. Otherwise, later researchers cannot distinguish a quote that was genuinely absent from one deliberately excluded by the calibration process.

  1. Convert Prices Into Comparable Implied Volatilities

For European-style options, implied volatility can be obtained by numerically inverting a compatible pricing model.

Using a forward-based representation, the model price can be written as:

C = D[F N(d₁) − K N(d₂)]

where D is the discount factor, F is the forward, and K is the strike.

The implied volatility is the value of σ that reproduces the selected observed option price under the model.

A robust inversion routine should reject prices outside the applicable theoretical bounds and report unsuccessful root-finding attempts rather than silently returning arbitrary values.

Low-vega options deserve special attention because small premium errors may cause large changes in implied volatility.

For each successful inversion, compute:

k = ln(K/F)

w = σ_imp²T

These coordinates allow a model to fit total implied variance against log-forward moneyness for each maturity.

  1. Fit SVI Without Confusing Fit Quality With Arbitrage Safety

A common raw SVI parameterization is:

w(k) = a + b[ρ(k − m) + √((k − m)² + s²)]

The parameter vector determines the level and shape of the implied variance smile.

SVI fitting can be implemented as a constrained numerical optimization problem, with calibration weights reflecting the quality and liquidity of the underlying quotes.

However, a small least-squares error does not establish that the fitted smile satisfies every no-arbitrage condition.

A useful first diagnostic is to convert the fitted variance smile back into call prices at a grid of increasing strikes.

For a fixed maturity, verify:

Call prices are non-increasing in strike.

Call prices are convex in strike.

The resulting values satisfy appropriate option-price bounds.

For uneven strike spacing, use adjacent price slopes rather than assuming equally spaced strikes.

If:

sᵢ = (Cᵢ₊₁ − Cᵢ)/(Kᵢ₊₁ − Kᵢ)

then a necessary convexity check is that these slopes are non-decreasing as strike increases.

This discrete test is a useful diagnostic, not a complete mathematical proof that the fitted continuous surface is arbitrage-free.

A full implementation must also assess maturity consistency and the parameterization's theoretical restrictions.

  1. Test the Entire Pipeline, Not Just the Fitted Curve

A reliable implementation should include deliberately constructed negative test cases.

For example, inject a stale quote, a crossed market, an implausible premium, and a strike sequence that violates call-price convexity.

The pipeline should flag these conditions rather than smooth them into apparently valid output.

Other tests should vary bid-ask spreads, market depth, data timestamps, and volatility regime assumptions.

For multi-maturity surfaces, test whether the model's calendar relationships are consistent under its forward and discounting conventions.

Do not treat declining implied volatility across maturities as automatic evidence of arbitrage.

A longer-dated option may have lower annualized implied volatility while still carrying greater total implied variance.

Store the calibrated parameters, quote-filtering decisions, diagnostics, model version, and source-data timestamp for each surface snapshot.

This allows researchers to reproduce a result and investigate changes in estimated risk exposures.

  1. Separate Model Diagnostics From Trading Decisions

A pricing residual is the difference between an observed or quoted price and a model estimate.

It is not a measure of executable profit.

A trade must be evaluated against the side of the market on which it can actually execute.

Buying uses the available ask; selling uses the available bid. Expected fees, market impact, hedging requirements, and financing must then be evaluated on consistent terms.

A curve may be useful for estimating volatility exposure even when no associated trading strategy has positive expected value.

If the fitted surface becomes unstable, violates constraints, or relies on poor-quality input data, the appropriate engineering response may be to mark the output as unreliable rather than force a replacement estimate.

For production use, quality flags and hard risk controls are as important as the interpolation algorithm.

The strongest volatility surface system is not necessarily the one with the smallest in-sample error.

It is the one whose market data, mathematical constraints, and operational behavior remain transparent and testable.

Reference: Gatheral, J., & Jacquier, A. (2014). Arbitrage-free SVI volatility surfaces. Quantitative Finance, 14(1), 59–71.