Spot-Vol Correlation API - Spot vs ATM IV Correlation - FlashAlpha Lab API
Lab API Spot-Vol Correlation

Spot-Vol Correlation API

Daily Pearson correlation between spot log-returns and first-differences of ATM implied vol, computed over 20-day and 60-day windows with a regime interpretation label.

Endpoint

GET /v1/volatility/spot-vol-correlation/{symbol}
Auth required (X-Api-Key) Rate Limited: Yes Growth plan+

Parameters

Name In Required Default Description
symbol path yes - Underlying symbol
curl -H "X-Api-Key: YOUR_API_KEY" \
  "https://lab.flashalpha.com/v1/volatility/spot-vol-correlation/SPY"
import requests

resp = requests.get(
    "https://lab.flashalpha.com/v1/volatility/spot-vol-correlation/SPY",
    headers={"X-Api-Key": "YOUR_API_KEY"}
)
data = resp.json()
print(f"20d corr: {data['spot_vol_correlation_20d']}")
const resp = await fetch(
  "https://lab.flashalpha.com/v1/volatility/spot-vol-correlation/SPY",
  { headers: { "X-Api-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log("20d corr: " + data.spot_vol_correlation_20d);

Response

{
  "symbol": "SPY",
  "as_of": "2026-05-30T15:30:00Z",
  "spot_vol_correlation_20d": -0.62,
  "spot_vol_correlation_60d": -0.58,
  "data_points_20d": 20,
  "data_points_60d": 60,
  "interpretation": "Strongly inverse - vol spikes on spot down moves (typical equity regime)."
}

Key Response Fields

Field Description
spot_vol_correlation_20dPearson(log_returns(spot), iv_deltas) over the last 20 daily snapshots. null when either series has zero variance or fewer than 20 points exist.
spot_vol_correlation_60dSame over the last 60. null when history is too short.
data_points_*The actual count of returns/deltas behind each correlation (matches the window). 0 when null.
interpretationLabel keyed off the shorter window (preferred); falls back to 60d when 20d is null. Bands: < -0.5 strongly inverse, < -0.2 moderately inverse, < 0.2 decoupled, < 0.5 mildly positive, ≥ 0.5 strongly positive.

Errors

Status Description
404insufficient_history - Fewer than 3 daily snapshots exist for the symbol.

About

Returns the daily Pearson correlation between spot log-returns and first-differences of ATM implied vol. Equity indices typically run strongly negative - vol spikes on spot down moves. The correlation is computed over 20-day and 60-day windows from the DailyVrpSnapshots table populated nightly by the VRP backfill job.

Daily IV here is the ATM IV stored in DailyVrpSnapshots (computed BSM from EOD option snapshots; same path as /v1/vrp/{symbol}/history). Inputs require both a non-null AtmIv and a positive UnderlyingPrice on each row.

Common Use Cases

  • Confirm a name sits in the typical inverse equity regime (spot_vol_correlation_20d < -0.5) before selling vol, using the interpretation label as the quick read
  • Detect regime shifts when correlation decouples toward 0 or turns positive - a sign the usual leverage effect has broken down
  • Compare spot_vol_correlation_20d against spot_vol_correlation_60d to read whether the relationship is strengthening or fading
  • Screen for symbols whose spot-vol behavior diverges from the index to surface idiosyncratic vol setups
  • Gate null readings on data_points_* so thin-history names don't trip a regime signal
  • Feed the correlation as a leverage-effect input into hedging or skew-pricing models

Related reading

Complementary endpoints

  • VIX State - the index-level overvixing / undervixing regime alongside this leverage read
  • Volatility - the ATM IV series whose first-differences drive this correlation
  • Skew Term Structure - the skew-implied side of the same leverage effect

Ready to build?

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