Back to hunt

Wiki — how the desk decides

Every filter, in the order a suggestion passes through it. All numbers are read live from the code, so this page cannot drift from what actually runs. Each gate lists the incident that caused it — that history matters more than the value, and is the thing to re-read before changing one.

1. Universe — what is even considered
Applied to every US ticker before any scoring happens.
Market-cap floor
$10B

Common stock below this is dropped. Liquid ETFs (SPY, QQQ, GLD, TLT, XLE…) are whitelisted and skip the check.

Why: Small caps gap on news with no options liquidity — you get filled badly on the way in and cannot get out.

ETF whitelist
14 symbols

Index and sector ETFs bypass the cap floor because market cap is meaningless for a fund.

Why: The July 24 SPY slide was invisible because the scanner built its list from common stock only, so no index could ever appear.

2. Desk gates — worm, witch, monster
Three profiles over the same data. Each desk is a different appetite, not a different model.
worm
+30%
Min score:
50
Min rel. volume:
1.2×
Min move potential:
2%
Max abs. change:
8
Strikes OTM:
0
Min days to expiry:
3
witch
+100%
Min score:
55
Min rel. volume:
1.5×
Min move potential:
4%
Max abs. change:
none
Strikes OTM:
1
Min days to expiry:
1
monster
+200% or more
Min score:
45
Min rel. volume:
2×
Min move potential:
7%
Max abs. change:
none
Strikes OTM:
2
Min days to expiry:
1

Why the expiry floors are low now: they used to be 7 / 5 / 5, which pushed every suggestion past the nearest Friday. On 2026-07-28 every contract on the day's gainer list expired within three days — the hunt could not have named one of them, not from bad scoring but because the calendar refused them first. The floor was standing in for risk management that now exists as a real exit ladder.

3. Extension — is there room left
Measured in ADR (average daily range), not percent, so a quiet name and a volatile one are judged on their own scale.
Stretched
1.5× ADR

The move is already large for this name. A warning, not a block.

Exhausted
3× ADR

Hard veto. Three times a normal day's range is where moves end, not begin.

No room left
0.5 ADR

Vetoed when a call is within this of the 20-day high, or a put within it of the low.

Why: A monster put was suggested on DELL at its capitulation low. A percent-based threshold would not have caught it — 0.84% looked fine, but it was 0.24 ADR.

Conviction volume
1.5×

Above this, a stretched move is treated as trending rather than exhausted — do not fade it.

4. Entry quality — is now a sane price
The gate that answers a different question from 'is something happening'.
LATE entry
−25 confidence

Extreme RSI AND price sitting at a pivot level, on the wrong side for the trade.

Why: A PLTR call was suggested at R1 with RSI overbought. Every gate before this said 'moving'; none asked whether the price was still worth paying.

CAUTION entry
−10 to −12

One of the two conditions, not both.

5. Intraday tape — 5-minute confirmation
Daily gates say something is happening. Only this says whether momentum still supports the side right now.
Warm-up
27 bars

MACD(12,26,9) needs this many bars to mean anything. The signal is fed the PREVIOUS session too, so it is warm at the opening bell.

Why: Feeding it only today made it blind until 11:45 ET — the entire morning, which is when short-dated options make their money.

TREND regime
histogram > 0 + above VWAP

Momentum already on your side. The continuation read.

TURN regime
3 bars compressing

Histogram still on the wrong side but closing toward zero, with price already back on the right side of VWAP. Scores lower than TREND, so it sizes smaller.

Why: The level-only test waited for the zero cross, by which time a 0DTE premium had already doubled. This caught a 14:30 bounce the old rule slept through.

Veto
wrong MACD AND wrong VWAP

Both against the trade. Deliberately NOT softened by a turning histogram — that combination is what a fading downtrend looks like from the inside.

6. Reversal lane — exhaustion off a low
A different model class from momentum. Fires earlier; measured, it does not fill cheaper.
Swing strength
2 bars either side

A low only counts once it has held. That lag is the price of not catching knives.

Origin oversold
RSI ≤ 40

The first low must have been a real extreme. Two higher lows mid-range are not a reversal.

Divergence
≥ 2 RSI points

The retest must be measurably less weak, not a rounding difference.

Volume
< 1× the first low

Sellers exhausting rather than reloading.

Freshness
≤ 4 bars

A divergence from 40 minutes ago is history, not an entry.

Minimum bars
20

Below this it stays silent rather than guess.

All five must hold. The naive version of this rule fired 14 times in 50 minutes; this fires about twice a session. Honest result: it signals ~15 minutes earlier than momentum and still did not beat it on fill price on the reference day.

7. Index-gamma lane — why SPXW appears at all
Bypasses every daily gate. The ETF is only the sensor; the ticket is written on the index.
Minimum score
55

Higher than the equity desks — an index option is leveraged enough that a marginal read is not worth taking, and nothing else is gating it.

Same-day expiry
opt-in, monster only

Refused server-side for worm and witch regardless of what the UI sends. Every 0DTE ticket carries a mandatory exit ladder and a loud warning.

Why: On 2026-07-28 SPY's whole range was 0.9% — nothing was suggested — while the SPXW 7450 call went 1.15 to 9.60. A scanner asking 'did it move?' cannot see gamma.

8. Exit ladder — worth more than the entry
Mechanical, not signal-based. An entry model cannot see a top; it is not built to.
Same day
trail 35%

Sell 25% at +50%, another 35% at +100%, trail the rest 35% off the closing high, cut everything at −40%, flat by 15:30 ET.

1–2 days
trail 30%

Sell 50% at +40%, another 25% at +100%, trail the rest 30% off the closing high, cut everything at −50%.

3+ days
trail 30%

Sell 50% at +40%, another 25% at +100%, trail the rest 30% off the closing high, cut everything at −50%.

Why the first rung exists: a trailing stop mathematically cannot protect a gain smaller than t/(1−t) — a 30% trail needs the trade to peak above +43%, a 35% trail above +54%. Below that line the trail sits at or under your entry, so a correct trade that peaks modestly finishes flat. MU's 850 call peaked at +44% and the trail alone returned −1.9%, worse than simply holding. The first rung banks part of the position just below that line. It is not free: on the SPXW 0DTE that ran 6x it costs roughly 47 points of return, which is why the 0DTE rung is smaller and later than the short-dated one.

Two counterintuitive findings, both measured: the trail is judged on the bar CLOSE, not the intrabar low (+169% vs +72% on the same policy and bars — a 0DTE routinely wicks 40% inside one 5m bar without the move ending). And the 0DTE trail is the WIDEST, not the tightest: short-dated means noisy, and the 15:30 ET time stop does the protecting.

9. Price freshness
The bug underneath most bad entries. This data plan has no live trade feed.
Stale threshold
90s

A live bridge quote is never more than a couple of seconds old. Anything past this is not a tradeable price.

Delayed fallback
~15 minutes

Polygon returns no lastTrade on this plan, so the price silently falls back to the day aggregate — which lags. Hits priced this way are stamped DELAYED on the card.

Why: A TXT call was journalled at 3:52 PM with entry 90.59. TXT actually traded ~90.05 then; 90.59 was its price at 3:35. Every gate scored a price the market had already left.

Short-dated suppression
≤ 3 DTE

A stale price cannot issue a short-dated ticket at all. Fine on a monthly, disqualifying on a 0DTE.

10. Alerts and the running tape
An alert fires once per setup. A tape prints when state changes. Opposite defaults.
Chase (long)
5m RSI ≥ 70

Combined with price extended past VWAP, the push is labelled CHASE — the move already happened.

Why: An INOD alert arrived with 5m RSI at 71.6 and price 4.1% above VWAP. Every guard for this existed; none were wired into the alert path.

Chase (short)
5m RSI ≤ 30

The mirror, for puts.

Stretched vs VWAP
2%

Distance from the session's average price that counts as extended.

Both timeframes, always
5m + daily

INOD was RSI 27 daily and 72 on the 5m at the same moment. Quoting one timeframe misleads whichever you pick.

Tape reprint
5 pts / 0.25% / 5 min

A scanner line reprints when confidence moves a bucket, price moves a bucket, or the slot rolls over.

Why: It used to key on the contract alone, which never changes — so each suggestion printed one line ever and the tape froze at five.

What this system does not do

It never places orders. Every ticket is a suggestion you have to click. Nothing here trades for you.

It cannot buy the low. Every gate is confirmation-based, so it enters after a turn proves itself. A rule that does not wait is the rule that buys capitulation lows.

It cannot sell the high. Nothing knows a top in advance. The trail captures a share of the move.

Its thresholds are calibrated on a small sample. They are defaults, not laws, and should be re-swept as the journal fills. The history page is the scorecard that tells you whether any of this is working.