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.
Endpoint
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 Parameters | a, b, ρ, m, σ | Raw SVI parameterization: w(k) = a + b(ρ(k−m) + √((k−m)² + σ²)) |
| SVI Parameters | forward | Implied forward price from put-call parity |
| SVI Parameters | atm_total_variance | w(0) — total variance at-the-money |
| SVI Parameters | atm_iv | ATM implied vol (%) derived from total variance |
| Forward Prices | basis_pct | (Forward − Spot) / Spot × 100 |
| Total Variance Surface | moneyness | Log-moneyness grid for the variance surface: −0.5 to +0.5 in 0.025 steps |
| Total Variance Surface | tenors | Time to expiry in years |
| Total Variance Surface | total_variance | w(k,T) values — rows=expiries, columns=moneyness |
| Total Variance Surface | implied_vol | IV (%) from total variance: σ = √(w/T) × 100 |
| Arbitrage Flags | type | Arbitrage type: butterfly (∂²w/∂k² < 0) or calendar (w decreasing in T) |
| Arbitrage Flags | strike_or_k | Log-moneyness where violation occurs |
| Variance Swap | fair_variance | Integrated fair variance for the variance swap over [−15%, +15%] moneyness |
| Variance Swap | fair_vol | √(fair_variance / T) × 100 |
| Variance Swap | convexity_adjustment | fair_vol − atm_iv — positive = convexity premium from wings |
| Greeks Surfaces | vanna | ∂²V/∂S∂σ surface across strikes and expiries |
| Greeks Surfaces | charm | ∂²V/∂S∂t surface |
| Greeks Surfaces | volga | ∂²V/∂σ² surface |
| Greeks Surfaces | speed | ∂³V/∂S³ surface |
Use Cases
- Vol surface construction - use SVI parameters to build arbitrage-free implied volatility surfaces for any expiry
- Variance swap pricing - compare fair variance vs ATM IV to identify the convexity premium priced into wings
- Arbitrage scanning - detect butterfly and calendar arbitrage violations across the vol surface in real time
- Greeks surface analysis - visualize vanna, charm, volga, and speed exposure across strikes and expiries for portfolio risk
- Model calibration - use raw SVI parameters as inputs to exotic pricing models, local vol, or stochastic vol frameworks
Ready to build?
Get your free API key and start pulling live options data in 30 seconds.