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 with FlashAlpha?

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

No credit card required Setup in 60 seconds Secure & reliable