$CRCL-20.11%$NBIS+0.67%called by @SteveUrkelDude$AXTI+6.21%called by @PolarizingLit$SNDK0.00%$ONTO+4.61%$RKLB-2.84%called by @SteveUrkelDude$GEV+3.03%$NKTR-1.86%called by @LTbioinvestor$MP+0.02%$ALAB-1.70%$AAOI+18.94%called by @MarcJacksonLA$AMD+1.33%$INTC+0.11%$CRML-3.27%$AEHR+5.49%called by @RodmanM1$MU-2.18%called by @SteveUrkelDude$OPTX+4.09%$CRCL-20.11%$NBIS+0.67%called by @SteveUrkelDude$AXTI+6.21%called by @PolarizingLit$SNDK0.00%$ONTO+4.61%$RKLB-2.84%called by @SteveUrkelDude$GEV+3.03%$NKTR-1.86%called by @LTbioinvestor$MP+0.02%$ALAB-1.70%$AAOI+18.94%called by @MarcJacksonLA$AMD+1.33%$INTC+0.11%$CRML-3.27%$AEHR+5.49%called by @RodmanM1$MU-2.18%called by @SteveUrkelDude$OPTX+4.09%
Morning BriefingTuesday, Jun 9, 2026
Buy Zone5 picks: ONDS, SMCI, NVTS…
Exit Alerts0 warnings issued
Fear & GreedGREED67
SPY ETF+0.78% (Pre-Market)
Livesync 0s ago
Methodology · v4

How we score the crowd.

We surface FinTwit accounts that called the next 50%+ runner before it ran. We rank them by how early they were and how substantive their thesis was. Here's the math.

1 · How we find callers

  1. Scan a 10,000+ ticker universe (NASDAQ + NYSE, current price ≥ $2, run-start price ≥ $3 to filter pump-and-dump pennies). Find every stock that gained 50%+ in the last 90 days. Currently 300 qualified, top 100 carry forward.
  2. For each runner, identify the run-start date — when the price first crossed +50% above its 30-day trailing low.
  3. Reverse-search FinTwit (Nitter + Firecrawl fallback) for $TICKER mentions in the 90 days before run-start.
  4. Filter spam: Discord pumps, Telegram links, news aggregators, volume-bot tweets, basket-spam (5+ cashtags in one tweet), short-conviction rants, and accounts whose handles match aggregator patterns.

2 · How we score

For each (caller, ticker) pair where the caller has ≥1 substantive pre-run mention, we compute a Discovery Score:

score = lead_factor × (0.4 + 0.6 × thesis_depth)
      + frequency_bonus
      + engagement_bonus

lead_factor      = min(earliest_lead_days, 90) / 90
thesis_depth     = regex-derived: position disclosure,
                   DD depth, conviction phrases (0–1)
frequency_bonus  = log(1 + n_pre_run_tweets) × 0.1
engagement_bonus = log10(max_engagement) / 4 × 0.05

multi-runner multiplier:
  × 1.5  if caller flagged 2+ winners
  × 2.0  if caller flagged 3+ winners

Score ranges:

Current top: 0.707 (@MarcJacksonLA).

3 · The 5 strategies (supporting context)

Strategies are not the headline signal — caller calls are. Strategies live as a small "X/5 firing" badge on each ticker page, expandable for detail. The five we track:

4 · Why cross-validation matters

36 of 432 callers in our system have called 2+ different winners pre-run. That's the hardest signal class to fake. A single early call can be luck. Multiple early calls across separate stocks is signal.

5 · What we don't have

6 · Data freshness

Every signal on the site flows from a JSON cache regenerated by cron jobs. Below is the live audit of when each cache was last refreshed, the source feed that powered it, and how many records it currently holds. Refreshed on every page load via /api/data-freshness.

Loading freshness data…

7 · Disclaimer

Discovery candidates are not vetted sources. They've been algorithmically surfaced as having a public pre-run mention of a ticker that subsequently ran. They could be lucky, could be manipulating, could be substantive. Our score is a starting point for your due diligence, not a recommendation. Do your own research and consult a financial professional before trading.


Pipeline source: AgentTrad/scripts/detect_runners_3mo.py, personal/scripts/discover_sources.py. Cache: data/cache/runners_3mo.json, data/cache/shotcallers.json.