Dispersion Trading Guide: Implied Correlation and Index vs Single-Stock Vol | FlashAlpha
dispersiontrading · 17 min read

Dispersion Trading Guide: Implied Correlation and Index vs Single-Stock Vol

Dispersion trading sells index volatility against a basket of single-name volatility, monetising the gap between implied and realized correlation. This guide covers the implied correlation formula, both directions of the trade, Greeks management, why the correlation premium exists, when it blows up, and how to compute the whole setup with one API call - with a real snapshot from August 2026 showing earnings-season distortion in action.

T
Tomasz Dobrowolski Quant Engineer
Aug 3, 2026
17 min read
DispersionTrading ImpliedCorrelation VolatilityTrading RelativeValue Quant

If you searched for dispersion trading or implied correlation, most of what you will find is either a two-line definition or a derivatives textbook. This is the practitioner's version: the formula, the trade, the Greeks, the ways it loses money, and a live computation you can reproduce with one API call.

Dispersion trading, defined in one paragraph: a dispersion trade sells index option volatility and buys option volatility on the index's constituents, weighted so the package is initially vega-neutral. Because index variance is driven by average pairwise correlation, the trade is short implied correlation: it profits when stocks move on their own (low realized correlation) and loses when they move together, which is exactly what happens in a crash.

9.93%
SPX index implied vol, 2026-08-03 snapshot
37.6%
Equal-weight top-10 basket implied vol, same moment
-0.04
Basket-implied correlation (yes, negative - explained below)
0.40
20-day realized correlation of the same basket

Why the trade exists: index vol prices correlation

Index variance is not the average of constituent variances. For a basket with weights wi and vols σi, index variance is:

σ²index = Σ w²iσ²i + 2 Σi<j wiwjσiσjρij
index variance = own variances + every pairwise covariance

Everything in that expression is observable from option prices except the correlations. Assume a single average correlation ρ across all pairs, solve for it, and you get implied correlation:

ρimpl = (σ²index − Σ w²iσ²i) / (2 Σi<j wiwjσiσj)
solve the same identity for the one unknown: average pairwise correlation

Historically, implied correlation on equity indexes trades above subsequently realized correlation most of the time. The structural reason is flow: institutions buy index puts for portfolio protection (bidding index vol up) and sell single-name calls for yield (pressing single-name vol down). Both flows push implied correlation higher than the correlation stocks actually realize. The gap is the correlation risk premium, and dispersion is the strategy that harvests it. It is compensation, not free money: the premium pays you for carrying a position that loses precisely when everything falls together.

The trade, both directions

Classic dispersion (short correlation)Reverse dispersion (long correlation)
SignalImplied correlation rich vs realizedImplied correlation cheap vs realized
Index legSell index straddles/strangles or varianceBuy index straddles/strangles or variance
Single-name legBuy constituent straddles/stranglesSell constituent straddles/strangles
Wins whenStocks move idiosyncratically, index stays pinnedStocks move together, index moves more than names imply
Loses whenCorrelation spikes to 1 (crashes, macro shocks)Quiet rotation: names churn, index sleeps
Tail profileShort the crashLong the crash, bleeds carry

Most desks run the classic direction most of the time because the premium is usually there to collect. The discipline is in measuring it per basket, per tenor, rather than assuming it. Which brings us to the snapshot.

A live worked example (and why the sign flipped)

On 2026-08-03 we ran the platform's dispersion endpoint on the ten largest SPX names, equal-weighted, with a 20-day realized window:

GET /v1/dispersion?index=SPX&symbols=AAPL,MSFT,NVDA,AMZN,META,GOOGL,AVGO,TSLA,JPM,LLY
FieldValue (2026-08-03)
Index implied vol (SPX)9.93%
Basket implied vol (equal-weight)37.56%
Implied correlation-0.04
Realized correlation (20d)0.40
Correlation premium (implied - realized)-0.44
Basket constituents vs the index they are priced against2026-08-03
0% 20% 40% 60% LLY 58.3% AVGO 49.2% TSLA 45.3% META 39.5% NVDA 37.1% GOOGL 33.7% AMZN 32.7% MSFT 30.7% AAPL 28.2% JPM 20.9% SPX index IV 9.93%
Every one of the ten largest S&P 500 names carried implied volatility between two and six times the index's 9.93%. Diversification explains part of that gap; the rest is what the implied-correlation calculation extracts. LLY, AVGO and TSLA carry the basket, and NVDA sits at 37.1% three weeks ahead of its 2026-08-26 earnings.

Two things about this snapshot deserve honesty. First, a negative implied correlation is a degenerate reading: it says index options and single-name options are priced so far apart that no positive average correlation reconciles them. You see this when single-name IV is inflated relative to the index, and early August 2026 is exactly that regime: NVDA reports earnings on 2026-08-26 and carries a 37% IV against SPX at 10%, with the rest of the mega-cap complex holding elevated idiosyncratic event premium. Second, a ten-name equal-weight basket is a proxy, not the index: the other 490 names dilute index vol, which biases basket-implied correlation low. The endpoint computes correlation for the basket you would actually trade, which is the number that matters for the trade, but it is not comparable to a full-membership index correlation series without that caveat.

Read as a trade signal: implied correlation (-0.04) sits far below realized (0.40), so the correlation premium is negative and the classic short-correlation dispersion trade has nothing to harvest on this basket at this moment. The setup on paper favours reverse dispersion - buy cheap index vol, sell rich single-name vol - but notice what selling that basket's vol actually means: you are short NVDA and mega-cap earnings events. The premium you would collect is event premium, not correlation premium, and the earnings VRP study shows how skewed those outcomes are. This is the single most useful thing a live implied-correlation number does: it stops you from putting on the textbook trade in the wrong regime.

Construction and Greeks

  • Instruments. Cleanest in variance swaps (correlation exposure is pure), most accessible in ATM straddles or delta-hedged strangles per leg. Straddle-based dispersion picks up path dependency: you are long single-name gamma and short index gamma, so hedging frequency and gap risk matter. See variance swap replication for the strip mechanics.
  • Weighting. Vega-neutral is standard: scale the single-name leg so total single-name vega equals index vega. Theta-neutral and correlation-weighted (vega scaled by each name's correlation sensitivity) variants shift the exposure profile; vega-neutral leaves you net long gamma in quiet tapes and short in stressed ones.
  • Delta. Both legs get delta-hedged. The single-name leg's hedging is where gamma scalping P&L lives: idiosyncratic moves you capture by re-hedging are the revenue side of classic dispersion.
  • The tail. Classic dispersion is structurally short crash correlation. In a selloff, correlation goes to 1, index vol explodes past the basket, and the short index leg dominates. Position sizing must assume correlation 1.0, not the historical average. Watch the regime with tail convexity and the skew-before-selloffs study.
  • Costs. A ten-name dispersion package is 11 option positions plus hedges. Spread costs compound across legs; the fill-model reference is the honest haircut to apply before believing any backtest of this.

Monitoring dispersion with one call

Everything in the worked example above came from a single request. The endpoint accepts any index with listed options, up to 50 constituent symbols, optional custom weights, and an optional realized-correlation window:

import requests

r = requests.get(
    "https://lab.flashalpha.com/v1/dispersion",
    params={
        "index": "SPX",
        "symbols": "AAPL,MSFT,NVDA,AMZN,META,GOOGL,AVGO,TSLA,JPM,LLY",
        "horizon_days": 20,
    },
    headers={"X-Api-Key": KEY},
).json()

print(r["implied_correlation"], r["realized_correlation"],
      r["correlation_premium"])
for c in r["top_contributors"]:
    print(c["symbol"], c["iv"], c["contribution_to_basket_vol"])

The response includes the implied and realized correlation, the premium, index and basket implied vol, and each constituent's vol contribution - the per-name column is how you spot that one earnings name is carrying the whole basket. Poll it daily across your candidate baskets and you have a correlation-premium monitor; the deeper background on the calculation lives in the IV dispersion concept page and the endpoint docs.

What we would test before trading it

A serious dispersion program needs the premium measured across time, not one snapshot: entry when the premium is wide, exit or reverse when it compresses, sized against correlation-to-1 stress. The historical API replays the full option surface at any minute (SPY from 2017-01-03, SPX from 2022), which is the raw material for reconstructing implied correlation historically from index and constituent chains, then testing entry thresholds without lookahead - the same point-in-time discipline the rest of our backtest content insists on. For the companion signal on when correlation premium tends to appear, see implied correlation as a regime signal.

Frequently asked questions

What is dispersion trading in simple terms?

You sell insurance on the whole market and buy insurance on the individual stocks in it. If stocks move independently of each other, individual insurance pays out while the market stays calm and you keep the difference. If everything crashes together, the market insurance you sold costs you more than the individual insurance pays.

Why is implied correlation usually higher than realized correlation?

Structural flows: portfolio hedgers persistently buy index protection, pushing index vol rich, while call overwriting and yield products persistently sell single-name vol, pressing it cheap. Solving the correlation equation with a rich numerator and cheap denominator yields implied correlation above what stocks subsequently realize - a premium that has persisted because it pays for crash exposure.

When does the classic dispersion trade lose money?

When correlation spikes: macro shocks, crashes, rate surprises - any regime where stocks stop trading on their own stories. The short index vol leg loses faster than the long single-name leg earns. It is a short-crash-correlation position and must be sized as such.

What is a reverse dispersion trade?

The opposite package: buy index vol, sell single-name vol, entered when implied correlation is abnormally cheap. It profits if correlation rises. Its trap is that cheap implied correlation often reflects inflated single-name event premium (earnings season), so the "rich" single-name vol you sell can be rich for a reason.

Can retail traders do dispersion?

Mechanically yes with defined-risk option structures on liquid names, but the leg count makes costs brutal at retail spreads, and the margin treatment of short index straddles is unfriendly. Most non-institutional traders are better off monitoring implied correlation as a regime input for other trades than running the package itself.

Dispersion is the purest expression of volatility relative value: one number, implied minus realized correlation, decides the direction, and the August 2026 snapshot above shows that number doing its main job - keeping you out of the textbook trade when earnings season has inverted the premium. The dispersion endpoint computes the full setup for any basket in one call and is available on the Alpha tier, alongside the advanced volatility surface and the historical replay stack. Related reading: implied correlation explained, the volatility relative-value guide, and the vol-RV workflow page.

Live Market Pulse

Get fast visibility into market shifts with full-chain analytics over low-latency REST and MCP polling.

Intelligent Screening

Screen millions of option pairs per second using your custom EV rules, filters, and setups.

Export-Ready

Export structured signals to your own execution stack or broker integration - FlashAlpha delivers the analytics, you keep control of order routing.

Join the Community

Discord

Engage in real time conversations with us!

Twitter / X

Follow us for real-time updates and insights!

GitHub

Explore our open-source SDK, examples, and analytics resources!