SVI field guide

What is SVI? Meaning, formula, and calibration.

Real-time SVI calibration for crypto derivatives infrastructure.

Raw quote intake / fitted total variance / risk nodes and diagnostics.

Updated July 7, 2026Formula and examplesBTC / ETH / alts

The core idea

A volatility smile is not a clean curve until you make it one.

Exchange data arrives as discrete strikes, expiries, bid/ask levels, trades, and sometimes stale markets. SVI gives each expiry a stable mathematical shape, so a system can evaluate volatility between listed strikes rather than jumping from quote to quote.

SVI stands for Stochastic Volatility Inspired. In a volatility surface workflow it is usually used as raw SVI: a five-parameter formula for fitting total implied variance across log-moneyness for one expiry slice.

Meaning

In options, SVI means Stochastic Volatility Inspired.

What it fits

Raw SVI fits total implied variance, not option price or one quoted IV.

Coordinate

The curve is fit against log-moneyness, k = ln(K / F), for one expiry.

Output

The accepted smile is used to derive ATM IV, risk reversals, flies, and surface diagnostics.

01

Normalize strikes

Convert strike space into log-moneyness, k = ln(K / F), so every quote is measured relative to the forward.

02

Fit total variance

Calibrate total implied variance, w = IV^2 x time, rather than raw volatility points.

03

Publish diagnostics

Ship the fitted smile with quote quality, residuals, stability checks, and surface context.

SVI is the shape of the smile. A production volatility surface is the full pipeline around it: quote cleaning, forward context, calibration, constraints, diagnostics, and live monitoring. Start with the volatility surface guide if you want the broader map first.

Formula

SVI formula and parameters: level, skew, wings, center, and curvature.

Raw SVI fits total implied variance, w(k), against log-moneyness, k = ln(K / F). The result is the expiry slice used for interpolation, risk reversals, flies, and surface monitoring.

w(k)=a+b{ρ(km)+((km)2+σ2)1/2}
w(k)

Total implied variance

The fitted target, usually IV squared times time to expiry.

k

Log-moneyness

k = ln(K / F), so strikes are measured relative to the forward.

K

Strike

The listed option strike being converted into log-moneyness.

F

Forward

The expiry-matched forward level used as the smile center reference.

T

Time to expiry

The year fraction used when converting implied volatility into total variance.

a

Vertical level

Raises or lowers the total-variance smile. In calibration it works with the wing term and must leave the fitted variance non-negative.

b

Wing scale

Sets the overall steepness of the smile wings. Together with rho, it determines the left and right asymptotic slopes.

ρ

Skew rotation

Rotates the smile and redistributes slope between put and call wings. Negative rho usually makes the downside wing steeper.

m

Horizontal displacement

Moves the center of the smile along the log-moneyness axis. Increasing m shifts the fitted curve to the right.

σ

Body smoothness

Controls the rounding near the smile center. Larger sigma reduces local curvature around the body of the market.

The raw SVI parameters are calibration controls, not desk risk numbers by themselves. Derivasys converts the accepted fit into trader-facing outputs such as ATM volatility, risk reversals, flies, and surface diagnostics.

SVI parameters

How to read SVI parameters a, b, rho, m, and sigma in finance.

Search results often make SVI sound like five independent market indicators. In a live options surface, the parameters are better treated as a compact state vector for one expiry smile. The useful financial outputs are derived from the curve: ATM volatility, wing slopes, 25-delta risk reversals, flies, and fit diagnostics.

a is not the ATM volatility

The parameter a is a vertical offset in total variance space. The ATM variance comes from the full expression evaluated near k = 0, so production dashboards should show derived ATM volatility separately.

b and rho set wing behavior

b controls wing scale while rho redistributes that slope between downside and upside wings. These two parameters are closely related to visible skew and risk-reversal movement.

m follows the smile center

m moves the center of the raw SVI slice along log-moneyness. A large unexplained jump in m is often a sign that the forward, ATM quote set, or strike mapping changed.

sigma controls body smoothness

sigma rounds the center of the smile. If it collapses, the fit can chase one quote near the body instead of representing the expiry slice.

raw_svi = { a, b, rho, m, sigma }
left_wing_slope  = b * (1 - rho)
right_wing_slope = b * (1 + rho)

for quote in expiry.cleaned_quotes:
    k = log(quote.strike / expiry.forward)
    fitted_total_variance = raw_svi_total_variance(k, raw_svi)
    residual = quote.total_variance - fitted_total_variance

The first production question is not whether a solver returned five numbers. It is whether those numbers create a stable total variance curve that can be used for the dashboard, API, and downstream risk nodes.

Keep b non-negative

A negative b in raw SVI reverses the wing scale and should be rejected before publishing a live smile.

Keep rho inside (-1, 1)

rho controls skew rotation. Values too close to -1 or 1 can create extreme one-sided wings and unstable extrapolation.

Keep sigma positive

sigma should stay positive so the body of the smile remains smooth instead of becoming a sharp kink around m.

Check total variance and wing slopes

Parameter bounds are not enough. The fitted curve still needs non-negative total variance, bounded left and right wing slopes, and residual checks against the quote set.

Parameter bounds are a gate, not a guarantee. Derivasys pairs them with quote provenance from order book construction and fit-health checks fromproduction monitoring.

SVI calibration

SVI calibration turns clean option quotes into an expiry-level total variance curve.

In production, SVI calibration is not just curve fitting. The useful output depends on quote cleaning, forward selection, weighting, diagnostics, and whether the new slice is stable enough to publish into the live volatility surface.

Because SVI is fit in total variance space, accepted expiry slices also become inputs to forward volatilitychecks and variance swapanalysis. A clean 30-day and 90-day smile should imply a plausible 30-to-90-day volatility bucket and a defensible variance strike, not a calendar dislocation caused by stale quotes or an unstable fit.

Prepare the slice

Group one expiry, align it to the expiry forward, remove stale or crossed quotes, and keep venue provenance beside each point.

Fit in variance space

Convert implied volatility to total variance, fit raw SVI against log-moneyness, and weight liquid strikes more heavily than thin wings.

Reject bad shapes

Check non-negative variance, wing slope sanity, butterfly-style density diagnostics, and jump size versus the previous accepted fit.

Publish usable state

Emit the fitted smile, quote residuals, ATM level, risk reversals, flies, fixed-tenor nodes, and fit health indicators together.

for expiry in live_surface.expiries:
    quotes = clean_quotes(expiry.order_book, expiry.trades)
    forward = mark_forward(expiry.futures, expiry.perpetual_basis)
    points = to_total_variance(quotes, forward)

    fit = solve_raw_svi(points, previous_fit=expiry.last_svi)
    checks = run_fit_diagnostics(fit, points, neighbouring_expiries)

    if checks.accept:
        publish_smile(expiry, fit, checks, risk_nodes(fit))

The accepted fit should be published with its residuals, previous-fit movement, and quote provenance. For the systems view behind that loop, read the real-time BTC options surface engineering article.

Calibration objective

SVI calibration objective: minimize weighted total-variance residuals.

The production calibration problem is not just "find parameters that draw a nice curve." The target is a stable total-variance curve that respects current quote quality, previous accepted state, and the checks needed before a slice becomes part of the live surface.

minΣiqi(wmarket,iwSVI(ki))2

Fit total variance residuals

The optimizer should compare market total variance with SVI total variance at each log-moneyness point, not raw option premium or unscaled IV.

Weight liquid quotes more

Tight, recent, two-sided markets should have more influence than stale, crossed, or far-wing quotes with little executable depth.

Regularize against the previous fit

A live system can penalize unjustified parameter jumps so the surface does not flicker when one weak quote updates.

Publish only after gates pass

Residuals, wing slopes, total-variance positivity, calendar sanity, and quote-through-fit checks should pass before the slice becomes dashboard state.

This objective is why the SVI page belongs beside the arbitrage constraintsand methodology pages. A calibration that wins on least-squares error but fails wing, positivity, or calendar checks should not be promoted to the dashboard.

SVI optimization

SVI optimization is about stable accepted surfaces, not only faster solves.

In a live crypto options surface, SVI optimization, sometimes written SVI optimisation, is the production loop around the solver. The aim is not just to find a low least-squares error. It is to produce a fit that can survive quote noise, fast forward moves, sparse wings, and dashboard publishing gates.

This is where SVI calibration connects back to order book construction andproduction monitoring. Bad inputs should lower quote weights or trigger reuse of the previous fit, not silently become a new risk reversal, fly, or fixed-tenor row.

Warm-start from the last accepted slice

A live SVI optimizer should start near the previous accepted fit when the quote set has only moved modestly. That reduces flicker and makes parameter jumps easier to explain.

Use quote-quality weights

Recent two-sided markets near liquid strikes should carry more weight than stale, crossed, or far-wing marks that are useful for context but weak as calibration anchors.

Retry with safer bounds

If the first solve creates unstable wings or negative total variance, retry with tighter parameter bounds before deciding whether to reuse the previous surface state.

Publish only the accepted state

Optimization diagnostics should include residuals, timing, retry count, reject reason, and previous-fit distance so the dashboard can show why a smile was accepted or held back.

seed = expiry.last_accepted_svi
weights = quote_quality_weights(points)

candidate = solve_raw_svi(
    points,
    seed=seed,
    weights=weights,
    bounds=production_bounds(expiry)
)

if violates_surface_gates(candidate):
    candidate = solve_raw_svi(points, seed=seed, bounds=tighter_bounds)

publish_or_reuse_previous(candidate, expiry.last_accepted_svi)

A useful optimization report should include the objective value, residual distribution, quote weights, retry path, elapsed time, previous-fit distance, and final accept or reject reason. That makes SVI parameters auditable instead of just five numbers in an API payload.

Parameter diagnostics

SVI parameters need slope, residual, and stability checks before the curve is trusted.

A five-parameter fit can look plausible while still being pulled around by a bad wing quote or a sparse strike row. Derivasys treats parameter movement as an operational diagnostic and reviews it beside residuals, quote-through-fit panels, and arbitrage constraint checks.

For a surface-level view, continue to SSVI. Surface SVI uses ATM total variance and a skew function to tie expiry slices together, which makes calendar and forward-variance diagnostics easier to reason about.

a

Level floor

Track whether the vertical level is drifting because the whole expiry repriced, or because the optimizer is compensating for noisy wings.

b(1 - rho)

Left-wing slope

The downside wing slope is the first place crash-protection demand and bad stale puts often show up in BTC and ETH slices.

b(1 + rho)

Right-wing slope

The call wing slope should move with real upside convexity demand, not because a single far OTM quote dominated the fit.

m, sigma

Body location and smoothness

The center and body-width parameters are useful stability checks when the forward moves or the ATM quote set changes.

Worked example

How a BTC option quote becomes one point in the fit.

Suppose a 30-day BTC forward is 80,000 and a 72,000 strike is marked around 54% implied volatility. SVI does not fit that as a raw strike-volatility pair. It first puts the quote on the same coordinate system as the rest of the expiry.

Log-moneynessk=ln(72,00080,000)=0.105
Total variancew=0.542×30365=0.0239
Calibration target

Pass near liquid mids without overreacting to outliers.

Trader output

Price intermediate strikes and derive 25-delta RR/fly metrics.

Screenshots

Fitted smiles, risk nodes, and diagnostics stay visible together.

The dashboard is designed around the reality that the formula is only half the problem. Traders need to see the fit, the derived risk nodes, and whether the surface is behaving across tenors.

Quote-through-fit matrix across crypto options expiries
Through-fit monitoring shows where venue bids and asks sit relative to the fitted SVI mid across expiries.
Risk reversal and fly panels derived from fitted SVI smiles
Risk reversal and fly panels translate the fitted curve into skew and convexity views that desks can scan quickly.
Derivasys dashboard with risk analytics and volatility surface diagnostics
Diagnostics connect surface construction to live analytics, quote checks, and trader-facing risk context.

Engineering deep dive

Engineering a real-time BTC options volatility surface.

Sean Gordon's LinkedIn article gives the implementation view: live BTC options data, surface construction, SVI fitting, and the production details behind real-time implied volatility analytics.

Read the engineering article

Production checks

The guardrails matter as much as the curve.

A visually smooth smile can still be wrong. Real-time crypto surfaces need checks that separate genuine market structure from stale quotes, one-off prints, and unstable parameter jumps.

Quote quality

Filter stale, crossed, or structurally wide markets before they dominate a fit.

Butterfly sanity

Check local curve shapes that can imply impossible density inside one expiry slice.

Calendar sanity

Watch whether total variance behaves consistently across neighboring expiries.

Forward variance sanity

Use accepted expiry slices to check whether the forward volatility implied between tenors is stable and non-negative.

Parameter stability

Flag jumps where the fitted smile moves more than the quote set justifies.

Calendar checks connect directly to the forward volatilityguide: once each expiry smile is accepted, the term structure should still imply coherent forward variance between neighboring maturities.

Derivasys SVI API payload

An SVI response should include parameters, diagnostics, and derived risk nodes.

The five raw SVI parameters are only useful when the consumer can audit how the slice was fit. Derivasys-style payloads keep the raw SVI formula state beside quote support, residuals, accept/reject status, and the risk nodes that came from the curve.

raw_svi

The five-parameter slice state: a, b, rho, m, and sigma.

fit_quality

Residual, accepted quote count, elapsed solve time, and previous-fit movement.

derived_nodes

ATM volatility, 25-delta risk reversal, 25-delta fly, and wing slopes derived from the accepted curve.

publish_state

Whether the slice was accepted, rejected, reused, or published with a degraded-state label.

{
  "type": "svi_slice_snapshot",
  "underlying": "BTC",
  "expiry": "2026-09-25",
  "forward": 103250.4,
  "coordinate": "log_moneyness",
  "raw_svi": {
    "a": 0.021,
    "b": 0.184,
    "rho": -0.42,
    "m": -0.03,
    "sigma": 0.27
  },
  "fit_quality": {
    "accepted_quotes": 42,
    "weighted_rmse_total_variance": 0.00019,
    "max_abs_residual_vol_points": 1.8,
    "elapsed_ms": 36,
    "previous_fit_distance": 0.014
  },
  "derived_nodes": {
    "atm_iv": 0.538,
    "rr_25d_call_minus_put": -0.13,
    "fly_25d": 0.042,
    "left_wing_slope": 0.261,
    "right_wing_slope": 0.107
  },
  "publish_state": "accepted"
}

API access

SVI surface data is available for testing by request.

Derivasys can expose fitted surfaces through WebSocket streams and REST endpoints for approved testers. The API boundary covers live snapshots, incremental patches, smile levels, diagnostics, risk nodes, and fixed-tenor rows.

  • Live surface snapshots and sparse WebSocket patches
  • Current-state REST responses for smiles, diagnostics, and risk nodes
  • Fixed-tenor rows alongside native expiry views
  • BTC and ETH surfaces, with additional altcoin feeds under testing
Request SVI API access

FAQ

Common questions about SVI.

What is SVI in finance?

In finance, SVI means Stochastic Volatility Inspired. It is an options volatility smile parameterization used to fit implied total variance across strikes for one expiry before those slices are assembled into a volatility surface.

What are the SVI parameters?

Raw SVI has five parameters: a for level, b for wing scale, rho for skew rotation, m for horizontal center, and sigma for body smoothness. The derived ATM level, risk reversals, and flies should be read from the fitted curve, not from one parameter alone.

What are common SVI parameter bounds?

Production raw SVI fits usually keep b non-negative, rho between -1 and 1, sigma positive, total variance non-negative, and wing slopes within configured limits before the smile is published.

Is SVI calibrated to prices, implied volatility, or variance?

A practical SVI workflow converts option marks into implied volatility, then into total implied variance. The raw SVI curve is fit in total-variance space against log-moneyness.

How is SVI calibrated?

A production SVI calibration groups one expiry, converts quotes into log-moneyness and total variance, solves for a smooth raw SVI fit, then accepts the result only after quote-quality, residual, and arbitrage-style diagnostics pass.

What is the SVI calibration objective?

A practical SVI calibration objective minimizes weighted residuals between market total variance and the SVI total-variance curve, with quote-quality weights and stability checks around the previous accepted fit.

How do you optimize SVI calibration in production?

Production SVI optimization usually warm-starts from the previous accepted slice, weights quotes by freshness and liquidity, retries with safer bounds when diagnostics fail, and publishes only after residual, wing, positivity, and stability gates pass.

What should an SVI API response include?

An SVI API response should include the raw SVI parameters, expiry forward, coordinate convention, fit residuals, quote count, accept or reject state, and derived nodes such as ATM IV, 25-delta risk reversal, and 25-delta fly.

What does SVI mean in options volatility?

SVI stands for Stochastic Volatility Inspired. It is a parametric model for fitting implied total variance as a function of log-moneyness.

What is an SVI value or SVI number?

In options volatility, SVI is not one standalone number. Raw SVI is a five-parameter curve for one expiry. The useful values are derived from that accepted curve, such as ATM volatility, wing slopes, 25-delta risk reversals, flies, residuals, and no-arbitrage diagnostics.

Is SVI a pricing model?

No. SVI describes the volatility smile. Pricing still needs forwards, option conventions, discounting assumptions, and a clean calibration workflow.

Why use SVI instead of interpolation?

Interpolation connects known quotes. SVI adds a compact shape with level, skew, wing, center, and curvature controls, which makes monitoring and risk extraction cleaner.

Does SVI work for BTC and ETH options?

Yes, provided the surrounding data pipeline is robust. BTC and ETH options often have uneven strike liquidity and visible skew, which is where a stable smile fit is useful.

How does SVI connect to forward volatility?

SVI fits each expiry in total variance space. Once adjacent expiry slices are accepted, their total variance levels can be compared to estimate the forward volatility implied between those expiries.

References

Primary source and related Derivasys pages.

The guide is written for practitioners, but the model is grounded in SVI literature and the Derivasys production workflow.

Next guide

SSVI, then sticky strike vs sticky delta.

The next model step after raw SVI is SSVI, which ties expiry slices into a surface-level parameterization. For trader-facing skew, continue to the risk reversal guide; for scenario conventions, read sticky strike vs sticky delta.

Read the SSVI guide

Monitor live SVI surfaces in Derivasys.

Use the dashboard for fitted smiles, risk nodes, quote diagnostics, and fixed-tenor volatility views. Contact us for approved API access.