FFT Mispricing Scanner
Last reviewed: by Options Analysis Suite Research.
Quantitative mispricing detection using Fast Fourier Transform option pricing models. Scans entire options chains to identify over- and underpriced contracts by comparing theoretical model prices against live market quotes. Available with a Professional subscription.
- Multi-Model Pricing: Price options using Black-Scholes, Heston, Variance Gamma, Merton Jump Diffusion, Kou Double Exponential, Bates, and SABR stochastic volatility models.
- Auto-Calibration: Automatically calibrate model parameters to the live volatility surface with quick, balanced, and precise speed modes. While FFT pricing itself takes milliseconds, the initial calibration step may take several seconds to over a minute depending on the model, ticker liquidity, and selected speed mode.
- 7-Level Signal System: Strong Buy, Buy, Weak Buy, Neutral, Weak Sell, Sell, and Strong Sell signals based on model price vs market bid-ask positioning.
- Edge Calculation: Executable edge measurement showing profit potential when model price crosses the bid or ask, in both dollar and percentage terms.
- Liquidity Filtering: Filter results by minimum volume, open interest, bid-ask spread percentage, moneyness, and edge threshold with smart filter presets.
- Multi-Model Comparison: Compare pricing across multiple models simultaneously to identify consensus mispricings and model-specific opportunities.
- Heatmap Visualization: Color-coded strike-by-expiration heatmap view of price differences and signal strength across the entire chain.
- Multi-Expiration Scanning: Scan across all available expirations or focus on a single expiration with per-DTE calibration support.
- Web Worker Acceleration: Parallel computation via web workers for expensive models, keeping the UI responsive during heavy scans.
- Automated Watchlist Scanning: Define a custom watchlist of tickers and let the scanner automatically cycle through them, surfacing the highest-edge opportunities across your entire watchlist with calibration warm-starting for faster subsequent passes.
How "Mispricing" Is Defined Here
The scanner does not claim to know the "true" price of an option; no model does. What it does is calibrate a chosen model (Heston, VG, Bates, Kou, Merton, SABR, or Black-Scholes) to a clean ATM neighborhood of the live surface and then run that calibrated model across the full chain. The output is a set of model-implied prices for every listed strike, compared against live mid-quotes. Strikes where the model price sits outside the bid-ask spread by a meaningful margin are flagged. The interpretation is always: "given this model's assumptions, the market is pricing this strike inconsistently with the rest of the surface." That can be a real edge, or it can be the model failing. The multi-model comparison view is how you triangulate which.
Workflow: From Scan to Trade
Typical pattern: pick a liquid ticker, run the scan with auto-calibration on at least two models (Heston for smoothness, VG for tail behavior), and look for strikes where multiple models agree the same direction. Those consensus signals are the most trustworthy. Filter the result list by liquidity (minimum volume, OI, max bid-ask spread percent) so you are not chasing edge that disappears at fill time. Cross-reference each candidate against the GEX page to make sure the "mispricing" is not actually a dealer-positioning artifact (large gamma walls can produce real but ephemeral skew that models read as edge). Then check the bid-ask edge (the scanner reports both percentage and dollar edge), and only execute when the edge clears your slippage assumption with margin to spare.
Speed and Calibration Caveats
FFT pricing itself is millisecond-fast across an entire chain; that is the whole point of using FFT instead of direct integration. The bottleneck is the initial calibration step: Heston quick mode takes a few seconds, balanced mode 10 to 20 seconds, precise mode potentially over a minute. Bates (Heston-plus-jumps) is the slowest because the parameter space is larger. Calibration warm-starting on the watchlist scanner reuses fitted parameters from the previous pass, which makes subsequent passes much faster than the first. Plan around this: set up watchlists, run a cold-start scan, then iterate at the warm-start cadence.
Why FFT Specifically
FFT-based pricing is a particular numerical method that uses the characteristic function of the underlying return distribution rather than direct simulation or analytic formulas. The advantage is that once the characteristic function is known (Heston, Variance Gamma, Bates, Kou, and Merton all have closed-form characteristic functions), pricing every strike on the chain is a single Fourier transform rather than per-strike integration. That is what enables full-chain scanning at millisecond latency. The drawback is that calibration to live quotes still requires solving an inverse problem, which is the slow step. The FFT step itself is constant-time per chain regardless of how many strikes are listed.
Liquidity-First Filter Order
The order in which the filters are applied matters. The default ordering pushes liquidity floors before edge thresholds: minimum volume and OI, then maximum bid-ask spread percentage, then minimum edge in dollars and percentage. The reason is that an edge signal on an illiquid contract is unactionable; the slippage on entry will exceed the modeled edge. Liquidity filters run first so the edge signals you see are actually tradeable. Smart filter presets (low-volume names, high-OI names, weeklies-only, etc.) are starting points that can be refined per-ticker once the trader has a feel for what's actually filling at mid.
This page is part of the Options Analysis Suite features overview. Browse the full documentation.