Methodology
How the scanner works.
A scanner you cannot audit is a black box. This page lists every input, every filter, and the exact weighting behind the fit score. None of it is proprietary; the value is in the curation and the consistency, not the formula.
The shape of it
Four scanners run on the same watchlist of high-volume tickers. Each one looks at a single, narrow signal: tradeable defined-risk credit structures, extreme implied vol, unusual skew, and term-structure inversion. Each hit lands on the scanner page tagged with the source scanner so you can drill into one signal type at a time.
Scans run every 15 minutes during US market hours. The page header shows when the most recent scan completed, so you know whether you are looking at a live read or one that happened pre-open.
Per-scanner detail
Defined-risk credit ideas
Inputs
- Full call chain across the next ~6 expirations.
- Mid-price (Β½ Γ bid + Β½ Γ ask) per strike, used for premium math.
- Open interest, volume, and bid-ask spread for the liquidity score.
- Implied vol used as the input to the probability-of-profit estimate.
Filters
- Days to expiry between 20 and 60. Outside that window the credit is too thin or gamma risk dominates.
- Spread width on the lower wing between $2 and $15 β anything narrower is below liquidity floor, wider stretches the structure.
- Upper wing (K3 minus K2) must be narrower than the lower wing β that is what makes the butterfly broken.
- Net credit must be positive, otherwise the trade asks you to pay for risk on both sides.
- Each leg passes the liquidity filter (mid > $0.05, OI β₯ 20, spread under 12% of mid for options priced above $0.20).
What surfaces
Up to four candidates per ticker, sorted by best overall fit. Each one shows you the leg list, credit, maximum loss, and breakeven prices.
Expensive or cheap options
Inputs
- The chain's nearest-to-spot ATM implied volatility.
- A rolling 1-year history of that ATM IV, snapshotted nightly.
Filters
- IV Rank β₯ 70 (rich) or β€ 20 (cheap). The middle 50 points are uninteresting β too noisy to sort regime around.
- Tickers with fewer than 20 days of IV history are skipped; the rank statistic is unreliable on a short window.
What surfaces
A single signal per ticker that crosses the threshold, with plain-English copy explaining whether options look expensive or cheap.
Put/call imbalance
Inputs
- 25-delta put IV minus 25-delta call IV, on the front-month expiration.
- Same delta lookup used for the butterfly-skew (kurtosis) reading underneath.
Filters
- Absolute skew greater than 5 vol points. Below that, skew is within typical regime noise.
- Front-month expiration only. Term-structure inversion is a separate scanner.
What surfaces
A signal chip on the ticker card. If the same ticker also has event pricing or a fast-move warning, the scanner combines those chips on one card.
Event pricing
Inputs
- ATM IV of the front-month expiration.
- ATM IV of the longest available expiration on the chain.
Filters
- Front-month IV must be at least 10% above back-month IV. Below that it is regular contango with normal noise.
- Both expirations must have ATM IV reads (illiquid wings excluded).
What surfaces
A signal chip on the ticker card. Most often this is event-priced premium (earnings, FOMC, biotech catalyst) and tends to mean-revert after the event.
Earnings volatility crush
Inputs
- Days until the next earnings announcement.
- Front-month and back-month ATM IV readings (same as term-structure).
Filters
- Earnings date must fall inside the front-month expiration. If the print is past the near expiry, the elevated IV cannot be event-priced.
- Front-month must be at least 8% above back-month IV. Below that, the bump is normal noise.
What surfaces
A single signal per ticker. Score combines how rich the front month is with how close the print is β the closer to the date, the more reliable the IV crush after.
Pairs / relative value
Inputs
- Front-month ATM IV for two historically correlated symbols (e.g. QQQ vs SPY).
- A baseline gap encoding the typical IV spread between the pair.
Filters
- Live gap must deviate from baseline by at least 4 vol points. Smaller deviations are noise.
- Pairs are curated, not auto-discovered. The list lives in `lib/scanners/pairs-scanner.ts` and was chosen for liquid, well-correlated tickers.
What surfaces
A signal per pair when the gap dislocates. Trade is long-vol on the cheap leg, short-vol on the rich leg; convergence pays as the spread reverts.
Unusual Greek regime
Inputs
- Gamma and absolute theta of the front-month ATM call and put.
- A baseline ratio (median of gamma-per-theta-day across the watchlist).
Filters
- Live ratio must be at least 1.5Γ the baseline AND above a hard floor (0.4) so we never surface noise on illiquid names.
What surfaces
A fast-move warning, not a position-level Greek. It tells you the nearest at-the-money options may swing unusually hard compared with the rest of the watchlist, and it is grouped with any other warning for the same ticker.
The overall fit score
When more than one setup is available, the scanner ranks them with a single 0-to-100 fit score. The weighting is fixed and visible below. It biases toward calmer trades (higher estimated win chance, defined risk, liquid options) over higher-payoff trades.
| Component | Weight | What it captures |
|---|---|---|
| Estimated win chance | 40 of 100 | Estimated chance the trade finishes profitable at expiration. It is computed from the trade payoff and the option market's expected move. |
| Return on capital | 20 of 100 | Max profit divided by capital required. Capped at the equivalent of 30% so a single high-leverage outlier does not dominate the ranking. |
| Liquidity | 15 of 100 | Average across legs of (50% bid-ask tightness, 30% open interest, 20% volume). Wide spreads quietly eat the credit on every fill, so this is weighted heavily relative to size. |
| Sharpe-like ratio | 15 of 100 | Expected dollar value divided by a typical stock move. Rewards trades whose expected value is large enough to matter. |
| Defined-risk bonus | 10 of 100 | A flat bonus when max loss is finite. We never recommend undefined-risk trades, so in practice everything that surfaces gets the bonus, but the column is explicit so the formula is auditable. |
Use the score to rank, not to decide. Read the underlying numbers (win chance, max risk, max reward, capital required, liquidity) on every trade before placing.
Non-trade signal cards use a separate severity score. A ticker crosses a scanner threshold around 50, stronger readings climb through the 70s and 80s, and 100 is intentionally rare. If a ticker triggers more than one signal, the card shows the strongest score and keeps the other signals as chips.
What the scanner does not do
- It does not predict direction. These are pricing-anomaly ideas, not signal-generating models. We are looking at structure and vol, not at where the stock will go.
- It does not auto-execute. Asymmetric does not connect to your broker. You copy the order ticket and submit it yourself. You stay in control.
- It does not pretend to be a track record. A live, audited record needs months of cron data; we do not publish performance numbers we cannot back. See the examples page for fully-explained illustrative trades while we accumulate it.
Want a deeper read?
The guide has long-form articles on each component. Start with expensive options in plain English or the win-chance number.
Study the scanner