Advanced Volatility API - SVI Parameters, Variance Surfaces, Arbitrage Detection - FlashAlpha Lab API
Lab API Advanced Volatility

Advanced Volatility API ALPHA

Raw SVI parameters, total variance surface grids, arbitrage detection, greeks surfaces, and variance swap fair values.

α Alpha Plan Required

These endpoints require the Alpha+ plan. View pricing →

New to SVI surfaces? Advanced Volatility API Guide explains SVI parameterization, variance surfaces, and arbitrage detection. Also see: Build an IV Surface in Python for a hands-on tutorial.
Works with CME index futures. Pass ES=F or NQ=F and URL-encode the = as %3D - e.g. /v1/adv_volatility/ES%3DF. Options-on-futures are priced with Black-76 using the CME multiplier ($50/pt ES, $20/pt NQ); CME index futures are Growth-tier. See the futures hub.

Endpoint

GET /v1/adv_volatility/{symbol}
Auth required (X-Api-Key) Rate Limited: Yes Alpha plan+

Parameters

Name In Required Description
symbol path yes Underlying symbol (e.g. SPY, TSLA, AAPL)
curl -H "X-Api-Key: YOUR_API_KEY" \
  "https://lab.flashalpha.com/v1/adv_volatility/SPY"
import requests

resp = requests.get(
    "https://lab.flashalpha.com/v1/adv_volatility/SPY",
    headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(f"SVI a: {data['svi_parameters'][0]['a']}")
print(f"ATM IV: {data['svi_parameters'][0]['atm_iv']}%")
print(f"Arbitrage flags: {len(data['arbitrage_flags'])}")
const resp = await fetch(
  "https://lab.flashalpha.com/v1/adv_volatility/SPY",
  { headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log(`SVI a: ${data.svi_parameters[0].a}`);
console.log(`ATM IV: ${data.svi_parameters[0].atm_iv}%`);
console.log(`Arbitrage flags: ${data.arbitrage_flags.length}`);

Response

{
  "symbol": "SPY",
  "underlying_price": 580.51,
  "as_of": "2026-03-25T15:00:00Z",
  "market_open": true,
  "svi_parameters": [
    {
      "expiry": "2026-04-04",
      "days_to_expiry": 10,
      "forward": 581.25,
      "a": 0.004521,
      "b": 0.031245,
      "rho": -0.182345,
      "m": 0.012345,
      "sigma": 0.098765,
      "atm_total_variance": 0.008912,
      "atm_iv": 17.85
    }
  ],
  "forward_prices": [
    {
      "expiry": "2026-04-04",
      "days_to_expiry": 10,
      "forward": 581.25,
      "spot": 580.51,
      "basis_pct": 0.1275
    }
  ],
  "total_variance_surface": {
    "moneyness": [-0.5, -0.475, 0.475, 0.5],
    "expiries": ["2026-04-04", "2026-04-17"],
    "tenors": [0.027397, 0.063014],
    "total_variance": [[0.0089, 0.0087], [0.0092, 0.0090]],
    "implied_vol": [[18.05, 17.92], [18.12, 17.98]]
  },
  "arbitrage_flags": [
    {
      "expiry": "2026-04-04",
      "type": "butterfly",
      "strike_or_k": -0.35,
      "description": "Negative butterfly at k=-0.350: d²w/dk²=-0.0152"
    }
  ],
  "variance_swap_fair_values": [
    {
      "expiry": "2026-04-04",
      "days_to_expiry": 10,
      "fair_variance": 0.009234,
      "fair_vol": 18.35,
      "atm_iv": 17.85,
      "convexity_adjustment": 0.50
    }
  ],
  "greeks_surfaces": {
    "vanna": {
      "strikes": [555, 560, 565, 600, 605],
      "expiries": ["2026-04-04", "2026-04-17"],
      "values": [[0.00012, 0.00023], [0.00015, 0.00028]]
    },
    "charm": {
      "strikes": [555, 560, 565, 600, 605],
      "expiries": ["2026-04-04", "2026-04-17"],
      "values": [[0.00045, 0.00038], [0.00052, 0.00041]]
    },
    "volga": {
      "strikes": [555, 560, 565, 600, 605],
      "expiries": ["2026-04-04", "2026-04-17"],
      "values": [[0.00089, 0.00076], [0.00095, 0.00082]]
    },
    "speed": {
      "strikes": [555, 560, 565, 600, 605],
      "expiries": ["2026-04-04", "2026-04-17"],
      "values": [[-0.000003, -0.000002], [-0.000004, -0.000003]]
    }
  }
}

Response Fields

Section Field Description
SVI Parametersa, b, ρ, m, σRaw SVI parameterization: w(k) = a + b(ρ(k−m) + √((k−m)² + σ²))
SVI ParametersforwardImplied forward price from put-call parity
SVI Parametersatm_total_variancew(0) - total variance at-the-money
SVI Parametersatm_ivATM implied vol (%) derived from total variance
Forward Pricesbasis_pct(Forward − Spot) / Spot × 100
Total Variance SurfacemoneynessLog-moneyness grid for the variance surface: −0.5 to +0.5 in 0.025 steps
Total Variance SurfacetenorsTime to expiry in years
Total Variance Surfacetotal_variancew(k,T) values - rows=expiries, columns=moneyness
Total Variance Surfaceimplied_volIV (%) from total variance: σ = √(w/T) × 100
Arbitrage FlagstypeArbitrage type: butterfly (∂²w/∂k² < 0) or calendar (w decreasing in T)
Arbitrage Flagsstrike_or_kLog-moneyness where violation occurs
Variance Swapfair_varianceIntegrated fair variance for the variance swap over [−15%, +15%] moneyness
Variance Swapfair_vol√(fair_variance / T) × 100
Variance Swapconvexity_adjustmentfair_vol − atm_iv - positive = convexity premium from wings
Greeks Surfacesvanna∂²V/∂S∂σ surface across strikes and expiries
Greeks Surfacescharm∂²V/∂S∂t surface
Greeks Surfacesvolga∂²V/∂σ² surface
Greeks Surfacesspeed∂³V/∂S³ surface

Use Cases

  • Build the surface - feed the per-expiry SVI parameters (a, b, rho, m, sigma) into an arbitrage-free implied vol surface for any strike and tenor
  • Price the convexity premium - compare fair variance vs ATM IV to quantify the premium priced into the wings for variance-swap and dispersion trades
  • Scan for arbitrage - read the butterfly and calendar violation flags to catch mispriced strikes and surface inconsistencies in real time
  • Manage second-order risk - use the vanna, charm, volga, and speed greeks surfaces to map exposure across strikes and expiries for portfolio hedging
  • Calibrate your own models - pass the raw SVI coefficients into local-vol, stochastic-vol, or exotic pricers as a clean starting fit
  • Monitor surface stability - track day-over-day shifts in SVI parameters to detect regime changes before they show up in ATM IV

Related reading

Complementary endpoints

  • Volatility - realized vol, IV-RV spreads, skew, and term structure context
  • SVI Parameters - the raw SVI coefficients on their own for custom models
  • Skew Term Structure - skew and term structure isolated across expiries
  • Dispersion - index-vs-constituent vol for dispersion and correlation trades

Ready to build?

Get your free API key and start pulling live options data in 30 seconds.