Multi-Model Regime Divergence

As of June 8, 2026 (end-of-day snapshot). Pages update daily after the market close.

Where the 8-model calibration suite disagrees most about how to fit the implied-volatility surface. The dispersion score (median absolute deviation of fit error, divided by the median) isolates how differently the models agree on fit quality, while the displayed median RMSE reveals how well ANY of them actually fits. Low dispersion with low median RMSE means all 8 models agree it's a clean surface; low dispersion with high median RMSE means they all agree it's a hard surface to fit. High dispersion means specific models are capturing features (jumps, stochastic vol, heavy tails) that others miss: the regime-transition signal.

Top 50 by MAD / Median

The live model-divergence leaderboard loads after the page hydrates. Rows are ranked by cross-model fit-error dispersion (MAD over the median) across 8 calibrated pricing models. Regime universe (~124 symbols spanning single stocks, sector ETFs, and bond ETFs).

Methodology

Cross-model score = median absolute deviation of per-model fit error divided by the median fit error, across 8 models (Bates, Black-Scholes, eSSVI, Heston, Kou, Merton, SABR, Variance Gamma). Each per-fit row must be a real calibration (not a fallback), with a finite positive fit error and at least 10 options used. Symbols are included only when ≥6 valid fits exist. MAD is robust to single-model outliers. Median RMSE is displayed as the absolute fit-quality column; read it alongside the dispersion score to distinguish "all models agree well" from "all models agree poorly." Sourced from the daily model-fit history. Regime universe (~124 symbols spanning single stocks, sector ETFs, and bond ETFs).

Frequently Asked Questions

Why 8 models?

Each model in the suite captures a different slice of market dynamics. Black-Scholes is the maximum-entropy baseline. Heston adds stochastic vol. SABR parameterizes the smile per-expiration. Merton and Kou add jumps with different tail shapes. Bates combines Heston + jumps. Variance Gamma uses a subordinated Brownian motion for heavy tails. eSSVI parameterizes the surface itself. High agreement + good fit means a clean surface where all models concur. High agreement + poor fit means a hard surface no model handles well. Disagreement means specific features (jumps, stochastic vol, heavy tails) that some models capture and others miss; that disagreement is the regime-detection signal.

Why MAD/median instead of standard deviation?

MAD (median absolute deviation) is robust to outliers. Unlike standard deviation, it is not inflated by one or two failing fits. If 7 of 8 models fit similarly and one fails badly, stddev spikes from that single bad fit but MAD barely moves, which matches the regime question we are actually asking ("are the models broadly disagreeing"). MAD divided by the median normalizes for absolute fit-error scale, so a surface with low overall fit error and one with high overall fit error are directly comparable on the dispersion metric: both can show clean agreement (low MAD/median) or genuine disagreement (high MAD/median).

What does the best-fit model tell me?

Which model currently explains the surface best. Heavy-tailed models (Kou, Bates) fitting best signals the surface has jump-like features the continuous models can't reproduce. Smooth models (Black-Scholes, eSSVI) fitting best signals a smoothly-behaved surface where stochastic vol and jumps are not currently relevant. Changes in which model fits best over time are themselves a regime-transition signal: when the best fit shifts from a continuous model to a jump model, the market is starting to price tail risk that wasn't there before. The best-fit column on the screener surfaces this directly.

Why ~124 symbols?

The regime pipeline runs a full 8-model calibration per symbol per night, which is computationally expensive; each calibration solves a non-linear least-squares problem in 4–8 dimensions. We currently run it across a curated universe of ~124 names covering major single stocks, sector ETFs (XLF, XLY, XLE, XLK, etc.), and bond ETFs (TLT, IEF, LQD, HYG). Each symbol is categorized into one regime scope (bellwether / sector / fixed_income / etc.), but the screener reads across all scopes so coverage is uniform. Expanding the universe is an ops decision (more compute), not a data-availability issue; the methodology generalizes.

How fresh is the data on this screener?

All public screener data refreshes once per trading day after the 4:00 PM ET market close, typically available by 5:30 PM ET. The platform uses end-of-day OPRA aggregates which are licensed for free public display. Authenticated API-tier users with their own Tradier or tastytrade BYOK credentials can pull intraday data through the streaming endpoints.

Where does the underlying data come from?

End-of-day OPRA aggregates for the options data, exchange-published stock prices for the spot reference, and a calibrated implied-volatility surface computed from the listed chain. Ranking metrics like IV rank, GEX, and unusual-activity counts are computed nightly from these primary inputs. Methodology details are in each screener's "How it's computed" section above.

Are these stocks recommended trades?

No. The screener is a ranked list of names that meet a quantitative filter at the close of the prior trading session, a research starting point, not a buy or sell signal. Whether any name on the list represents a tradeable opportunity depends on the underlying catalyst, your strategy, current market context, and risk tolerance. The platform does not give trade advice; the lists are descriptive, not prescriptive.

How often does the ranking change?

The ranking refreshes every trading day after the close. Names move on and off the list as their underlying metric (IV rank, gamma exposure, volume, etc.) crosses thresholds. Most screeners show meaningful day-over-day churn at the top of the list during active markets and lower turnover during low-volatility regimes. The "biggest change" screeners specifically target fast-moving names.

Is the screener tradeable in real-time during market hours?

The screener itself ranks on end-of-day data. To trade names on the list during market hours, use your own broker's real-time chain data; the platform's per-ticker pages link directly to real-time chains for authenticated users. The screener's job is to surface the universe of candidates that met yesterday's filter; the trade decision uses live data.

Can I export the ranked list?

Pro and API tier users can export rankings via the API (REST endpoint per screener slug returns a JSON list with all metric columns) or pull them programmatically through the Python SDK. Free users have the full ranking visible on the page; programmatic access requires authentication. Daily snapshots are also available for backtesting research through the API tier.