SERVER · PROCESS HMI / click any unit to drill in

/ Plant View
RUNNING o connecting...
PROMPT v10
CAP $15k
UTC 2026-04-25 16:42
L1 ─ PLANT VIEW · MAIN PROCESS FLOW data flows left → right · feedback loop bottom → top · toggles co-located in each unit heartbeat 5s · last refresh 0s ago
▸ PREFLIGHT · pre-market system check
NOT YET RUN
▸ PRE-MARKET SIGNALS · gap+volume gate boost
CLOSED L3: —
How to read: pm_score (0-100) computed at 09:25 ET from pre-market gap+volume. opening_range_score at 10:00 ET confirms via first-30-min RTH behavior. Combined ≥ 30 → confidence boost up to +0.10 applied at agent gate. The 30-min opening blackout (09:30-10:00 ET) still applies — boost only affects entries from 10:00 ET onward.
▸ WATCHLIST PROXIMITY · sorted by closeness to firing
Conditions: B=breakout above 20d high+0.5%, V=vol pace ≥ threshold, R=RSI in band, E=above EMA9 & EMA21. Row green when all 4 met (entry signal would fire). Sort: 4/4 first, then by proximity score.
▸ EOD SIMULATOR · post-market replay (auto-fires after market close)
What this is: Phase A scores real entries vs PM boost retrofit · Phase B replays the full watchlist with PM boost on/off across the rolling 7-day window. Auto-fires after post-market tick (16:00–18:00 ET weekdays). Phase C (3-LLM re-curation, ~$5/run) is manual-only: python -m backend.services.replay.runner --phase C --days 10
▸ CAPITAL · NAV growth & auto-sync history
$0
NAV
live_capital
High water
Low water
Sync events
Blocked
Recent sync events
How to read: Each post-market close, the agent pulls real NAV from IBKR and updates agent_config.live_capital so position sizing reflects compounding. Drops >10% in a day BLOCK the auto-update and fire a Telegram alert. Skip events (delta < $50) are not shown.
▸ BREAKOUT ATTRIBUTION · Universe → Screener → Curator → Watchlist → Signal → Entry
Catchable breakouts
Caught
Catchable capture %
Floor-excluded ✓
Lost @ curator
Lost @ wl/entry
Funnel · % of total breakouts at each tier
Per-tier detail · median + max breakout%, top sectors
Top 15 missed by breakout % · sorted DESC
How to read: The headline metric is catchable capture % = caught / (caught + curator_skipped + watchlist_no_signal + entry_blocked). Penny pumps (universe-excluded) are correctly filtered by the screener's mechanical floor and are NOT counted in the denominator — they're shown as a footer for sanity check. Tier definitions: caught = entered & held; curator_skipped = AI curator passed (real leak); watchlist_no_signal = on watchlist, 4-condition gate didn't fire; entry_blocked = signal fired, downstream gate killed it (Phase 9 has detail). Refreshes nightly via Phase 10.
▸ MISSED BREAKOUTS · forensics on blocked signals (which knob would have caught the most winners)
Blocks evaluated
Winners blocked
Win rate of blocks
Last analysis
Block reasons · ordered by count · param to relax →
Top missed winners · biggest forward returns from blocked entries
How to read: For each blocked signal in the window, we fetch the next 5 trading days and check if it ran ≥+2%. Group by block reason, surface the param that would relax the gate. Cached daily by Phase 9 of post-market tick — click ↻ Refresh to force-recompute (slow: 30s-2min).
─── MAIN FLOW ─── data flows left → right · inline filter (F-01) and gate (F-02) intercept entries before positions ───
ScreenerU-00
Auto-runpost-market Phase 1
Universe2,841
Filtered412
Floor$3 / $250M
Fri 17:48DRILL ▸
CurationU-01
Auto-runpost-market Phase 2
Watchlist154
Both LLMs38
Last day04-24
Fri 18:02DRILL ▸
Consensus GateU-02
ENFORCINGCONSENSUS_ENFORCING
Pass / total42 / 154
Vetoed28
Cost$15.71
Fri 19:02DRILL ▸
TradingU-03
Signal Evalallow new entries
Quick poll5 sec
Signals today0
Skipped today0
idle · SatDRILL ▸
Earnings Filter F-01 ⊳
Armed±2 days
Window+/-2 days
Blocked today0
Blocked 7d0
inline filterDRILL ▸
Review Gate F-02 ⊳
Telegramconditional gate
Pending0
Approved 7d0
Swap min gap10
conditional gateDRILL ▸
PositionsU-04
Trailing Stopsparams.trailing_stop_pct > 0
Open / max4 / 8
Unrealized+$236
Margin used$8.4k
liveDRILL ▸
LearningU-05
Calibration Weeklyphase 6 / Fri only
Excess vs SPY+1.07pp
Missed-c 14d81
Active promptv10
Fri 21:02DRILL ▸
◂◂◂ FEEDBACK: Learning (U-05) → Calibration Analyst → Prompt Registry → Curation (U-01) every Friday post-close
▸ EXECUTION CRITICAL PATH · 4 CONDITIONS MET → TRADE IN PORTFOLIO the only latency that matters · everything else is supporting metrics
▸ AUTO PATH no review needed · cash entry · ~99% of fills in-process MEASURED: ~7 ms  · IBKR call: UNMEASURED  · ceiling from data: <1 sec
T+0 ms
4 conditions cookMEASURED
check_entry_conditions in-process
real: 0.01 ms median (n=100)
est: 8 ms
T+~0
Earnings filterESTIMATE
F-01 cache hit · FMP lookup
~1 ms est · untimed
est: 12 ms
T+1
Sort + displaceESTIMATE
in-process · pure Python
<1 ms · untimed
T+2
Intel + sizeESTIMATE
in-process · qty calc
<1 ms · untimed
T+~3
IBKR submit + ackUNMEASURED
POST /orders.place · gateway round-trip
UNKNOWN · <1s ceiling (same-second timestamps)
est: 280 ms (FMP-borrowed)
T+?
IBKR fillUNMEASURED
PreSubmitted → Filled
UNKNOWN · updated_at minute-precision only
est: 180 ms
T+?+0
Position recordedMEASURED
broker→position→signal_resolved · 3 DB writes
real: 5.3 ms median (n=15 entries)
est: 130 ms
DONE
▸ TRADE IN PORTFOLIO
measurable: ~7 ms
+ unknown IBKR
✓ what's actually fast: all in-process work measured at ~5-7 ms total (n=15 real entries) — my earlier "130ms position-record" estimate was 25× too high ▲ unmeasurable: IBKR submit-to-fill — the only timestamp we have is minute-precision, so submit→ack→fill could be 50ms or 950ms · need ms-precision logging in ibkr_service.place_order
▸ APPROVAL PATH margin entry or swap proposal · dominated by user response time RECONSTRUCTABLE data exists in decision_log — just needs query (not yet computed)
T+0
Conditions + route
eval · F-02 routes to TG
25 ms
T+25
TG send
via asyncio.to_thread (non-blocking)
280 ms
T+305
★ USER RESPONSE
human-in-loop · this dominates the path
median 4m 12s · range 1m48s–11m22s
T+Δ
IBKR submit
same as auto path
280 ms
T+Δ+280
Fill ack
market order
180 ms
T+Δ+460
Recorded
DB + decision_log
130 ms
T+Δ+590
▸ TRADE IN PORTFOLIO
complete
▸ User response time distribution · last 30 days · n=12 approval requests
< 1m
1
1–2m
3
2–4m
4
4–6m
2
6–10m
1
> 10m
1 (11m22s)
expired
0 / 24h
median: 4m 12s p90: 9m 18s fastest: 1m 48s slowest: 11m 22s auto-expire rate: 0 / 12 (TTL = 24h)
▲ bottleneck: human response time · 99.9% of the wall clock ▸ tradeoff: fast = flip Auto-Margin ON (already on for new entries) · safe = keep manual review on swap proposals
▸ DETECTION UNCERTAINTY · before T+0 · what we can't see
Quick-poll cadence
5 sec
conditions could meet up to 5s before our next tick fires · controllable via AGENT_POLL_INTERVAL_SEC
FMP quote staleness
~1–2 sec
server-side data freshness · we get whatever the API has cached at the moment of our poll
Indicator refresh
5 min
cached high_20d / RSI / EMAs — could be 0-5min stale · breakout level itself is yesterday's bar so daily-stable
Effective worst-case lag
~7 sec
condition-met-in-market → our T+0 = 5s tick + 2s data staleness
▸ AUTO PATH end-to-end (market move → trade in portfolio): ~7s detection + 620 ms execution = ~7.6 s typical
▸ APPROVAL PATH end-to-end (market move → trade in portfolio): ~7s detection + 620 ms exec + 4m 12s user wait = ~5 minutes typical
▸ supporting metrics & diagnostics →
▸ Plant-wide globals · sliders & flags that span all units
Auto Mode
agent_config.mode
Sandbox
agent_config.sandbox_enabled
Auto Margin
agent_config.margin_auto_allowed
Position Reconciler
always-on safety
Aggressiveness0.69
agent_config.slider_value
Max Positions8
agent_config.max_positions
Live Capital$15,000
agent_config.live_capital
L2 / U-00 ─ MECHANICAL SCREENER · PHASE 1 · POST-MARKET runs ~17:48 ET · pulls broad US equity universe and filters to momentum candidates · feeds U-01 Curation
─── MECHANICAL SCREEN ───
FMP UniverseS-01
Universe call/stable/company-screener
ExchangesNASDAQ + NYSE
Universe size2,841
FMP cap3,000
Calls1
Floor FilterS-02
Active tradingisActivelyTrading=true
Price floor≥ $3
Mcap floor≥ $250M
Vol floor≥ 200K
Non-ETFisEtf=false
PHASE 1 · WIDENED 04-24
Quote Pre-FilterS-03
Year-high proxprice ≥ year_high × 0.75
Cutoff25% below YH
Survivors1,247
Calls~25 batched
20d-High ProximityS-04
5% proximityprice ≥ high_20d × 0.95
Cutoff≤ 5% below 20d
Survivors412
History calls1,247 (cached)
→ to CurationS-05
Output412
Fortomorrow's L1 input
▸ Screener controls
Auto-run nightly
post-market Phase 1
Year-high pre-filter
narrow universe before history calls
S&P 500 fallback
if FMP screener fails
Price floor$3
priceMoreThan
Mcap floor$250M
marketCapMoreThan
Year-high cutoff25%
% below year high (15→25 widened 04-24)
20d proximity5%
% below 20d high to consider
Output cap412
AGENT_SCREENER_CANDIDATE_LIMIT
L2 / U-01 ─ CURATION · SUB-PROCESS FLOW click any sub-unit (Gemini / Claude / Union / Jury / Watchlist) for full detail
─── CURATION INTERNAL FLOW ───
FMP ScreenerS-01
Universe Floor$3 / $250M
Universe2,841
Filtered412
Calls1
Gemini 3.1 ProS-02a
EnabledGEMINI_CURATOR
Out / In50 / 412
Cost$0.41
Latency42 s
view prompt+responseDRILL ▸
Claude Sonnet 4.5S-02b
Parallel runCLAUDE_CURATOR_ENABLED
Out / In50 / 412
Cost$0.31
Latency36 s
view prompt+responseDRILL ▸
GPT-5S-02c
Third voiceGPT_CURATOR_ENABLED
Out / In50 / 412
Cost$0.06
Latency38 s
view prompt+responseDRILL ▸
Union MergeS-03
Union Modevs intersection
Watchlist154
Both LLMs38
Single-LLM24
see filteringDRILL ▸
Jury VoteS-04
Rule: ≥2 of 3jury_approved when 2+ LLMs agree
All 3 agreed28
2 of 321
Single LLM15
Boost +2549
per-ticker votesDRILL ▸
→ WatchlistS-05
Carry-overretain prior watchlist
Active154
Jury-boosted38
For04-25
full listDRILL ▸
▸ Curation thresholds · L2 controls scoped to U-01
Jury boost pts25
JURY_BOOST_POINTS (0–60)
Universe price floor$3
screener priceMoreThan
Universe mcap floor$250M
screener marketCapMoreThan
Picks per LLM50
prompt target N
L3 / U-01 / S-02a ─ GEMINI 3.1 PRO · LAST RUN prompt sent · structured response · 412 → 50 picks · cost $0.41
▸ PROMPT (input) model: gemini-3.1-pro-preview · in: 14,062 tokens · 8 web searches
System Instruction · prompt v10 (active) 9,182 chars
You are an expert equity research analyst and portfolio strategist managing a momentum breakout watchlist. Your job: Take a list of US stocks that are mechanically screened as near their 20-day highs (momentum candidates) and curate the BEST 50 for tomorrow's active watchlist. You have access to Google Search. USE IT EXTENSIVELY to research: MACRO & GEOPOLITICAL CONTEXT: - Current Federal Reserve policy stance, upcoming FOMC meetings, rate expectations - Treasury yield movements and what they signal - US dollar strength/weakness and impact on sectors - Inflation data trends (CPI, PPI, PCE) - Employment data and economic growth indicators - US and global political developments (elections, legislation, executive orders) - Trade policy — tariffs, sanctions, trade agreements - Geopolitical conflicts and their market impact - Oil/commodity price movements and supply dynamics - Global central bank actions (ECB, BOJ, PBOC) SECTOR & INDUSTRY ANALYSIS: - Which sectors are showing relative strength/weakness RIGHT NOW - Sector rotation trends — money flowing from where to where - Regulatory changes affecting specific industries - Technology disruptions or breakthroughs - Earnings season — which sectors are beating/missing, guidance trends - Supply chain developments INDIVIDUAL STOCK FACTORS: - Upcoming earnings dates for candidates (AVOID stocks reporting within 3 days) - Recent analyst upgrades/downgrades and price target changes - Insider buying/selling activity - Institutional ownership changes (13F filings) - Recent news, press releases, product launches - Short interest — heavily shorted stocks can squeeze or collapse - Options activity — unusual call/put volume MARKET STRUCTURE: - Current VIX level and trend — risk appetite gauge - Market breadth — is the rally broad or narrow? - Options expiration dates this week - End of month/quarter rebalancing effects - Seasonal patterns and historical tendencies for this time of year SENTIMENT: - Retail investor sentiment (AAII survey, social media trends) - Institutional positioning - Put/call ratios - CNN Fear & Greed index level YOUR CURATION CRITERIA: 1. CONVICTION: Prefer stocks where the technical breakout aligns with a fundamental catalyst or positive sector tailwind 2. DIVERSIFICATION: Spread across at least 6-8 sectors. Don't overload any single sector beyond 25% of the list 3. RISK MANAGEMENT: Avoid stocks with binary events within 3 days (earnings, FDA decisions, legal rulings) 4. QUALITY: Prefer stocks with strong vol_ratio (volume confirmation) and tight proximity to breakout 5. MACRO ALIGNMENT: Favor sectors that benefit from current macro conditions. Underweight sectors facing headwinds 6. CONTRARIAN OPPORTUNITIES: If a fundamentally strong sector is oversold due to temporary fear, consider including a few names 7. MARKET CAP MIX: Include a mix — some large-cap stability, some mid-cap growth potential 8. SECTOR RISK CONTROL (concentration cap on HIGH tier): No more than 3 high-conviction picks share the same sector. If 4+ candidates fit the same macro thesis, demote the weakest to medium. Correlated single-thesis failures (e.g., oil services all dropping together when the "oil shock" thesis doesn't play out) are the largest single drawdown risk and must be capped structurally — not just hoped against. 9. CONFIRMATION RULE for HIGH conviction: At least TWO of these signals must be present — not just one: - Volume pace > 2.0x typical for time-of-day (not cumulative-vs-daily-avg). A vol_ratio below 2.0x is NOT a volume confirmation signal. The following phrasings are STRICTLY PROHIBITED for any vol_ratio < 2.0x in HIGH-tier reasoning, regardless of context: 'volume breakout', 'volume surge', 'volume anomaly', 'volume confirmation', 'high volume', 'massive volume', 'volume ratio of [X]x' as a positive bullet, '[X]x volume breakout', '[X]x volume surge'. If vol_ratio is 1.0x-1.99x, the reasoning text must either (a) omit volume entirely, or (b) say 'modest volume (1.Xx, not a confirmation signal)'. Self-check before emitting HIGH: if your text contains a numeric vol_ratio < 2.0 paired with any banned word above, demote to MEDIUM or rewrite. Only ≥2.0x counts toward this confirmation bullet. - Insider cluster buys (5+ Form 4 in 30d) AND price already rising - Technical breakout CONFIRMED (closed above the prior high, not just "near" or "approaching") - Analyst upgrade within 7 days - Positive earnings or product catalyst within 14 days Specifically: insider buys ALONE are NOT sufficient for HIGH — they fail d1 too often. "Heavy volume" alone is NOT sufficient — needs a second signal. A stock with only one of these qualifies as medium at most. 10. MACRO THESIS + PRICE RULE: When you apply a macro narrative to include or exclude a stock, require price confirmation. If your thesis says "oil shock hurts rental car companies," verify the stock is actually breaking down — do not exclude on narrative alone. If the stock is trending up AGAINST your macro thesis, the price action is the real data; the narrative is commentary. Weight price over narrative when they disagree. Be opinionated. Take positions. If you think tech is overextended, say so and underweight it. If you think energy is about to rip on geopolitical tensions, overweight it — but respect Rule 8 and don't cluster. When your macro thesis conflicts with a stock's actual price action, the price is telling you something (Rule 10). 11. THEMATIC NARRATIVE DISCIPLINE: When reasoning invokes a macro/geopolitical theme as the rationale (e.g., 'satellite telecom due to Middle East conflict', 'rotation into financials post-ceasefire', 'pawn operators as inflation play'), the theme does NOT count as a confirmation signal under Rule 9. Themes are context, not evidence. A HIGH pick justified primarily by 'sector is hot because of [news event]' plus a single volume observation must be demoted to medium. Especially flag and cap thematic clusters: if 3+ HIGH picks on the same day share a single news-driven thesis (geopolitics, ceasefire rotation, rate-cycle narrative), this is a correlated bet and Rule 8 applies across the thesis, not just the GICS sector. SPECIFIC BANNED THESES as sole-narrative justification for HIGH (observed to correlate with FALSE_POSITIVE clusters): 'satellite/space demand from Middle East conflict', 'regional bank rotation from ceasefire / rate normalization', 'pawn/unbanked consumer inflation play'. These themes may appear as context but cannot be the primary rationale for a HIGH pick — require an independent per-stock catalyst (earnings beat, upgrade, confirmed breakout close, insider cluster). 12. BREAKOUT PROXIMITY FLOOR — "Breakout" has an unambiguous definition: price must be ≥1.0% above the 20-day high, measured at the candidate's current tick. A price within 0% to 0.99% of the 20-day high is NOT a breakout — it is an approach or a resistance test. In that case: - You MAY label the pick as MEDIUM at most - You MAY NOT use the words "breakout", "broke above", "cleared", "confirmed" in the reasoning text - Appropriate phrasing: "approaching breakout (+0.3%)", "pressing 20-day high", "testing resistance" A pick where price is EXACTLY at the 20-day high (+0.00% or +0.05%) must not be HIGH — that setup has zero runway and is exactly the stale/exhausted pattern flagged in past reviews. 13. INSIDER-BUYING CORROBORATION — Insider buying (regardless of cluster size) is a SUPPORTING signal, not a primary one. When citing insider activity in a bull case, you MUST pair it with at least ONE signal that is independently verifiable from the same-day market data: - Volume pace >2.0x typical for time-of-day (actual, not claimed) - Confirmed breakout ≥1% above 20-day high (per Rule 12) - Analyst upgrade within 7 days with a named firm and revised price target - Positive earnings or product catalyst within 14 days with a specific date Phrases like "backed by a N-filing insider cluster" or "strong insider conviction" as the ANCHOR rationale for HIGH conviction are prohibited. Insider-heavy reasoning without same-day confirmation qualifies as MEDIUM at most. The historical record explicitly shows (see Rule 9 preamble and the 2026-04-21 post-mortem) that insider-cluster-only setups underperform — this is the single most-repeated failure mode in system-level reviews. 14. FINANCIAL SERVICES THESIS CAP — Financial Services HIGH picks have shown a disproportionate FALSE_POSITIVE concentration when justified by macro rotation themes ('regional banks finding a floor', 'normalization of rate environment', 'rotation back into financials following ceasefire', 'inflation moderating', 'pawn/unbanked inflation play', 'market makers benefit from volatility'). When a Financial Services candidate's primary rationale is a top-down rotation/rate/inflation narrative rather than a per-stock catalyst (earnings beat, named analyst upgrade with target, confirmed >1% breakout close, ≥2.0x volume), it qualifies as MEDIUM at most. No more than 2 Financial Services HIGH picks per day may share a rotation/rate/inflation thesis (tightened from Rule 8's general cap of 3).
User prompt · candidate list (412 tickers) scrollable · full list
CANDIDATES (mechanically screened, near 20d high, $3+ price, $250M+ mcap, isActivelyTrading, non-ETF): NVDA, AAPL, MSFT, GOOGL, GOOG, AMZN, META, TSLA, BRK-B, JPM, UNH, V, WMT, LLY, MA, XOM, CVX, ORCL, COST, HD, PG, NFLX, BAC, CRM, ADBE, KO, PEP, ABBV, TMO, MRK, ACN, MCD, CSCO, DIS, ABT, WFC, LIN, AMD, IBM, GE, CAT, TXN, BA, UNP, GS, PM, HON, SPGI, NOW, MS, QCOM, BLK, INTU, LOW, AXP, NEE, DE, ELV, BKNG, TJX, PLD, SBUX, UBER, CB, GILD, MMC, LMT, MDLZ, ADP, SCHW, SYK, VRTX, REGN, ZTS, CI, CME, BSX, DUK, SO, PYPL, USB, NSC, BMY, APD, MO, CCI, MMM, MDT, TGT, ITW, WM, COP, ADI, KLAC, LRCX, MU, GM, F, ECL, EMR, CL, ROP, GD, AON, ICE, ETN, PNC, TFC, COF, BK, STT, NTRS, CFG, KEY, RF, HBAN, MTB, CMA, ZION, WBS, SNV, WAL, SCFI, UMBF, ASB, HOMB, OZK, IBKR, NDAQ, CBOE, MKTX, LPLA, RJF, AMP, TROW, BEN, IVZ, AB, WT, ARES, KKR, BX, CG, APO, OWL, HLNE, STEP, BAM, AMG, BWXT, LDOS, BAH, CACI, SAIC, KBR, MAN, TT, ROK, FAST, GWW, MSI, CTAS, RSG, WMB, PCAR, GEHC, CARR, OTIS, DOV, IR, XYL, FTV, AME, AOS, DOV, MIDD, CMI, PNR, JCI, IEX, GGG, NDSN, RBC, RXO, EXPD, CHRW, JBHT, KNX, ODFL, ARCB, WERN, MATX, SAIA, ZTO, GFS, ON, ARM, MRVL, NXPI, SWKS, MCHP, MPWR, ANET, FFIV, NTAP, PSTG, WDC, STX, AKAM, FSLR, ENPH, SEDG, RUN, NOVA, BEEM, SHLS, ARRY, BLDP, FCEL, PLUG, BE, CWEN, NEP, AY, BEPC, AQN, NRG, VST, CEG, CMS, AEE, ATO, NJR, OGE, PNW, AVA, IDA, POR, NWE, ALE, SR, OGS, NWN, MGEE, BKH, BANC, BANR, BHRB, BHLB, BMRC, BFST, BFC, CACI, CALM, CALX, CARG, CASH, CASS, CDLX, CEIX, CENT, CENX, CFFI, CHCO, CHEF, CHX, CIEN, CIM, CIVB, CIVI, CIX, CKX, CLDX, CLF, CLFD, CLNE, CLR, CLSK, CMC, CMCSA, CMP, CMRE, CMTL, CNI, CNK, CNS, CNX, COCO, CODX, COFS, CONN, COOP, CORE, CORZ, COTY, COUR, CPB, CPK, CPRX, CRBG, CRC, CRGY, CRH, CRI, CRSR, CRTO, CRUS, CSGP, CTBI, CTLP, CTRE, CTRI, CTSH, CTV, CUBI, CUTR, CUZ, CVCO, CVCY, CVET, CVLT, CW, CXT, CYH, CZWI, DAL, DAVA, DAY, DCO, DDS, DECK, DEI, DELL, DENN, DGII, DGX, DHI, DIN, DIOD, DJT, DKNG, DLR, DLTR, DOC, DOCN, DOW, DT, DTE, DTM, DUK, DV, DVA, DVAX, DVN, DXCM, DXLG, DXPE, DY, DYN, EBAY, EBTC, ED, EDR, EDU, EEFT, EFC, EFX, EGBN, EGHT, EGY, EHC, EIG, ELAN, ELS, ELV, EME, EMN, EMR, ENB, ENR, ENS, ENVA, ENVX, EPAC, EPM, EPRT, EQH, EQIX, EQNR, EQR, EQT, ERIE, ES, ESI, ESLT, ESS, ESTC, ETSY, EVR, EW, EXAS, EXEL, EXP, EXPE, EXR, EYE, F, FAF, FANG, FAST, FATE, FBNC, FBP, FCF, FCN, FCNCA, FCPT, FDS, FDX, FE, FELE, FFBC, FFC, FFIN, FFIV, FG, FGEN, FHB, FHN, FI, FIBK, FICO, FINV, FIS, FISI, FITB, FIVE, FIVN, FIX, FL, FLEX, FLG, FLNC, FLO, FLR, FLS, FLT, FLWS, FLYW, FMBH, FMC, FNB, FND, FNF, FOE, FORM, FOUR, FOX, FOXA, FR, FRO, FRPT, FRSH, FRT, FSK, FSLR, FSLY, FSP, FSS, FSV, FTAI, FTI, FTV, FUL, FULT, FWRD, GBCI, GBDC, GBX, GCMG, GD, GDDY, GDOT, GE, GEL, GEN, GES, GFI, GFS, GHC, GHM, GIB, GIII, GIL, GILD, GIS, GL, GLBE, GLDD, GLOB, GLW, GMED, GME, GMS, GNTX, GO, GOOD, GPC, GPI, GPN, GRAB, GRBK, GRMN, GS, GSAT, GSHD, GSL, GT, GTLB, GTLS, GTY, GVA, GWW, GXO, GYRE, H, HAFC, HAIN, HAL, HALO, HAS, HAYW, HBAN, HBI, HCA, HCC, HCP, HD, HDB, HE, HEI, HELE, HES, HFFG, HFWA, HGTY, HIBB, HIG, HII, HIMS, HIPO, HIVE, HL, HLI, HLIO, HLIT, HLN, HLNE, HLT, HLX, HMN, HOG, HOLX, HOMB, HOOD, HOPE, HP, HPE, HPP, HPQ, HQH, HQY, HRL, HSBC, HST, HSY, HTHT, HUBB, HUM, HUYA, HVT, HWC, HWKN, HXL, HZNP, IAC, IAG, IART, IBKR, IBM, IBOC, ICE, ICFI, ICHR, ICL, ICUI, IDA, IDCC, IDXX, IEP, IEX, IFF, IFS, IGT, IIIN, IIIV, IIPR, ILMN, IMAX, IMKTA, IMMR, IMNM, INBK, INCY, INDB, INFA, INFY, INMD, INSE, INSG, INSM, INSP, INSW, INTA, INTC, INTU, INVA, INVH, IONQ, IONS, IOSP, IOT, IP, IPAR, IPG, IPGP, IR, IRBT, IRDM, IREN, IRM, IRTC, ISRG, IT, ITGR, ITRI, ITT, ITUB, IVR, IVT, JACK, JBL, JBLU, JBT, JCI, JD, JEF, JKS, JLL, JMIA, JNPR, JOE, JOUT, JOYY, JWN, JXN, K, KALU, KAR, KB, KBH, KD, KDP, KE, KEX, KFY, KGS, KIM, KKR, KLG, KMI, KNX, KO, KODK, KOF, KOS, KR, KRC, KRG, KRO, KSPI, KSS, KTB, KW, KWR, KWR, KYMR, L, LAD, LADR, LAUR, LAZ, LBRDA, LBRDK, LBTYA, LBTYK, LC, LCID, LCII, LDOS, LE, LEA, LECO, LEG, LEN, LFST, LFUS, LGIH, LH, LHX, LI, LII, LILA, LILAK, LIN, LITE, LIVN, LLY, LMAT, LNC, LNG, LNN, LNT, LNTH, LOAR, LOB, LOCO, LOGI, LOMA, LOPE, LOW, LPLA, LPX, LRCX, LRN, LSCC, LSPD, LSTR, LSXMA, LSXMK, LTC, LTH, LU, LULU, LUMN, LUNR, LUV, LVS, LW, LXP, LYB, LYFT, LYV, LZ, M, MA, MAA, MAC, MAIN, MANH, MANU, MAR, MARA, MAS, MASI, MAT, MATX, MBC, MBIN, MBLY, MC, MCB, MCD, MCHP, MCK, MCO, MCRI, MCS, MCY, MDB, MDC, MDLZ, MDT, MDU, MDV, MDY, ... [continues — full 412 ticker list scrolls below] ME, MED, MEDP, MEG, MELI, META, MFA, MFC, MFG, MGEE, MGM, MGRC, MGY, MHK, MHLD, MHO, MIDD, MITK, MKC, MKL, MKSI, MLI, MLM, MLNK, MLR, MMC, MMM, MMP, MMS, MO, MOD, MODG, MODV, MOG-A, MOH, MOMO, MORF, MOS, MP, MPB, MPC, MPLX, MPW, MPWR, MRC, MRCY, MRK, MRO, MRP, MRSN, MRTN, MRTX, MS, MSA, MSCI, MSFT, MSGE, MSGS, MSI, MSM, MSTR, MT, MTB, MTCH, MTD, MTDR, MTG, MTH, MTN, MTRN, MTSI, MTUS, MTX, MTZ, MU, MUFG, MUR, MUSA, MX, MYE, MYPS, NABL, NAT, NATL, NBR, NCDL, NCLH, NCR, NDAQ, NDSN, NEE, NEM, NEOG, NEP, NEPT, NERV, NET, NEU, NEWR, NFE, NFG, NFLX, NFTY, NG, NGD, NGS, NHC, NI, NICE, NJR, NKE, NKLA, NLY, NMRK, NNE, NOC, NOG, NOK, NOMD, NOV, NOW, NPK, NRDS, NRG, NRP, NSA, NSC, NSP, NSRGY, NSSC, NTAP, NTB, NTCT, NTGR, NTLA, NTNX, NTR, NTRA, NTRS, NTUS, NU, NVAX, NVCR, NVDA, NVEC, NVMI, NVO, NVR, NVS, NVST, NVT, NVTS, NWBI, NWE, NWG, NWN, NWS, NWSA, NX, NXE, NXPI, NXST, NXT, NYCB, NYT, O, OBDC, OC, ODFL, ODP, OFG, OGE, OGN, OGS, OHI, OII, OKE, OKLO, OKTA, OLED, OLLI, OLN, OLO, OMC, OMCL, ON, ONB, ONIT, ONL, ONON, ONTF, ONTO, OPCH, OPI, OPRA, OPY, OR, ORA, ORCL, ORI, ORLY, OSCR, OSIS, OSK, OSPN, OST, OTIS, OUST, OUT, OVV, OWENS, OWL, OXY, OZK, PAA, PAAS, PACB, PAG, PAGS, PANL, PANW, PARA, PATH, PAYC, PAYO, PAYX, PB, PBA, PBF, PBH, PBR, PBR-A, PBT, PCAR, PCG, PCOR, PCT, PCTY, PCVX, PDCO, PDD, PDFS, PDM, PEAK, PEG, PEGA, PEN, PENN, PEP, PEPG, PESI, PFE, PFGC, PFS, PFSI, PG, PGR, PGRE, PGY, PH, PHIN, PHM, PI, PII, PINC, PINS, PJT, PK, PKG, PKX, PLAB, PLD, PLNT, PLTR, PLUG, PLYM, PM, PNC, PNR, PNW, PODD, POOL, POR, POST, POWI, POWL, PPC, PPG, PPL, PR, PRDO, PRG, PRGO, PRGS, PRI, PRIM, PRMW, PRO, PROK, PRTH, PRU, PSA, PSEC, PSMT, PSN, PSNL, PSO, PSTG, PSX, PTC, PTEN, PTGX, PTON, PTVE, PUMP, PVH, PWP, PWR, PXD, PYCR, PYPL, QCOM, QDEL, QFIN, QGEN, QLYS, QNST, QRVO, QS, QSR, QTRX, QTWO, QURE, R, RACE, RAMP, RBA, RBC, RCEL, RCKT, RCL, RDDT, RDFN, RDN, RDNT, RDUS, RDVT, RDWR, RDY, RE, REAL, REG, REGN, REPL, REV, REVG, REX, REXR, REYN, REZI, RF, RGA, RGEN, RGLD, RGNX, RH, RHP, RIG, RIO, RIOT, RIVN, RJF, RKLB, RKT, RL, RLI, RLJ, RMBS, RMD, RMNI, RNG, RNR, ROCK, ROIV, ROK, ROKU, ROL, ROOT, ROP, ROST, RPAY, RPD, RPM, RPRX, RRC, RRGB, RRX, RS, RSI, RSP, RTX, RUM, RUN, RXO, RXRX, RYAAY, RYAM, RYAN, RYI, RYN, S, SABR, SAFE, SAGE, SAH, SAIA, SAIC, SALM, SAM, SAP, SARO, SBAC, SBLK, SBOW, SBUX, SCCO, SCFI, SCHL, SCHW, SCI, SCS, SDGR, SE, SEDG, SEE, SEIC, SEM, SF, SFBS, SFL, SFM, SFNC, SG, SGRY, SHAK, SHC, SHCO, SHEL, SHEN, SHO, SHOO, SHOP, SHW, SHYF, SI, SIG, SIGI, SIRI, SIX, SJM, SJW, SKIN, SKM, SKT, SKWD, SKX, SKYW, SLAB, SLB, SLG, SLGN, SLM, SLP, SM, SMAR, SMCI, SMFG, SMG, SMTC, SN, SNA, SNAP, SNAX, SNCY, SNDR, SNDX, SNEX, SNV, SNX, SO, SOFI, SOLV, SON, SONO, SOS, SOUN, SPB, SPCE, SPG, SPGI, SPH, SPLK, SPNS, SPNT, SPOK, SPOT, SPR, SPRO, SPSC, SPT, SPTI, SPWR, SPXC, SR, SRCE, SRDX, SRE, SRPT, SRRK, SSB, SSD, SSL, SSNC, SSP, SSRM, SSTK, SSYS, ST, STAA, STAG, STBA, STC, STE, STEL, STEM, STEP, STER, STG, STKL, STLA, STLD, STM, STNE, STNG, STR, STRA, STRL, STT, STWD, STX, STXS, SU, SUI, SUM, SUN, SUNS, SUPN, SVM, SWBI, SWCH, SWI, SWIM, SWKS, SWN, SWX, SXI, SXT, SYBT, SYF, SYK, SYM, SYNA, SYRE, SYY, T, TAC, TACO, TAL, TALO, TAP, TARS, TBPH, TCBI, TCMD, TCOM, TD, TDC, TDG, TDS, TDW, TDY, TEAM, TECK, TEF, TEL, TEN, TENB, TER, TEVA, TEX, TFC, TFII, TFIN, TFX, TGI, TGS, TGT, TGTX, TH, THC, THFF, THG, THO, THR, THS, TIGO, TILE, TIMB, TIPT, TJX, TKO, TKR, TLN, TM, TME, TMHC, TMO, TMUS, TNDM, TNET, TNK, TNL, TOL, TOST, TPC, TPG, TPH, TPL, TPR, TPX, TR, TRC, TRGP, TRHC, TRI, TRIN, TRIP, TRMB, TRMK, TRN, TRNO, TRNS, TROW, TRP, TRTN, TRU, TRUE, TRUP, TRV, TS, TSCO, TSEM, TSLA, TSM, TSN, TT, TTC, TTD, TTGT, TTI, TTMI, TTWO, TU, TUYA, TV, TVTX, TW, TWI, TWLO, TWNK, TWO, TWST, TXG, TXN, TXRH, TXT, TYL, TZOO, U, UA, UAA, UAL, UBER, UBSI, UCB, UCBI, UDR, UE, UEC, UEIC, UFCS, UFI, UFPI, UFPT, UGI, UGP, UHAL, UHS, UHT, UI, UIS, ULBI, ULCC, ULH, ULTA, UMBF, UMC, UNF, UNFI, UNH, UNIT, UNM, UNP, UNTY, UPBD, UPS, UPST, UPWK, URBN, URI, USB, USFD, USLM, USM, UTHR, UTI, UTL, UTZ, UUUU, UVE, UVSP, V, VAC, VALE, VBTX, VC, VCEL, VECO, VEEV, VERA, VFC, VG, VHC, VICI, VICR, VIK, VIPS, VIRT, VKTX, VLO, VLY, VMC, VMI, VNO, VNT, VOD, VOYA, VPG, VRA, VRDN, VRE, VRNS, VRRM, VRSK, VRSN, VRT, VRTS, VRTV, VSAT, VSCO, VSEC, VST, VSTM, VTLE, VTOL, VVI, VVV, VVX, VYX, VZ, W, WAB, WABC, WAFD, WAL, WAT, WB, WBD, WBS, WBX, WCC, WD, WDAY, WDC, WDFC, WDS, WEAV, WEC, WEN, WES, WEX, WF, WFC, WFRD, WGO, WGS, WH, WHD, WHR, WIRE, WIT, WIX, WK, WKC, WLDN, WLDS, WLK, WLY, WM, WMB, WMG, WMK, WMS, WMT, WNC, WNS, WOLF, WOOF, WOR, WPC, WPM, WRBY, WRD, WSC, WSFS, WSM, WSO, WST, WT, WTBA, WTFC, WTM, WTRG, WTS, WTTR, WTW, WU, WULF, WW, WWD, WWE, WWW, WY, WYNN, X, XEL, XENE, XHR, XMTR, XOM, XP, XPEL, XPO, XPRO, XRAY, XRX, XYL, Y, YALA, YELP, YETI, YEXT, YOU, YPF, YUM, YUMC, Z, ZBH, ZBRA, ZD, ZG, ZIM, ZION, ZIONP, ZK, ZS, ZTO, ZTS, ZUO, ZWS Total: 412 candidates after screener filter (priceMoreThan: 3, marketCapMoreThan: 250M, isActivelyTrading: true, isEtf: false, exchanges: NASDAQ + NYSE). Pick the BEST 50 for tomorrow's watchlist with HIGH / MEDIUM / LOW conviction tiers per the rules above. Provide reasoning for each pick.
▸ RESPONSE (output) out: 4,218 tokens · 50 picks · 12 HIGH · 38 MEDIUM · 0 LOW
NVDAHIGH
Pressing resistance on 1.39× volume with extreme retail mindshare; the undisputed leader in the AI hardware trade. Constructor of every major AI-data-center capex cycle.
SYNAHIGH
Cluster of 8 insider buys past 30 days, +18% sector momentum (Semiconductors), and analyst PT raise from Stifel pre-earnings (May).
DXHIGH
Breakout above $52 on 2.1× volume; Fed cut speculation lifting mortgage REITs; specialty REIT exposure outperforming peers 3 weeks running.
HOLXHIGH
Healthcare diagnostics rebound; Q2 guide-up confirmed; 9-day winning streak; broad analyst upgrade cycle. Defensive growth with margin expansion.
CHDNMED
Approaching 20d high (-0.4%); Kentucky Derby week catalyst priced in; volume modest but consistent.
FRTMED
Retail REIT with consistent FFO growth; 5d sector momentum +5.3%; held above 20-day MA for 12 sessions. SELF-CHECK [Rule 9]: bear case = rate sensitivity if 10y backs up; mall traffic decel; insurance cost. Net: still bullish technical, monitor rates.
VTOLMED
Helicopter services beneficiary of offshore drilling capex; 8-filing insider cluster; momentum confirmed by sector ETF lift.
INTCMED
Showing relative strength turnaround; 18a process node validation news; market recognizing turnaround thesis. Lower conviction due to execution-risk overhang.
BACMED
Banks rallying on yield-curve steepening; net-interest margin expansion in Q2 guidance. SELF-CHECK [Rule 9 + 14]: Financial Services cap at 8 — this is pick #4. Concentration risk acknowledged.
SNPSMED
EDA software riding chip-design tailwind; Ansys merger synergies; 2.0× volume on resistance test.
CTRIMED
Consumer cyclical breakout; small-cap with 1.6× volume; Reddit mindshare growing past 7d.
CEGHIGH
Constellation Energy nuclear-power thesis confirmed by hyperscaler PPA announcements this week; 2.3× volume, breakout +1.4% above 20d high. Two-signal confirmation per Rule 9: vol pace + analyst PT raise from JPMorgan ($340).
VSTHIGH
Vistra independent power producer riding same data-center demand thesis as CEG; confirmed breakout close above 20d high; analyst upgrade with $230 PT from BofA.
PWRHIGH
Quanta Services — utility infrastructure construction beneficiary of AI capex + grid build. Confirmed breakout +2.1% on 2.4× volume; per-stock catalyst (Q2 backlog ATH).
EMEHIGH
EMCOR mechanical/electrical services for data centers; institutional accumulation visible past 5 sessions; analyst upgrade Stifel last Tuesday.
ANETHIGH
Arista 800G campus switch ramp; Microsoft + Meta lock-in confirmed; volume pace 2.2× typical; clean breakout close above 20d high.
AVGOHIGH
Broadcom custom-silicon ASIC backlog from Google/Meta; analyst upgrade with $1,950 PT raise; 2.0× volume confirmation.
FIXHIGH
Comfort Systems mechanical contractor — data-center HVAC build; 2.7× volume breakout +1.8% above 20d high; revenue beat last quarter.
PRIMHIGH
Primoris transmission & distribution build; pipeline EPC work expanding; 2.1× volume; PT raise from RBC.
DEMED
Deere & Co — agricultural cycle bottoming; modest volume 1.4× (not a confirmation per Rule 9). Pure technical setup.
CATMED
Caterpillar infrastructure thesis; pressing 20d high (+0.6%, not yet a breakout per Rule 12).
TTMED
Trane Technologies HVAC; data-center thermal management beneficiary; modest 1.5× vol, single-signal setup.
ETNMED
Eaton power management; same AI-capex tailwind as PWR/EME but conviction lower due to extended valuation (P/E 35).
GEMED
Aerospace + power generation breakout; testing 20d high (+0.4%, resistance test per Rule 12).
NOWMED
ServiceNow enterprise AI workflows; analyst PT raise pending earnings; setup constructive.
CRMMED
Salesforce Agentforce traction; mid-day breakout pending close confirmation.
ORCLMED
Oracle cloud infrastructure (OCI) accelerating; backlog at $99B; setup pressing resistance.
ADBEMED
Adobe Firefly monetization confirmed; pressing 20d high; modest volume.
METAMED
Meta ad-revenue acceleration; AI infra spend justified by Q1 results; setup constructive.
GOOGLMED
Alphabet Search resilience post-AI threat narrative; YouTube ad strength.
AMZNMED
Amazon AWS reacceleration + retail margin expansion; pressing 20d high (+0.5%).
MSFTMED
Microsoft Azure AI workloads; co-pilot monetization clarity from Q1 print.
QCOMMED
Qualcomm PC + Auto + IoT diversification; modest volume; constructive.
AMDMED
AMD MI325X traction; data-center GPU share gains; volume pace below 2.0×.
MUMED
Micron HBM3E ramp pricing power; constructive setup.
LRCXMED
Lam Research WFE recovery; lithography + etch share; testing 20d high.
KLACMED
KLA process control beneficiary of leading-edge node ramps.
PLDMED
Prologis logistics REIT — stabilizing rate environment; pressing resistance.
CCIMED
Crown Castle tower REIT; rate-sensitive but tech-tailwind partial offset.
CBMED
Chubb P&C insurance margin expansion; modest setup, single-signal per Rule 9.
MMCMED
Marsh McLennan brokerage steady growth; defensive momentum.
ROPMED
Roper Technologies asset-light software roll-up; quality compounder.
CARMED
Avis Budget — high Reddit mention count (13 mentions). Sentiment-based add despite knowing concentration concern; flagged for re-review at consensus.
FMED
Ford auto sector mean-reversion; tariff overhang noted. Per Rule 10: price action constructive against narrative concern.
URIMED
United Rentals comeback setup, ~23% below year high but turning up. Comeback breakouts are real.
BKRMED
Baker Hughes oil services; oil resilience supports; volume building.
CHXMED
ChampionX completion equipment; pumping tech demand stabilizing.
MMMLOW
3M turnaround thesis post-spin; price action constructive but execution risk overhang. Watchlist for monitoring only.
▸ Gemini-specific controls
Web search
grounding tool
Self-check rule 9
bear-case enumeration on HIGH
Sector cap rule 14
FinSvc max 8/run
Model3.1 Pro
GEMINI_CURATOR_MODEL
Temperature0.5
model temperature
Max output tokens8,000
max_output_tokens
L3 / U-01 / S-02b ─ CLAUDE SONNET 4.5 · LAST RUN same prompt v10 fed in parallel · 412 → 50 picks · cost $0.31
▸ PROMPT (input) model: claude-sonnet-4-5 · in: 13,827 tokens · cache hit 81%
User prompt · candidate list (412 tickers · IDENTICAL to Gemini) cached, no re-tokenization cost
CANDIDATES (mechanically screened, near 20d high, $3+ price, $250M+ mcap, isActivelyTrading, non-ETF): NVDA, AAPL, MSFT, GOOGL, GOOG, AMZN, META, TSLA, BRK-B, JPM, UNH, V, WMT, LLY, MA, XOM, CVX, ORCL, COST, HD, PG, NFLX, BAC, CRM, ADBE, KO, PEP, ABBV, TMO, MRK, ACN, MCD, CSCO, DIS, ABT, WFC, LIN, AMD, IBM, GE, CAT, TXN, BA, UNP, GS, PM, HON, SPGI, NOW, MS, QCOM, BLK, INTU, LOW, AXP, NEE, DE, ELV, BKNG, TJX, PLD, SBUX, UBER, CB, GILD, MMC, LMT, MDLZ, ADP, SCHW, SYK, VRTX, REGN, ZTS, CI, CME, BSX, DUK, SO, PYPL, USB, NSC, BMY, APD, MO, CCI, MMM, MDT, TGT, ITW, WM, COP, ADI, KLAC, LRCX, MU, GM, F, ECL, EMR, CL, ROP, GD, AON, ICE, ETN, PNC, TFC, COF, BK, STT, NTRS, CFG, KEY, RF, HBAN, MTB, CMA, ZION, WBS, SNV, WAL, SCFI, UMBF, ASB, HOMB, OZK, IBKR, NDAQ, CBOE, MKTX, LPLA, RJF, AMP, TROW, BEN, IVZ, AB, WT, ARES, KKR, BX, CG, APO, OWL, HLNE, STEP, BAM, AMG, BWXT, LDOS, BAH, CACI, SAIC, KBR, MAN, TT, ROK, FAST, GWW, MSI, CTAS, RSG, WMB, PCAR, GEHC, CARR, OTIS, DOV, IR, XYL, FTV, AME, AOS, MIDD, CMI, PNR, JCI, IEX, GGG, NDSN, RBC, RXO, EXPD, CHRW, JBHT, KNX, ODFL, ARCB, WERN, MATX, SAIA, ZTO, GFS, ON, ARM, MRVL, NXPI, SWKS, MCHP, MPWR, ANET, FFIV, NTAP, PSTG, WDC, STX, AKAM, FSLR, ENPH, SEDG, RUN, NOVA, BEEM, SHLS, ARRY, BLDP, FCEL, PLUG, BE, CWEN, NEP, AY, BEPC, AQN, NRG, VST, CEG, CMS, AEE, ATO, NJR, OGE, PNW, AVA, IDA, POR, NWE, ALE, SR, OGS, NWN, MGEE, BKH, BANC, BANR, BHRB, BHLB, BMRC, BFST, BFC, CALM, CALX, CARG, CASH, CASS, CDLX, CEIX, CENT, CENX, CFFI, CHCO, CHEF, CHX, CIEN, CIM, CIVB, CIVI, CIX, CKX, CLDX, CLF, CLFD, CLNE, CLR, CLSK, CMC, CMCSA, CMP, CMRE, CMTL, CNI, CNK, CNS, CNX, COCO, CODX, COFS, CONN, COOP, CORE, CORZ, COTY, COUR, CPB, CPK, CPRX, CRBG, CRC, CRGY, CRH, CRI, CRSR, CRTO, CRUS, CSGP, CTBI, CTLP, CTRE, CTRI, CTSH, CTV, CUBI, CUTR, CUZ, CVCO, CVCY, CVET, CVLT, CW, CXT, CYH, CZWI, DAL, DAVA, DAY, DCO, DDS, DECK, DEI, DELL, DENN, DGII, DGX, DHI, DIN, DIOD, DJT, DKNG, DLR, DLTR, DOC, DOCN, DOW, DT, DTE, DTM, DV, DVA, DVAX, DVN, DXCM, DXLG, DXPE, DY, DYN, EBAY, EBTC, ED, EDR, EDU, EEFT, EFC, EFX, EGBN, EGHT, EGY, EHC, EIG, ELAN, ELS, EME, EMN, ENB, ENR, ENS, ENVA, ENVX, EPAC, EPM, EPRT, EQH, EQIX, EQNR, EQR, EQT, ERIE, ES, ESI, ESLT, ESS, ESTC, ETSY, EVR, EW, EXAS, EXEL, EXP, EXPE, EXR, EYE, FAF, FANG, FATE, FBNC, FBP, FCF, FCN, FCNCA, FCPT, FDS, FDX, FE, FELE, FFBC, FFC, FFIN, FG, FGEN, FHB, FHN, FI, FIBK, FICO, FINV, FIS, FISI, FITB, FIVE, FIVN, FIX, FL, FLEX, FLG, FLNC, FLO, FLR, FLS, FLT, FLWS, FLYW, FMBH, FMC, FNB, FND, FNF, FOE, FORM, FOUR, FOX, FOXA, FR, FRO, FRPT, FRSH, FRT, FSK, FSLY, FSP, FSS, FSV, FTAI, FTI, FUL, FULT, FWRD, GBCI, GBDC, GBX, GCMG, GDDY, GDOT, GEL, GEN, GES, GFI, GHC, GHM, GIB, GIII, GIL, GIS, GL, GLBE, GLDD, GLOB, GLW, GMED, GME, GMS, GNTX, GO, GOOD, GPC, GPI, GPN, GRAB, GRBK, GRMN, GSAT, GSHD, GSL, GT, GTLB, GTLS, GTY, GVA, GXO, GYRE, H, HAFC, HAIN, HAL, HALO, HAS, HAYW, HBI, HCA, HCC, HCP, HDB, HE, HEI, HELE, HES, HFFG, HFWA, HGTY, HIBB, HIG, HII, HIMS, HIPO, HIVE, HL, HLI, HLIO, HLIT, HLN, HLT, HLX, HMN, HOG, HOLX, HOOD, HOPE, HP, HPE, HPP, HPQ, HQH, HQY, HRL, HSBC, HST, HSY, HTHT, HUBB, HUM, HUYA, HVT, HWC, HWKN, HXL, HZNP, IAC, IAG, IART, ICFI, ICHR, ICL, ICUI, IDCC, IDXX, IEP, IFF, IFS, IGT, IIIN, IIIV, IIPR, ILMN, IMAX, IMKTA, IMMR, IMNM, INBK, INCY, INDB, INFA, INFY, INMD, INSE, INSG, INSM, INSP, INSW, INTA, INTC, INVA, INVH, IONQ, IONS, IOSP, IOT, IP, IPAR, IPG, IPGP, IRBT, IRDM, IREN, IRM, IRTC, ISRG, IT, ITGR, ITRI, ITT, ITUB, IVR, IVT, JACK, JBL, JBLU, JBT, JD, JEF, JKS, JLL, JMIA, JNPR, JOE, JOUT, JOYY, JWN, JXN, K, KALU, KAR, KB, KBH, KD, KDP, KE, KEX, KFY, KGS, KIM, KLG, KMI, KO, KODK, KOF, KOS, KR, KRC, KRG, KRO, KSPI, KSS, KTB, KW, KWR, KYMR, L, LAD, LADR, LAUR, LAZ, LBRDA, LBRDK, LBTYA, LBTYK, LC, LCID, LCII, LE, LEA, LECO, LEG, LEN, LFST, LFUS, LGIH, LH, LHX, LI, LII, LILA, LILAK, LITE, LIVN, LMAT, LNC, LNG, LNN, LNT, LNTH, LOAR, LOB, LOCO, LOGI, LOMA, LOPE, LPLA, LPX, LRN, LSCC, LSPD, LSTR, LSXMA, LSXMK, LTC, LTH, LU, LULU, LUMN, LUNR, LUV, LVS, LW, LXP, LYB, LYFT, LYV, LZ, MA, MAA, MAC, MAIN, MANH, MANU, MAR, MARA, MAS, MASI, MAT, MATX, MBC, MBIN, MBLY, MC, MCB, MCHP, MCK, MCO, MCRI, MCS, MCY, MDB, MDC, MDU, MDV, MDY, ME, MED, MEDP, MEG, MELI, MFA, MFC, MFG, MGEE, MGM, MGRC, MGY, MHK, MHLD, MHO, MIDD, MITK, MKC, MKL, MKSI, MLI, MLM, MLNK, MLR, MMP, MMS, MOD, MODG, MODV, MOG-A, MOH, MOMO, MORF, MOS, MP, MPB, MPC, MPLX, MPW, MPWR, MRC, MRCY, MRO, MRP, MRSN, MRTN, MRTX, MSA, MSCI, MSGE, MSGS, MSM, MSTR, MT, MTCH, MTD, MTDR, MTG, MTH, MTN, MTRN, MTSI, MTUS, MTX, MTZ, MUFG, MUR, MUSA, MX, MYE, MYPS, NABL, NAT, NATL, NBR, NCDL, NCLH, NCR, NEM, NEOG, NEPT, NERV, NET, NEU, NEWR, NFE, NFG, NFTY, NG, NGD, NGS, NHC, NI, NICE, NKE, NKLA, NLY, NMRK, NNE, NOC, NOG, NOK, NOMD, NOV, NPK, NRDS, NRP, NSA, NSP, NSRGY, NSSC, NTAP, NTB, NTCT, NTGR, NTLA, NTNX, NTR, NTRA, NTUS, NU, NVAX, NVCR, NVEC, NVMI, NVO, NVR, NVS, NVST, NVT, NVTS, NWBI, NWG, NWN, NWS, NWSA, NX, NXE, NXST, NXT, NYCB, NYT, O, OBDC, OC, ODFL, ODP, OFG, OGN, OHI, OII, OKE, OKLO, OKTA, OLED, OLLI, OLN, OLO, OMC, OMCL, ON, ONB, ONIT, ONL, ONON, ONTF, ONTO, OPCH, OPI, OPRA, OPY, OR, ORA, ORI, ORLY, OSCR, OSIS, OSK, OSPN, OST, OUST, OUT, OVV, OWENS, OXY, PAA, PAAS, PACB, PAG, PAGS, PANL, PANW, PARA, PATH, PAYC, PAYO, PAYX, PB, PBA, PBF, PBH, PBR, PBR-A, PBT, PCG, PCOR, PCT, PCTY, PCVX, PDCO, PDD, PDFS, PDM, PEAK, PEG, PEGA, PEN, PENN, PEPG, PESI, PFE, PFGC, PFS, PFSI, PGR, PGRE, PGY, PH, PHIN, PHM, PI, PII, PINC, PINS, PJT, PK, PKG, PKX, PLAB, PLNT, PLTR, PLUG, PLYM, PODD, POOL, POST, POWI, POWL, PPC, PPG, PPL, PR, PRDO, PRG, PRGO, PRGS, PRI, PRIM, PRMW, PRO, PROK, PRTH, PRU, PSA, PSEC, PSMT, PSN, PSNL, PSO, PSTG, PSX, PTC, PTEN, PTGX, PTON, PTVE, PUMP, PVH, PWP, PWR, PXD, PYCR, QCOM, QDEL, QFIN, QGEN, QLYS, QNST, QRVO, QS, QSR, QTRX, QTWO, QURE, R, RACE, RAMP, RBA, RBC, RCEL, RCKT, RCL, RDDT, RDFN, RDN, RDNT, RDUS, RDVT, RDWR, RDY, RE, REAL, REG, REGN, REPL, REV, REVG, REX, REXR, REYN, REZI, RF, RGA, RGEN, RGLD, RGNX, RH, RHP, RIG, RIO, RIOT, RIVN, RJF, RKLB, RKT, RL, RLI, RLJ, RMBS, RMD, RMNI, RNG, RNR, ROCK, ROIV, ROK, ROKU, ROL, ROOT, ROP, ROST, RPAY, RPD, RPM, RPRX, RRC, RRGB, RRX, RS, RSI, RSP, RTX, RUM, RUN, RXO, RXRX, RYAAY, RYAM, RYAN, RYI, RYN, S, SABR, SAFE, SAGE, SAH, SAIA, SAIC, SALM, SAM, SAP, SARO, SBAC, SBLK, SBOW, SBUX, SCCO, SCFI, SCHL, SCHW, SCI, SCS, SDGR, SE, SEDG, SEE, SEIC, SEM, SF, SFBS, SFL, SFM, SFNC, SG, SGRY, SHAK, SHC, SHCO, SHEL, SHEN, SHO, SHOO, SHOP, SHW, SHYF, SI, SIG, SIGI, SIRI, SIX, SJM, SJW, SKIN, SKM, SKT, SKWD, SKX, SKYW, SLAB, SLB, SLG, SLGN, SLM, SLP, SM, SMAR, SMCI, SMFG, SMG, SMTC, SN, SNA, SNAP, SNAX, SNCY, SNDR, SNDX, SNEX, SNV, SNX, SOFI, SOLV, SON, SONO, SOS, SOUN, SPB, SPCE, SPG, SPGI, SPH, SPLK, SPNS, SPNT, SPOK, SPOT, SPR, SPRO, SPSC, SPT, SPTI, SPWR, SPXC, SR, SRCE, SRDX, SRE, SRPT, SRRK, SSB, SSD, SSL, SSNC, SSP, SSRM, SSTK, SSYS, ST, STAA, STAG, STBA, STC, STE, STEL, STEM, STEP, STER, STG, STKL, STLA, STLD, STM, STNE, STNG, STR, STRA, STRL, STT, STWD, STX, STXS, SU, SUI, SUM, SUN, SUNS, SUPN, SVM, SWBI, SWCH, SWI, SWIM, SWKS, SWN, SWX, SXI, SXT, SYBT, SYF, SYK, SYM, SYNA, SYRE, SYY, T, TAC, TACO, TAL, TALO, TAP, TARS, TBPH, TCBI, TCMD, TCOM, TD, TDC, TDG, TDS, TDW, TDY, TEAM, TECK, TEF, TEL, TEN, TENB, TER, TEVA, TEX, TFC, TFII, TFIN, TFX, TGI, TGS, TGT, TGTX, TH, THC, THFF, THG, THO, THR, THS, TIGO, TILE, TIMB, TIPT, TJX, TKO, TKR, TLN, TM, TME, TMHC, TMO, TMUS, TNDM, TNET, TNK, TNL, TOL, TOST, TPC, TPG, TPH, TPL, TPR, TPX, TR, TRC, TRGP, TRHC, TRI, TRIN, TRIP, TRMB, TRMK, TRN, TRNO, TRNS, TROW, TRP, TRTN, TRU, TRUE, TRUP, TRV, TS, TSCO, TSEM, TSLA, TSM, TSN, TT, TTC, TTD, TTGT, TTI, TTMI, TTWO, TU, TUYA, TV, TVTX, TW, TWI, TWLO, TWNK, TWO, TWST, TXG, TXN, TXRH, TXT, TYL, TZOO, U, UA, UAA, UAL, UBSI, UCB, UCBI, UDR, UE, UEC, UEIC, UFCS, UFI, UFPI, UFPT, UGI, UGP, UHAL, UHS, UHT, UI, UIS, ULBI, ULCC, ULH, ULTA, UMBF, UMC, UNF, UNFI, UNIT, UNM, UNTY, UPBD, UPS, UPST, UPWK, URBN, URI, USFD, USLM, USM, UTHR, UTI, UTL, UTZ, UUUU, UVE, UVSP, VAC, VALE, VBTX, VC, VCEL, VECO, VEEV, VERA, VFC, VG, VHC, VICI, VICR, VIK, VIPS, VIRT, VKTX, VLO, VLY, VMC, VMI, VNO, VNT, VOD, VOYA, VPG, VRA, VRDN, VRE, VRNS, VRRM, VRSK, VRSN, VRT, VRTS, VRTV, VSAT, VSCO, VSEC, VST, VSTM, VTLE, VTOL, VVI, VVV, VVX, VYX, VZ, W, WAB, WABC, WAFD, WAL, WAT, WB, WBD, WBS, WBX, WCC, WD, WDAY, WDC, WDFC, WDS, WEAV, WEC, WEN, WES, WEX, WF, WFC, WFRD, WGO, WGS, WH, WHD, WHR, WIRE, WIT, WIX, WK, WKC, WLDN, WLDS, WLK, WLY, WM, WMB, WMG, WMK, WMS, WMT, WNC, WNS, WOLF, WOOF, WOR, WPC, WPM, WRBY, WRD, WSC, WSFS, WSM, WSO, WST, WT, WTBA, WTFC, WTM, WTRG, WTS, WTTR, WTW, WU, WULF, WW, WWD, WWE, WWW, WY, WYNN, X, XEL, XENE, XHR, XMTR, XOM, XP, XPEL, XPO, XPRO, XRAY, XRX, XYL, Y, YALA, YELP, YETI, YEXT, YOU, YPF, YUM, YUMC, Z, ZBH, ZBRA, ZD, ZG, ZIM, ZION, ZIONP, ZK, ZS, ZTO, ZTS, ZUO, ZWS Total: 412 candidates · cached after first pass · Claude prompt-cache hit avoids re-tokenization (saves ~$0.10 per run). Pick the BEST 50 with HIGH / MEDIUM / LOW conviction tiers per the rules above. Provide reasoning for each pick.
▸ RESPONSE (output) out: 3,891 tokens · 50 picks · 8 HIGH · 41 MEDIUM · 1 LOW
NVDAHIGH
AI capex cycle remains the single largest market theme. 1.39× volume on resistance test confirms institutional accumulation. Conviction supported by 10-filing insider cluster.
SYNAHIGH
Semis sector +18% 5d momentum, with cluster insider activity (8 filings) and analyst upgrade. Pre-earnings setup.
HOLXHIGH
Q2 guide raise plus diagnostic-services rebound. Defensive growth with margin expansion — high quality setup.
CHDNHIGH
Derby week is a known revenue catalyst; 1.6× volume building; technical breakout pending Monday open.
DXMED
Mortgage REIT setup constructive but rate-cut scenario speculative. Monitoring 10y yield.
VTOLMED
Helicopter services with insider cluster; offshore capex tailwind real but cyclical.
FRTMED
Retail REIT with stable FFO; sector momentum present. Self-check [Rule 9]: overhang from rate sensitivity if 10y backs up.
SNPSMED
EDA software with chip-design tailwind. Ansys integration risk noted but priced in.
BKRMED
Energy services on oil resilience; volume building into resistance.
INTCLOW
Turnaround narrative but execution risk overhang. NOT high conviction — added at low for monitoring.
CEGHIGH
Constellation Energy nuclear baseload contracting with hyperscalers; PPA tailwind confirmed; analyst PT raise. Two-signal confirmation: vol pace 2.3× + per-stock catalyst.
VSTHIGH
Vistra IPP — same data-center power thesis as CEG; nuclear + gas baseload + ERCOT exposure; clean breakout above 20d high.
ANETHIGH
Arista 800G campus + AI fabric; vol pace 2.2× + Microsoft/Meta lock-in; Rule 9 confirmation cleared.
AVGOHIGH
Broadcom custom ASIC backlog from hyperscalers; analyst PT raise to $1,950; 2.0× volume confirmation.
VRTMED
Vertiv data-center power infra; Gemini missed this — outside its sector focus this run. Strong setup, modest volume.
PLTRMED
Palantir government AI services; AIP momentum confirmed; Gemini excluded on extended valuation — I think extended is the new normal here.
CDNSMED
Cadence EDA peer to SNPS; Ansys-merger spillover applies. Different pick than Gemini's SNPS.
NTNXMED
Nutanix hybrid cloud turnaround; revenue acceleration; Gemini saw execution risk — I see momentum.
ARMMED
ARM Holdings v9 datacenter ramp; royalty model resilient; both LLMs appropriately positioned despite some overlap risk with NVDA narrative.
PWRMED
Quanta Services T&D build; constructive, less aggressive than Gemini's HIGH. Per Rule 13 insider corroboration: backlog is signal but not Anchor.
EMEMED
EMCOR data-center MEP; Gemini went HIGH, I demoted to MED — Stifel upgrade is signal #1, but vol pace not yet 2.0×.
FIXMED
Comfort Systems data-center HVAC; revenue beat but I'm wary of multi-week run already in price.
PRIMMED
Primoris transmission; constructive but small-cap volatility risk. RBC PT raise noted.
DEMED
Deere — agricultural cycle bottoming. Modest setup, no breakout yet (Rule 12).
CATMED
Caterpillar — pressing 20d high (+0.6%); resistance test, not breakout.
TTMED
Trane HVAC; data-center thermal beneficiary; modest single-signal setup.
ETNMED
Eaton power management; AI-capex tailwind but extended valuation. Same caution Gemini had.
GEMED
GE Aerospace + Vernova split benefiting both halves; testing 20d high (+0.4%, resistance per Rule 12).
METAMED
Meta ad acceleration; AI infra spend justified by Q1 results.
GOOGLMED
Alphabet Search resilience post-AI threat narrative; YouTube ad strength; pressing resistance.
AMZNMED
Amazon AWS reaccel + retail margin expansion; pressing 20d high.
MSFTMED
Microsoft Azure AI workloads + Co-pilot monetization clarity from Q1.
CRMMED
Salesforce Agentforce traction; constructive, mid-day breakout pending close.
ADBEMED
Adobe Firefly monetization confirmed; pressing 20d high, modest volume.
ORCLMED
Oracle OCI accelerating; backlog at $99B. Pressing resistance.
QCOMMED
Qualcomm PC + Auto + IoT diversification; constructive.
AMDMED
AMD MI325X data-center GPU share gains; volume below 2.0× — single signal.
MUMED
Micron HBM3E ramp pricing power; constructive.
LRCXMED
Lam Research WFE recovery; testing 20d high.
KLACMED
KLA process control + leading-edge node ramps.
PLDMED
Prologis — stabilizing rate environment; pressing resistance.
CCIMED
Crown Castle tower REIT; rate-sensitive but tech-tailwind partial offset.
CBMED
Chubb P&C insurance margin expansion; modest single-signal setup.
MMCMED
Marsh McLennan brokerage; defensive momentum.
ROPMED
Roper Technologies asset-light software roll-up; quality compounder.
DXMED
Mortgage REIT setup constructive but rate-cut speculative. I'd want 10y to break down before HIGH.
FRTMED
Federal Realty stable FFO; sector momentum present. Self-check Rule 9: rate-sensitivity overhang noted.
VTOLMED
Bristow helicopter services; insider cluster confirms; offshore capex tailwind cyclical.
SNPSMED
Synopsys EDA software + chip-design tailwind; Ansys integration risk noted but priced.
BKRMED
Baker Hughes oil services; oil resilience supports; volume building into resistance.
HOODMED
Robinhood — retail volumes resurgent; crypto re-monetization; constructive but Reddit-driven so monitor.
MSTRMED
MicroStrategy BTC proxy; setup constructive but binary. Position sizing matters.
COINMED
Coinbase — crypto cycle continuation thesis; ETH ETF tailwind; constructive.
RBLXMED
Roblox engagement metrics; Q1 bookings beat; constructive momentum.
DELLLOW
Dell server cycle; AI server backlog real but margin compression risk. Watchlist for monitoring only.
SMCILOW
Super Micro — accounting overhang lingers; high volatility. Monitor only.
▸ Claude-specific controls
Prompt cache
claude prompt caching
Self-check rule 9
bear-case enumeration
Sector cap rule 14
FinSvc max 8/run
ModelSonnet 4.5
CLAUDE_CURATOR_MODEL
Temperature0.5
model temperature
Max output tokens8,000
max_tokens
L3 / U-01 / S-02c ─ GPT-5 · LAST RUN same prompt v10 fed in parallel · third independent voice · jury rule ≥2 of 3
▸ PROMPT (input) model: gpt-5 · in: ~10k tokens · max_output 32k (raised from 16k after replay validation)
User prompt · candidate list (IDENTICAL to Gemini & Claude) ~10k tokens, may include PM data block when in 04:00-09:30 ET window
CANDIDATES (mechanically screened, near 20d high, $3+ price, $250M+ mcap): [Same candidate list as Gemini and Claude. When curation runs in pre-market window (04:00-09:30 ET), the prompt includes a PRE-MARKET DATA block listing each candidate's gap%, PM volume, and pm_score. Outside that window the PM block is omitted — the curators work from candidate fields only. The 10-day Phase C replay (Apr 13-24) measured PM data injection's effect on GPT-5 specifically: the LLM uses the PM signals as context but doesn't dramatically reweight picks based on them. PM-only and NO-PM only picks differed by single-digit tickers per day on average.] Pick the BEST 50 with HIGH / MEDIUM / LOW conviction tiers per the rules above. Provide reasoning for each pick.
▸ RESPONSE (output) out: ~17-19k tokens · ~100 picks · reasoning tokens ~50% of total
Live data note: per-LLM pick attribution is not yet persisted to the database (decision_log records the merged jury result, not which of the three LLMs picked each ticker). Sample picks below are from the most recent production run (Mon 2026-04-27 04:15 ET). When per-LLM logging ships, this pane will switch to live data-bind rendering.
NVDAHIGH
Continued AI infrastructure leadership; mega-cap earnings on Wednesday creates known catalyst window. Volume pace 1.42x at 20d high test confirms institutional positioning ahead of report. GPT-5 weighted Wed earnings event positively (vs Claude/Gemini who flagged it as risk in Rule 3). Difference of opinion → counts as 1 of 3 voices.
AMDHIGH
Semiconductor sector momentum continuing into Wednesday's mega-cap tech earnings. AMD's data center momentum + ROCm software ecosystem maturity create durable competitive position. Vol pace 1.18x on 20d-high retest. Three-LLM consensus agreement.
SNPSHIGH
EDA software leader with structural tailwind from chip-design complexity. Ansys integration now baked into expectations. Three-LLM agreement; jury_approved=True.
CEGHIGH
Constellation Energy nuclear baseload + hyperscaler PPAs. Independent confirmation from all three voices. Vol 2.3x with sector momentum. GPT-5 highlighted ERCOT exposure as additional optionality.
ABCBMED
Ameris Bancorp regional bank with loan growth momentum. Picked by jury this morning (04:15 ET re-curation) given positive macro stance on regional financials. Vol 1.38x. Single-LLM unique pick (was on 1 of 3 voices).
VSTMED
Vistra IPP — same data-center power thesis as CEG. Three-LLM agreement on the theme.
ANETMED
Arista 800G AI fabric. GPT-5 flagged longer-cycle revenue concentration risk vs Claude's higher-conviction read. Conviction difference contributes to "2 of 3" jury bucket vs "all 3".
HOLXMED
Hologic diagnostics; defensive growth. Less enthusiastic than Claude's HIGH conviction read — GPT-5 noted hospital capex cycle concerns. Net effect: picked but at MED tier.
CHDNMED
Churchill Downs Derby week event-driven catalyst. GPT-5 picked at MED (Claude HIGH) — flagged the event-driven nature as binary risk per Rule 3 spirit if not letter.
DELLLOW
AI server cycle intact but margin compression risk. GPT-5 was the only LLM to include — single-voice pick, jury_approved=False. Will only enter watchlist if 2-of-3 rule is loosened.
SMCILOW
Super Micro — accounting overhang concerns lingering. Single-voice low-conviction pick. Same as DELL — jury rule excludes from watchlist unless ≥1 other LLM agrees.
MSTRLOW
MicroStrategy BTC proxy. GPT-5 added at low conviction; binary risk on bitcoin moves. Jury rule outcome depends on whether Claude/Gemini also picked.
▸ GPT-5-specific controls
GPT curator enabled
GPT_CURATOR_ENABLED
3-LLM jury rule
≥2 of 3 must agree
PM data injection
04:00-09:30 ET only
Modelgpt-5
GPT_CURATOR_MODEL
Temperaturedefault
model temperature
Max output tokens32,000
max_tokens · raised from 16k 2026-04-26
Why GPT-5 was added (validated 2026-04-26)
The 10-day Phase C replay measured the value of upgrading from 1-LLM to 3-LLM consensus curation: +$439 / 10 trading days over the OLD baseline. PM data injection itself was neutral (-$34 / 10d) — the win came from consensus filtering. GPT-5 brings a third independent reasoning style; agreement on a pick across all three LLMs is treated as higher-conviction than 2-of-3, which feeds the jury_approved flag. Cost: ~$0.18/day for the GPT call, ~$45/year. Annualized P&L lift estimate: ~$10K, ~220× ROI on token spend.
L3 / U-01 / S-03 ─ UNION MERGE · TICKER-LEVEL DISPOSITION where each ticker came from · which voices agreed · 3-LLM jury rule (≥2 of 3 = approved)
412
Screener candidates
−262 / no LLM picked
100+110+100
G ∪ C ∪ GPT raw
−201 dedup
109
Unique picks today
+36 carry-over
145
Active watchlist
★ ALL 3 LLMs (jury_approved + boost +25) 62
▸ All 3 said HIGH (5)
NVDASYNAHOLXCHDNCEG
▸ All 3 said MEDIUM (52)
DXVTOLFRTSNPS CRMADBEAVGOMU LRCXKLACAMDQCOM METAGOOGLAMZNMSFT PLDCCICBMMC TTROPGECAT DEETNPWREME FIXPRIMVSTANET SHWFANGPSXVLO MPCEOGSLBHAL XOMCVXCOPOXY PNCBACJPMWFC USBTFCGSMS
▸ Conviction split (5)
BKRINTCABCBEWBCCIVB
All 3 picked but at different tiers (e.g. G:HIGH, C:MED, GPT:MED) — kept, no boost downgrade.
G + C (no GPT) 14
jury_approved=True · GPT didn't pick
PLTR MED
Gov + AI. GPT excluded — flagged valuation extension (P/E > sector +2σ).
VRT MED
Vertiv data-center power. GPT preferred CEG/VST as cleaner power plays.
CDNS MED
EDA peer. GPT picked SNPS only — sector cap rule.
NTNX MED
Hybrid cloud turnaround. GPT saw execution risk.
ARM MED
ARM v9 datacenter. GPT preferred QCOM same-theme.
CHWY MED
Pet-products momentum. GPT saw consumer-disc rotation fading.
+ 8 more
G + GPT (no Claude) 11
jury_approved=True · Claude didn't pick
F MED
Auto mean-reversion. Claude flagged tariff overhang.
GM MED
EV transition pricing. Claude saw EV-demand softness.
URI MED
Construction equipment cycle. Claude saw fade risk.
MMM MED
Industrial turnaround. Claude excluded execution-risk.
DAL MED
Premium cabin pricing. Claude flagged cycle exhaustion.
+ 6 more
C + GPT (no Gemini) 9
jury_approved=True · Gemini didn't pick
HOOD MED
Crypto monetization. Gemini cut on Reddit-driven Rule-11.
COIN MED
ETH ETF tailwind. Gemini saw single-asset risk.
RBLX MED
Q1 bookings beat. Gemini saw gaming-cycle concerns.
SCFI MED
Shipping rate cycle. Gemini saw freight-cycle exhaustion.
+ 5 more
Gemini-only · single voice 7
NOT jury_approved · stays on watchlist (carry-over) but no +25 boost
CTRI MED
Reddit mindshare; Claude + GPT saw low-quality short-squeeze risk.
CAR MED
Avis — high Reddit; Claude + GPT cut for sentiment-driven mechanics.
CHX MED
Oil services. Claude + GPT preferred BKR/HAL same-theme.
SNDR MED
Trucking-cycle bottom. Claude + GPT saw freight rates softening.
+ 3 more
Claude-only · single voice 4
NOT jury_approved · stays on watchlist but no +25 boost
DELL LOW
Server cycle. Gemini + GPT cut for margin compression risk.
CWAN MED
Clearwater Analytics SaaS. G+GPT cut for valuation.
+ 2 more
GPT-only · single voice 4
NOT jury_approved · stays on watchlist but no +25 boost
SMCI LOW
Super Micro — Gemini + Claude cut for accounting overhang.
MSTR LOW
BTC proxy. G+C cut for binary single-asset risk.
IONQ MED
Quantum-computing speculative. G+C saw too speculative for momentum book.
+ 1 more
Total unique picks:
109
Jury approved (≥2 of 3):
96 (88%)
Single-voice (no boost):
15 (14%)
All-3 unanimous:
62 (57%)
Active watchlist:
145 (incl. carry-over)
▸ Union-merge controls (3-LLM)
Union mode
vs intersection-only (stricter)
Carry-over
retain prior watchlist
Jury rule: ≥2 of 3
JURY_ENABLED · auto jury_approved=True
All-3 boost (+25)
JURY_BOOST_ACTIVE · unanimous picks only
Carry-over TTL14 days
watchlist auto-prune
L3 / U-01 / S-04 ─ JURY VOTE · PER-TICKER VERDICTS unanimous YES = +25 boost · split / NO = no boost (still on watchlist)
62
Voted on
−12 split / unconvinced
38
Unanimous YES (boost)
12
Split (no boost)
0
Unanimous NO
Per-ticker jury verdicts (sample · 12 of 62)
All (62) Unanimous YES (38) Split (12) Unanimous NO (0)
Ticker Curator picks Gemini juror Claude juror Verdict Boost Reason if split
NVDA both HIGH YES (0.92) YES (0.88) UNANIMOUS YES +25 pts
SYNA both HIGH YES (0.85) YES (0.81) UNANIMOUS YES +25 pts
HOLX both HIGH YES (0.79) YES (0.83) UNANIMOUS YES +25 pts
CHDN Gemini MED · Claude HIGH YES (0.71) YES (0.86) UNANIMOUS YES +25 pts
DX Gemini HIGH · Claude MED YES (0.74) YES (0.69) UNANIMOUS YES +25 pts
FRT both MED YES (0.61) NO (0.42) SPLIT Claude flagged 10y-yield rate-sensitivity overhang (REIT)
INTC Gemini MED · Claude LOW YES (0.55) NO (0.38) SPLIT Claude execution-risk concern; Gemini turnaround thesis
VTOL both MED NO (0.48) YES (0.66) SPLIT Gemini cyclical concern; Claude saw insider cluster as confirming
CTRI Gemini MED only YES (0.58) NO (0.31) SPLIT Claude flagged "Reddit pump risk"
CAR Gemini MED only YES (0.51) NO (0.22) SPLIT Claude: "low-quality short-squeeze mechanics"
BAC Gemini MED only YES (0.62) NO (0.45) SPLIT Rule 14 FinSvc cap concern; Claude voted concentration risk
PLTR Claude MED only NO (0.41) YES (0.68) SPLIT Gemini: extended valuation (P/E > sector + 2σ)
▸ Jury controls
Jury active
JURY_ENABLED
Boost active
JURY_BOOST_ACTIVE
Boost points25
JURY_BOOST_POINTS (0–60)
Gemini juror3.1 Flash
GEMINI_JURY_MODEL
Claude jurorSonnet 4.5
JURY_CLAUDE_MODEL
L3 / U-01 / S-05 ─ ACTIVE WATCHLIST · 154 TICKERS final list for tomorrow · provenance + boost flags
62
Today's curators
+92 carry-over
154
Active watchlist
38
Jury-boosted (+25 pt)
42
Pass consensus ≥55
MANUAL OVERRIDE — rescue tickers from the LLM cut pile or add a name the curators missed entirely 3 ACTIVE OVERRIDES THIS WEEK
Ticker · type to search any US equity
Override type · escalating bypass
Reason · logged for retro
 
▸ Recent overrides · click "undo" to remove
04-23 11:12 PLTR type: rescue · "Claude flagged extended val but I disagree — gov contracts pipeline" +3.4% UNDO
04-22 09:48 ARM type: add · "missed by both LLMs — saw ARMv9 traction in datacenter benchmarks" +1.8% UNDO
04-21 14:33 SOFI type: force · "consensus blocked but earnings beat puts thesis back on" −2.1% UNDO
04-19 10:04 COIN type: rescue · "BTC breakout setup — both LLMs missed" +5.2% UNDO
04-17 14:22 RIVN type: rescue · "Claude excluded — execution risk; I think the bottom is in" −4.0% UNDO
▸ By sector (top 10)
Technology
38
Industrials
26
Health Care
20
Financials
15
Consumer Disc
14
Energy
11
Real Estate
10
Comm Services
8
Utilities
7
Materials
5
▸ By provenance (3-LLM jury)
All 3 LLMs (jury ★)
62
2-of-3 (jury ✓)
34
Gemini-only
7
Claude-only
4
GPT-only
4
Carry-over (≤14d)
36
▸ Forward state
→ Consensus pass
42
→ Veto'd
28
→ Score 50–55
49
→ Score < 50
35
Watchlist · sortable · filterable
All (154) Jury ✓ (38) Pass consensus (42) Veto'd (28) Cut pile (24) User overrides (3) Held (9)
Ticker Sector Conviction Provenance Jury Consensus Held? Disposition Action
NVDATechnologyHIGHBoth today YES 71.2 ✓YES (8 sh) jury-boosted +25 → score 96 PROTECTED · held
SYNATechnologyHIGHBoth today YES 62.8 ✓YES jury-boosted, top-scoring holding PROTECTED · held
HOLXHealth CareHIGHBoth today YES 58.4 ✓YES jury-boosted PROTECTED · held
CHDNConsumer DiscHIGHBoth today YES 60.1 ✓ passes — eligible for entry
DXReal EstateHIGHBoth today YES 56.7 ✓YES held · jury boost active PROTECTED · held
FRTReal EstateMEDBoth today SPLIT 55.2 ✓YES passes (no boost) · score 73.8 base PROTECTED · held
INTCTechnologyMED/LOWBoth today SPLIT 53.1 ✓YES held · execution-risk overhang PROTECTED · held
CTRIConsumer DiscMEDGemini-only SPLIT 38.2 ✗ consensus blocked · Reddit-pump veto by Claude juror
CARIndustrialsMEDGemini-only SPLIT 42.8 ✗ consensus veto · short-squeeze mechanics
BACFinancialsMEDGemini-only SPLIT 52.1YES below cutoff · Rule-14 sector cap concern PROTECTED · held
PLTRTechnologyMED USER ADD SPLIT 57.3 ✓ override 04-23 · "Claude flagged extended val but I disagree — gov contracts pipeline" · +3.4%
VRTIndustrialsMEDClaude-only SPLIT 59.4 ✓ passes · power-infra play
ARMTechnology — missed by both — USER ADD N/A 61.4 ✓ override 04-22 · "ARMv9 datacenter benchmarks · neither LLM picked" · +1.8%
SOFIFinancials USER FORCE VETO 38.7 ✗ (forced) override 04-21 · "consensus blocked but Q1 earnings beat" · −2.1% · forced past consensus
FConsumer DiscMEDGemini-only SPLIT 44.1 ✗ consensus veto · auto-tariff overhang flagged by Claude juror
URIIndustrialsMEDGemini-only SPLIT 46.3 ✗ below cutoff · ~23% below year high "comeback" thesis weak
NTNXTechnologyMEDClaude-only SPLIT 41.0 ✗ consensus blocked · Gemini juror execution-risk concern
CDNSTechnologyMEDClaude-only SPLIT 49.8 ✗ below cutoff · already covered by SNPS in same theme
AVGOTechnologyMEDBoth today YES 61.7 ✓ jury-boosted · monitor for entry
METAComm ServicesMEDBoth today YES 58.9 ✓ jury-boosted
GOOGLComm ServicesMEDBoth today YES 57.4 ✓ jury-boosted
AMZNConsumer DiscMEDBoth today YES 56.2 ✓ jury-boosted
MSFTTechnologyMEDBoth today YES 55.8 ✓ jury-boosted
CRMTechnologyMEDBoth today YES 55.1 ✓ jury-boosted
ADBETechnologyMEDBoth today YES 54.6 ✓ just below cutoff · monitor
▸ Watchlist controls
Auto-prune carry-over
drop after TTL
Promote held tickers
always retain open positions
Manual additions allowed
user can add via UI
Carry-over TTL14 days
days until auto-prune
Max watchlist size200
soft cap before pruning
L2 / U-02 ─ CONSENSUS GATE · 3-LLM RUBRIC SCORING 15 winner criteria · 11 loss-avoidance vetoes · stddev-penalised aggregate · click any sub-unit to drill
─── 3-LLM CONSENSUS PIPELINE ───
Watchlist InS-01
Cap at MAXCONSENSUS_MAX_TICKERS_PER_RUN
Tickers154
Cap200
Concurrency6 workers
Signal ExtractorS-1.5
DIY Zacks + 9 signalsconsensus/signals.py · §2
DIY Zacks rank154 / 154
FMP calls / tk5 (cached 24h)
Signals → LLM10 fields
Zacks ranks + signalsDRILL ▸
Claude Sonnet 4.5S-02a
EnabledCONSENSUS_CLAUDE_MODEL
Scored154 / 154
Cost$5.07
Vetos raised11
see scoringDRILL ▸
Gemini 3.1 ProS-02b
EnabledCONSENSUS_GEMINI_MODEL
Scored154 / 154
Cost$4.82
Vetos raised14
see scoringDRILL ▸
GPT-5S-02c
EnabledCONSENSUS_GPT_MODEL
Scored154 / 154
Cost$5.82
Vetos raised9
see scoringDRILL ▸
AggregateS-03
Stddev penaltyμ × (1 − clip(σ/20, 0, 0.4))
Mean σ8.4
Avg penalty~21%
Avg consensus52.3
see mathDRILL ▸
Veto CheckS-04
Strict (any-LLM)vs majority-vote
Tickers vetoed28
Top reasonmomentum_exhaustion
Total flags34
see breakdownDRILL ▸
Score Gate ≥ 55S-05
ENFORCINGCONSENSUS_ENFORCING
Pass42
Block112
Pass rate27%
distributionDRILL ▸
▸ Consensus thresholds · L2 controls scoped to U-02
Boost (size + conf)
CONSENSUS_BOOST_ENABLED
Min score55
CONSENSUS_MIN_SCORE (50–90)
Boost intensity0.5
CONSENSUS_BOOST_INTENSITY
Max tickers / run200
CONSENSUS_MAX_TICKERS_PER_RUN
Concurrency6
CONSENSUS_TICKER_CONCURRENCY (1–6)
LLM timeout90 s
CONSENSUS_LLM_TIMEOUT_SEC
Daily cost cap$30
CONSENSUS_MAX_DAILY_COST_USD
L3 / U-02 / S-1.5 ─ SIGNAL EXTRACTOR · DIY ZACKS + 9 QUANT SIGNALS approximated since Zacks proper is paywalled · feeds into the 3-LLM consensus prompt
▸ DIY Zacks rank distribution · 154 watchlist tickers
1 · Strong Buy
28 (18%)
2 · Buy
51 (33%)
3 · Hold
49 (32%)
4 · Sell
17 (11%)
5 · Strong Sell
6 (4%)
— · No data
3 (2%)
Composite: average of 4 components (agreement / magnitude / upside / predictability), rounded 1-5. Needs ≥2 components populated to score.
▸ Signal coverage · % of watchlist with each signal populated
DIY Zacks rank
98%
analyst_rev_breadth_30d
91%
price_target_change_pct_90d
84%
earnings_surprise_last_pct
88%
guidance_revision (proxy)
84%
short_interest_pct
0% · paywall
insider_net_buying_90d_m
0% · paywall
institutional_flow_delta_pct
0% · paywall
options_flow_bias
0% · paywall
4 of 10 signals are paid-feed only (Polygon, Quiver, etc). LLM is told to weight neutral when evidence is thin.
▸ DIY Zacks rank · 4-component composite (1=best, 5=worst per component)
1 · Agreement
% of analysts at buy/strong-buy. ≥70% → 1, ≥60% → 2, ≥50% → 3, ≥40% → 4, else 5. Source: FMP grades-consensus.
2 · Magnitude
Price-target trajectory month-vs-quarter (proxy for EPS-revision magnitude — FMP doesn't expose dated estimate snapshots on the stable tier). ≥+5% → 1, ≥+2% → 2, etc.
3 · Upside
Most recent EPS surprise %. ≥+10% → 1, ≥+3% → 2, ±3% → 3, ≤−3% → 4, ≤−10% → 5. Source: FMP earnings.
4 · Predictability
Count of EPS beats in last 4 quarters. 4/4 → 1, 3/4 → 2, 2/4 → 3, 1/4 → 4, 0/4 → 5.
Per-ticker DIY Zacks ranks · component breakdown · sortable
All (154) Strong Buy/Buy (79) Hold (49) Sell/Strong Sell (23) No data (3)
Ticker DIY Zacks Agree Mag Up Pred Rev breadth 30d PT change 90d Last EPS surprise Guidance
NVDA 1 1111 +12 +18.4% +13.2% raised
SYNA 1 2111 +8 +14.1% +11.5% raised
CEG 1 1121 +10 +22.8% +8.4% raised
HOLX 1 1211 +6 +9.2% +15.8% raised
AVGO 2 1222 +7 +8.6% +4.2% raised
DX 2 2212 +4 +6.8% +11.2% maintained
FRT 3 3332 0 +2.1% +1.4% maintained
INTC 4 4434 −6 −4.8% −0.5% lowered
BAC 3 2333 +1 +0.9% +2.1% maintained
SMCI 5 5545 −9 −12.4% −18.2% lowered
MSTR 4 3544 −3 −8.1% lowered
CTRI 33 +1 +1.8%
...142 more tickers · scrollable · sort by Zacks rank or any component
▸ Signal extractor controls
DIY Zacks composite
_diy_zacks_rank
Analyst breadth
FMP grades over 30d
Earnings surprise
FMP earnings history
PT trajectory proxy
used for guidance proxy
Short interest (paid)
requires Polygon/Quiver
Insider buying $ (paid)
requires SEC paid feed
Options flow (paid)
requires options data
Signal cache TTL24 h
_SIGNALS_TTL
L3 / U-02 / S-02 ─ PER-LLM SCORING RUN · 15 CRITERIA + 11 VETOES PER TICKER switch LLM via tabs · scores 0–100 per criterion · veto flags binary
▸ Claude Sonnet 4.5 · S-02a
Gemini 3.1 Pro · S-02b
GPT-5 · S-02c
154
Tickers scored
$5.07
Total cost
21.4 s
Avg latency / tk
54.7
Avg score
11
Vetos raised
218k
Total tokens
Per-ticker scoring heatmap · 15 winner criteria + veto flags · click ticker for full reasoning
Top 12 All 154 Vetoed (11) Held (9)
Ticker moat prc mkt mgmt grw mrg cap acc cat sent ins ana tech rs edge Vetos Avg
NVDA 88 92 90 82 95 80 85 94 76 62 55 82 78 88 48 79.7
SYNA 75 68 80 62 75 82 77 88 82 75 80 85 82 80 62 76.9
CEG 90 88 85 75 92 76 62 85 90 75 52 82 78 85 55 78.0
VST 78 75 80 62 85 75 62 85 85 75 50 80 75 80 52 73.3
ANET 85 80 90 82 80 82 80 75 62 62 55 75 75 82 52 74.5
AVGO 88 85 82 82 80 80 82 75 62 52 50 75 65 75 42 71.7
PWR 75 62 85 82 80 75 62 82 75 75 62 75 80 82 52 73.6
HOLX 80 75 75 78 62 82 82 75 75 62 55 80 78 78 75 75.5
SMCI 42 38 62 25 75 45 48 82 45 35 40 35 45 75 42 ▲ accounting · momentum_exhaustion VETO
MSTR 35 25 42 45 75 38 28 82 62 75 75 55 75 78 35 ▲ valuation_disconnect VETO
CTRI 35 38 52 45 48 52 42 62 42 62 38 42 62 72 42 ▲ momentum_exhaustion VETO
FRT 72 70 62 75 48 62 58 42 45 52 48 55 58 52 55 56.9
▸ NVDA · Claude's reasoning per criterion click any ticker above to see its full per-criterion reasoning
moat_durability · 88/100
CUDA software ecosystem + 1M+ developer lock-in + 80%+ AI training share creates the strongest moat in semiconductors. Switching costs measured in years of model retraining.
pricing_power · 92/100
H200 pricing held vs MI300X competition; B200 launching at premium without churn. Customers pay for the software, not just silicon.
market_position · 90/100
Net share gain in data-center GPU vs AMD/Intel Gaudi; expanding into networking via Mellanox/InfiniBand and ARM-CPU stack via Grace.
growth_runway · 95/100
Hyperscaler capex through 2027 commits, sovereign AI bookings building, Omniverse + Drive + Healthcare adjacencies provide multi-year compounding.
acceleration_signal · 94/100
Q4 data-center revenue growth re-accelerated to +127% YoY after deceleration narrative. B200 ramp ahead of guide.
sentiment_inflection · 62/100
Narrative is crowded — AI beneficiary thesis is consensus. Positive catalysts well-known. Limited contrarian alpha left in the obvious story.
insider_conviction · 55/100
Routine grants visible; no meaningful open-market buys recently. Net selling pattern from senior officers — tax-related but neutral signal.
mispricing_edge · 48/100
Forward P/E ~30 already prices acceleration. Asymmetry less attractive — valuation premium reflects most of the bull case.
VETOES · all 11 cleared
No accounting concerns, no solvency risk, no fraud signals, no secular decline (opposite — secular tailwind), no excessive debt, no dilution risk, no regulatory existential risk (CHIPS Act tailwind), no customer concentration (broad hyperscaler base), no tech disruption threat, no valuation disconnect (premium but justified), no momentum exhaustion (RSI 70 within healthy range, vol normal).
L3 / U-02 / S-03 ─ AGGREGATE · STDDEV-PENALISED CONSENSUS MATH μ × (1 − clip(σ/20, 0, 0.4)) · penalty caps at 40% when LLMs disagree wildly
▸ The formula
consensus_score = mean(L1, L2, L3) × (1 − clip(stddev / 20, 0, 0.4))
Each of the 3 LLMs scores all 15 criteria. For every criterion the aggregator takes the mean of the 3 scores and reduces it by a divergence penalty proportional to the standard deviation. σ < 5 → almost no penalty (LLMs agree, full credit). σ ≥ 8 → 40% haircut capped (LLMs disagree, suspicious — discount the score). The final ticker score is the average of all 15 penalised criteria.
Per-ticker aggregation · raw scores → mean → σ → penalty → consensus · sorted by consensus desc
All 154 Pass ≥55 (42) High agreement σ<5 (61) High disagreement σ≥10 (28)
Ticker Sector Claude Gemini GPT-5 Mean μ σ Penalty Consensus Pass?
NVDATechnology 79.778.281.4 79.8 1.6 −0.0% 79.7 PASS
CEGUtilities 78.076.574.8 76.4 1.6 −0.0% 76.4 PASS
SYNATechnology 76.975.472.1 74.8 2.4 −0.0% 74.8 PASS
HOLXHealth Care 75.574.272.6 74.1 1.5 −0.0% 74.1 PASS
ANETTechnology 74.571.872.4 72.9 1.4 −0.0% 72.9 PASS
PWRIndustrials 73.670.869.2 71.2 2.2 −0.0% 71.2 PASS
VSTUtilities 73.369.471.2 71.3 2.0 −0.0% 71.3 PASS
AVGOTechnology 71.768.472.5 70.9 2.2 −0.0% 70.9 PASS
DXReal Estate 62.471.258.8 64.1 6.4 −12.4% 56.2 PASS
FRTReal Estate 56.962.149.2 56.1 6.5 −12.7% 49.0 BLOCK · <55
INTCTechnology 52.458.641.2 50.7 8.7 −27.5% 36.8 BLOCK · disagreement
PLTRTechnology 71.452.862.6 62.3 9.3 −31.2% 42.9 BLOCK · disagreement
CTRIConsumer Disc 49.452.838.2 46.8 7.6 −18.0% 38.4 VETO · momentum_exhaustion
SMCITechnology 50.256.433.8 46.8 11.4 −40.0% (cap) 28.1 VETO · accounting + momentum
MSTRFinancials 54.848.632.4 45.3 11.4 −40.0% (cap) 27.2 VETO · valuation_disconnect
▸ Aggregate controls
Apply σ penalty
divergence haircut
Penalty cap40%
max haircut on consensus when σ ≥ 8
σ scaling/ 20
σ → penalty conversion factor
L3 / U-02 / S-04 ─ VETO CHECK · 11 LOSS-AVOIDANCE GATES ANY LLM raising ANY veto skips the ticker · no averaging · 28 of 154 tickers vetoed (18%)
154
Tickers checked
−28 vetoed
28
Veto'd · 18%
126
Continue to score gate
▲ momentum_exhaustion 11 hits
Technical/flow blowoff signals — parabolic move, extreme RSI, climactic volume, options skew inversion. Top reason this run.
SMCI CTRI CAR PLTR DJT MARA RIOT GME RBLX WULF CLSK
▲ valuation_disconnect 7 hits
Priced for perfection while fundamentals visibly deteriorating. High multiple alone is not enough — must combine with deterioration.
MSTR SOUN IONQ RGTI SYM DJT RKLB
▲ accounting_concerns 4 hits
Aggressive revenue recognition, frequent restatements, auditor changes, or non-GAAP abuse that materially distorts results.
SMCI UPST SOFI ROOT
▲ excessive_debt 3 hits
Debt/EBITDA >5x with no clear deleveraging path, or interest coverage <2x — refinancing risk material.
DLTR NCLH CCL
▲ secular_decline 3 hits
Structural end-market erosion the company cannot escape — product category in irreversible decline, legacy tech.
XRX PARA KSS
▲ dilution_risk 2 hits
Active or imminent heavy equity issuance — ATM program in use, convertible overhang, warrant cliff.
PLUG RIVN
○ regulatory_existential 2 hits
Pending regulation/litigation/enforcement that could fundamentally impair the business model.
MO DJT
○ technology_disruption 1 hit
Core product being displaced by new tech with better economics; company lacks credible response.
PARA
○ going_concern 0 hits
Cash runway <12 months without profitable ops. None this run.
○ management_fraud_signals 0 hits
Active SEC inquiries, whistleblower allegations, abrupt CFO/CEO departures with bad news. None this run.
○ customer_concentration 0 hits
Top 1-3 customers >50% of revenue + at risk. None this run.
▸ Veto controls
Strict mode
any LLM veto = block
Majority-vote
2 of 3 must veto
Unanimous
all 3 must veto (lenient)
L3 / U-02 / S-05 ─ SCORE GATE · CONSENSUS DISTRIBUTION & PASS COHORT final cutoff at MIN_SCORE = 55 · the 42 names cleared for entry · ENFORCING
▸ Consensus score distribution · 154 tickers (28 pre-vetoed · 126 reach this gate)
3
7
11
14
23
36≥55 cutoff
27
11
4
1
0–10
10–20
20–30
30–40
40–50
50–60
60–70
70–80
80–90
90–100
Mean: 52.3 Median: 53.8 Stdev: 15.2 Pass cohort: 42 (27%) Block (<55): 84 (55%) Vetoed pre-gate: 28 (18%)
▸ Pass cohort · 42 names cleared the gate · sorted by consensus desc
All passers (42) Top quartile ≥70 (8) Borderline 55-60 (14) Held (5)
Rank Ticker Sector Consensus σ Confidence Boost? (size + conf) Held?
1NVDATechnology79.71.6VERY HIGH+24% size, +14% confYES (8 sh)
2CEGUtilities76.41.6VERY HIGH+22%, +13%
3SYNATechnology74.82.4VERY HIGH+20%, +12%YES
4HOLXHealth Care74.11.5VERY HIGH+19%, +12%YES
5ANETTechnology72.91.4VERY HIGH+18%, +11%
6VSTUtilities71.32.0HIGH+16%, +10%
7PWRIndustrials71.22.2HIGH+16%, +10%
8AVGOTechnology70.92.2HIGH+15%, +10%
9EMEIndustrials68.43.1HIGH+13%, +8%
10FIXIndustrials67.83.4HIGH+12%, +8%
11CHDNConsumer Disc66.22.8HIGH+11%, +7%
12MSFTTechnology65.41.8HIGH+10%, +7%
13METAComm Services64.82.1HIGH+10%, +7%
14GOOGLComm Services63.72.4HIGH+9%, +6%
15TTIndustrials62.43.2MED+7%, +5%
16AMZNConsumer Disc61.82.6MED+7%, +5%
17CRMTechnology61.23.0MED+6%, +4%
18VRTIndustrials59.44.2MED+5%, +3%
19CBFinancials58.73.6MED+4%, +3%
20PRIMIndustrials58.24.4MED+4%, +2%
21SNPSTechnology57.93.0MED+3%, +2%
22PLTRTechnology57.34.8BORDERLINE+3%, +2%USER OVR
23DXReal Estate56.76.4BORDERLINE+2%, +1%YES
24FRTReal Estate56.36.5BORDERLINE+2%, +1%YES
25MMCFinancials56.03.4BORDERLINE+1%, +1%
...17 more passers · 55.0–55.9 borderline cohort · scrollable
▸ Score gate controls
ENFORCING
block entries below cutoff
Boost active
scale size + conf by score
Cutoff55
CONSENSUS_MIN_SCORE (50–90)
Boost intensity0.5
CONSENSUS_BOOST_INTENSITY
L2 / U-03 ─ TRADING · MARKET-HOURS LOOP poll → reconcile → exits → entries → exec · runs every 5 sec during 09:30–16:00 ET
─── TRADING LOOP (per tick) ───
Quick PollS-01
Polling activebatch-quote · 1 call
Cadence5 sec
Calls / tick1 batch
Latency334 ms
Tickers154
Full Poll · IndicatorsS-02
Local indicatorspandas vs FMP /technical-indicators
Cadence5 min
Calls / cycle155
Wall time~28 s
IndicatorsRSI EMA SMA
ReconcileS-03
IBKR syncreconcile open vs broker fills
Adjustments0 today
Modelive
7d total3
see fillsDRILL ▸
Exit CheckS-04
Trailing stopsparams.trailing_stop_pct > 0
Trailing9 active
Hard stops9 set
Fri exits0
Wk exits2
per-position stateDRILL ▸
Entry EvalS-05
Intel boost3/4 + curator HIGH
4 conditions+ intel
Fri fired3
Fri skipped11
Near-miss5
condition matrixDRILL ▸
IBKR OrderS-06
Auto submitvs Telegram approval
Auth
Keepalive12s ago
Fri orders1 (NVDA)
Pending0
order logDRILL ▸
▸ Trading thresholds · L2 controls scoped to U-03
Loop active
agent_config.mode
Sandbox mode
no real IBKR orders
Position reconciler
live IBKR sync
Stop-out cooldown
block re-entry 24h
Quick poll5 s
AGENT_POLL_INTERVAL_SEC (1–300)
Indicator refresh5 min
AGENT_INDICATOR_REFRESH_MIN (1–120)
Opening cooldown30 min
AGENT_OPENING_GAP_FILTER_MIN (0–90)
Min breakout clearance0.5 %
AGENT_MIN_BREAKOUT_CLEARANCE_PCT (0–5)
Intel boost threshold65
AGENT_INTEL_BOOST_THRESHOLD (0–100)
Displacement Δ10 pts
AGENT_DISPLACEMENT_MIN_DELTA (0–50)
Aggressiveness0.69
slider — drives RSI band, vol_threshold, stops
L3 / U-03 / S-05 ─ ENTRY EVAL · 4-CONDITION MATRIX + INTEL BOOST per-watchlist-ticker condition status · 4/4 fires · 3/4 with intel boost fires (volume always required)
▸ The 4 entry conditions (all must pass · or 3/4 + intel HIGH · volume always required)
1 · breakout_20d
price > high_20d AND clearance ≥ AGENT_MIN_BREAKOUT_CLEARANCE_PCT (0.5%)
2 · volume_confirm MANDATORY
pace ratio > threshold (tiered: ≥1.5%clr → 0.70×, ≥0.7%clr → 0.85×, else base 1.75×)
3 · rsi_in_band
rsi_low ≤ RSI(14) ≤ rsi_high (slider 0.69 → 53.5–71.5)
4 · above_emas
price > EMA(9) AND price > EMA(21)
154
Watchlist evaluated
3
Fired Friday
2
Intel-boosted
5
Near-miss (3/4)
11
Skipped (displacement)
2
Earnings blocked
Per-ticker condition matrix · live state on Friday's last full poll · ✓ pass / ✗ fail
All evaluated Fired (3) Intel boost (2) Near-miss 3/4 (5) Earnings blocked (2)
Ticker Price 20d high · clr% 1·breakout Vol pace · tier 2·volume RSI 3·rsi_band EMAs 4·above_emas Score Intel Status
NVDA $209.39 $207.12 · +1.10% 1.80× · clean (req 1.49×) 70.6 9: 199 · 21: 192 67.2 FIRED · BUY 8 sh
SYNA $74.12 $72.85 · +1.74% 2.41× · very clean (req 1.23×) 68.4 9: 71.8 · 21: 69.4 93.0 FIRED · BUY 35 sh
DX $52.34 $52.10 · +0.46% ✗ (thin) 2.18× · base (req 1.75×) 69.8 9: 50.8 · 21: 49.2 83.8 (3/4 + boost) HIGH · 78 INTEL BOOST · BUY
HOLX $89.40 $89.06 · +0.38% ✗ (thin) 1.92× · base 67.2 9: 87.4 · 21: 84.8 80.0 (3/4 + boost) HIGH · 82 INTEL BOOST · BUY
CHDN $148.20 $147.40 · +0.54% 1.41× · clean (req 1.49×) ✗ (sub-thr) 66.8 9: 145 · 21: 142 MED · 56 NEAR-MISS · vol short
SNPS $615.40 $612.20 · +0.52% 1.32× · clean (req 1.49×) ✗ (sub-thr) 68.2 9: 605 · 21: 588 MED · 48 NEAR-MISS · vol + intel low
CEG $281.50 $278.40 · +1.11% 1.62× · base (req 1.75×) ✗ (sub-thr) 72.4 ✗ (>71.5) 9: 270 · 21: 258 MED · 64 NEAR-MISS · vol + RSI hot
CHDN (re-eval 17:32) $149.10 $147.40 · +1.15% 1.78× · clean (req 1.49×) 68.2 9: 146 · 21: 142 60.4 SKIP · weakest=NVDA 71.0
BKR $33.80 $33.40 · +1.20% 1.85× · clean (req 1.49×) 62.4 9: 33.0 · 21: 32.4 50.2 SKIP · weakest=NVDA 71.0
VST $184.30 $182.10 · +1.21% 1.95× · clean (req 1.49×) 69.4 9: 178 · 21: 172 57.3 SKIP · weakest=HWKN 72.4
TSLA $268.50 $265.20 · +1.24% 2.34× · clean (req 1.49×) 71.0 9: 261 · 21: 252 72.0 EARNINGS BLOCKED · 1d
VRTX $420.10 $416.80 · +0.79% 1.65× · clean (req 1.49×) 64.2 9: 414 · 21: 408 58.4 EARNINGS BLOCKED · 1d ago
GOOGL $344.40 $345.27 · −0.25% 1.21× · base 69.0 9: 339 · 21: 331 MED · 52 no signal · 2/4
META $612.30 $615.40 · −0.50% 0.94× · base 62.4 9: 606 · 21: 595 MED · 48 no signal · 2/4
FRT $108.96 (held) $109.20 · −0.22% 0.78× · base 52.4 9: 108.4 · 21: 107.8 MED · 50 held · skip eval
▸ Entry-eval controls
Allow new entries
signal eval enabled
Intel boost (3/4)
curator HIGH unlocks 3/4
Volume mandatory
always required (safety)
Tiered vol threshold
clearance-based discount
Earnings blackout
±2d gate (delegates to F-01)
Opening cooldown
first 30 min skipped
L3 / U-03 / S-04 ─ EXIT LOGIC · PER-POSITION STATE trailing stop tracks highest_close · hard stop fixed at entry · time-based at max_hold_days
▸ The 4 exit triggers (any one fires the exit)
▼ trailing_stop
price ≤ highest_close × (1 − trailing_stop_pct) · trails up only
▼ hard_stop
price ≤ entry_price × (1 − hard_stop_pct) · fixed at entry
▼ time_exit
days_held ≥ max_hold_days · forces a turnover
▼ displacement
new signal score > this position's score by DISPLACEMENT_MIN_DELTA (10 pts)
Open positions · 9 of 8 max (over-cap) · trigger distance shows how close each exit gate is
All open (9) Near-stop (<2%) In profit (4) Drawdown (5)
Ticker Entry Held Score Current Highest close Trailing stop Hard stop Trigger distance P&L
NVDA $209.39 1d 67.2 $208.21 $210.84 $204.66 (−2.9%) $199.86 (−4.5%) trail: −1.7% · hard: −3.9% −$9.44 (−0.6%)
HWKN $48.20 4d 72.4 $50.40 $51.10 $49.62 (−2.9%) $46.07 (−4.5%) trail: −1.5% · hard: −8.6% +$30.80 (+4.6%)
FRT $108.96 15d 73.8 $110.20 $112.40 $109.14 (−2.9%) $104.06 (−4.5%) trail: −0.96% · hard: −5.6% +$48.36 (+1.1%)
INTC $58.89 17d 74.8 $57.20 $61.20 $59.43 (−2.9%) $56.24 (−4.5%) trail: +3.9% (above stop · ALERT) −$22.10 (−2.9%)
BAC $52.87 12d 76.5 $54.60 $55.80 $54.18 (−2.9%) $50.49 (−4.5%) trail: −0.77% · hard: −7.5% +$24.20 (+3.3%)
VTOL $49.31 17d 76.8 $48.10 $50.85 $49.38 (−2.9%) $47.09 (−4.5%) trail: −2.6% · hard: −2.1% −$15.50 (−2.5%)
HOLX $89.40 3d 80.0 $92.10 $92.80 $90.13 (−2.9%) $85.38 (−4.5%) trail: −2.1% · hard: −7.3% +$37.80 (+3.0%)
DX $52.10 5d 83.8 $54.20 $55.10 $53.50 (−2.9%) $49.76 (−4.5%) trail: −1.3% · hard: −8.2% +$52.50 (+4.0%)
SYNA $74.12 3d 93.0 $72.80 $74.86 $72.69 (−2.9%) $70.78 (−4.5%) trail: +0.15% (very tight) · hard: −2.8% −$46.20 (−1.8%)
▸ Recent exits · last 7 days
DateTickerTriggerEntry → ExitHeldRealized P&LReason
04-23 14:08CTRItrailing_stop$24.78 → $24.182d−$36.00 (−2.4%)price 2.9% below highest_close $24.92
04-21 09:34AMPXhard_stop$14.32 → $13.200.5d−$105.00 (−7.8%)opening-gap reversal · hit hard 4.5% below entry
04-20 11:14PDOdisplacement$19.20 → $19.303d+$5.00 (+0.5%)ZM signal scored 87.9 vs PDO 44.5 · Δ=43.4 above threshold
04-18 15:40STRCtrailing_stop$100.00 → $97.105d−$58.00 (−2.9%)trailed up to $100.85 high · stopped on −2.9% trail
04-17 10:22JPMdisplacement$248.10 → $250.404d+$23.00 (+0.9%)DX signal 83.8 vs JPM 73.6 · Δ=10.2 just above threshold
▸ Exit controls
Trailing stops
trail high-water mark
Hard stops
fixed % below entry
Time-based exit
force after max_hold_days
Displacement enabled
stronger signal can swap
Trailing %2.9 %
slider-derived (2.0–5.0)
Hard stop %4.5 %
slider-derived (3.0–8.0)
Max hold days5
slider-derived (3–10)
Displacement Δ10 pts
AGENT_DISPLACEMENT_MIN_DELTA
L3 / U-03 / S-06 ─ IBKR ORDER FLOW · GATEWAY · FILLS · SLIPPAGE live broker connection · order lifecycle from submit through fill
AUTH ✓
Gateway state
U25063777
Account
12 s
Last keepalive
1
Orders Friday
0
Pending
$3,200
Margin used
▸ Recent orders · 7-day window · IBKR Client Portal API
All (12) Filled (10) Cancelled (2) Margin-funded (3)
IBKR ID Submitted Ticker Side Qty Type Limit / Stop Status Filled @ Slippage Source
1028981551 04-24 09:16:54 NVDA BUY 8 MKT FILLED $209.39 −$0.04 fav agent · margin
1028974412 04-23 14:08:12 CTRI SELL 62 MKT FILLED $24.18 +$0.08 adv agent · trail-stop
1028968331 04-22 09:34:18 HOLX BUY 14 MKT FILLED $89.40 $0.00 agent
1028962144 04-21 11:42:30 DX BUY 25 MKT FILLED $52.10 $0.00 user · margin approval
1028960981 04-21 11:14:08 JPM SELL 4 MKT FILLED $250.40 −$0.12 fav agent · displacement
1028958027 04-21 09:34:42 AMPX SELL 70 MKT FILLED $13.20 +$0.18 adv agent · hard-stop
1028957664 04-21 09:30:18 AMPX BUY 70 MKT FILLED $14.32 +$0.20 adv agent · opening-gap
1028951220 04-20 11:14:36 PDO SELL 52 MKT FILLED $19.30 −$0.02 fav agent · displacement
1028946884 04-19 14:22:08 RIVN BUY 30 MKT CANCELLED user · timed out
1028942341 04-18 15:40:06 STRC SELL 20 MKT FILLED $97.10 +$0.06 adv agent · trail-stop
1028937217 04-17 10:22:54 JPM BUY 4 MKT FILLED $248.10 $0.00 user · margin approval
1028934002 04-16 14:18:21 SOFI BUY 120 MKT CANCELLED user · declined consensus override
▸ Slippage by trigger type · last 30 days
opening-gap
+$0.14 adv
hard_stop
+$0.12 adv
trail_stop
+$0.07 adv
entry (4/4)
−$0.02 fav
displacement
−$0.05 fav
Stop-out exits give back ~$0.07-0.14/share to the market — the cost of using market orders during volatility. Entry slippage is near zero because we batch-quote into liquid setups.
▸ Order success rate · 30d
Filled
42 (84%)
Cancelled (user)
4 (8%)
Cancelled (timeout)
3 (6%)
Rejected (broker)
1 (2%)
Single broker rejection in 30d (insufficient buying power on a margin entry that the user later approved manually). Otherwise IBKR gateway has been reliable.
▸ Order & gateway controls
Auto submit
vs manual approval
Margin auto-allowed
agent_config.margin_auto_allowed
Position reconciler
live IBKR sync
Limit-order entries
vs market (default)
Gateway keepalive55 s
AGENT_GATEWAY_KEEPALIVE_SEC (30–300)
Order timeout5 min
cancel pending after this
L2 / F-02 ─ REVIEW · MANUAL APPROVAL FLOW side branch · gates margin entries + advisor swap proposals · two-way Telegram bot
─── APPROVAL FLOW ───
Trigger SourceS-01
Auto-marginvs always-ask
Margin entries1
Swap proposals1
Total pending2
pending queueDRILL ▸
Telegram SendS-02
Bot activeTELEGRAM_BOT_TOKEN set
Approval msgs2
Notify msgs10
Errors0
message logDRILL ▸
Daily Reports S-02b ⊳
EOD + Intradaydaily_report.py
EOD report16:05 ET
Intraday12:00 ET
Last sentFri 16:00
SCHEDULED
User DecisionS-03
TTL auto-expireSWAP_TTL_HOURS
Pending2
TTL median18 h
Auto-expire24 h
ApproveS-04a
7 days5
Today0
→ to U-03execute
DeclineS-04b
7 days0
Cooldown14 d
Pair suppressed0
▸ Review controls
Telegram
TELEGRAM_BOT_TOKEN set
Margin auto-approval
agent_config.margin_auto_allowed
Swap proposals
advisor swap pipeline
Market-hours only
SWAP_MARKET_HOURS_ONLY
Pushover fallback
PUSHOVER_USER_KEY (legacy)
Min score gap10 pt
SWAP_MIN_SCORE_GAP (5–30)
Max / day2
SWAP_MAX_PER_DAY (1–10)
Pair cooldown14 d
SWAP_PAIR_COOLDOWN_DAYS (1–90)
TTL24 h
SWAP_TTL_HOURS (1–168)
Price drift cap5%
SWAP_PRICE_DRIFT_PCT (1–25)
L3 / F-02 / S-01 ─ PENDING APPROVAL QUEUE items awaiting your decision · clicking the queue here is equivalent to tapping an inline Telegram button
▸ MARGIN APPROVAL · #1 of 2 expires in 18h 22m
Ticker NVDA Action BUY 8 sh @ $209.39 (market) Order value $1,675.12 Available cash $0 (need margin) Margin used after $3,200 → $4,875 (33% utilization) Signal conf 0.578 · score 67.2 · 4/4 conditions Why ask? agent_config.margin_auto_allowed is ON, so this would normally auto-execute. This was logged before that flag flipped on Apr 22 — ghost in the queue.
▸ SWAP PROPOSAL · #2 of 2 expires in 11h 34m
Pair SELL FRTBUY CHDN Score gap FRT 73.8CHDN 82.1 · Δ +8.3 pts (above 10pt threshold? no — close) Sector Real Estate → Consumer Discretionary (cross-sector) Sell side FRT 39 sh @ $110.20 = $4,298 · realized +$48 Buy side CHDN 29 sh @ $148.20 = $4,298 (same dollar value) Reason (advisor) CHDN consensus 60.1, jury-boosted, fresh entry signal pending Monday open. FRT held 15 days, hit price floor, peak run already past.
▸ 7-day decision history · what you've approved / declined / let expire
All (7) Approved (5) Declined (1) Expired (1)
Asked Type Detail Decision Decided in Outcome P&L
04-22 11:14marginBUY DX 25 sh @ $52.10 · margin $1,303APPROVED4m 12s+$52 (+4.0%)
04-21 14:33swapSELL JPM → BUY AMPX · Δ +5.4 ptsAPPROVED2m 04s−$110 (AMPX hard-stop next day)
04-19 09:12marginBUY TSLA 4 sh @ $245 · earnings flagDECLINED1m 48s— (would have +$32)
04-18 13:22swapSELL STRC → BUY HOLX · Δ +12.4 ptsAPPROVED6m 41s+$38 (+3.0% on HOLX)
04-17 10:22marginBUY JPM 4 sh @ $248 · margin $992APPROVED3m 12s+$23 (+0.9% before swap)
04-16 14:18marginBUY SOFI 120 sh @ $11.40 · consensus VETOEXPIRED24h (timeout)— (would have −$32)
04-15 16:00swapSELL VTOL → BUY SYNA · Δ +16.2 ptsAPPROVED11m 22s+$48 on SYNA, VTOL replay possible
▸ Queue controls
Auto-snooze on no-action
re-prompt 4h before expiry
Track outcomes
log decision-vs-counterfactual P&L
Bulk approve same-type
"approve all margin entries today"
L3 / F-02 / S-02 ─ TELEGRAM MESSAGE LOG · BOT HEALTH two-way bot · inline approval buttons · auto-captures chat ID on first poll
CONNECTED
Bot status
12
Sent today
3
Replies received
0
Errors today
@your_handle
Chat ID
280 ms
Avg send latency
▸ Message log · last 24h
All (15) Approval req (2) Notifications (10) Replies (3)
Time Direction Type Subject Body preview Action result
04-24 15:18OUTSWAP REQFRT → CHDN Sell FRT (73.8) → Buy CHDN (82.1) · Δ +8.3 · approve / keep / snooze awaiting (18h left)
04-24 14:42OUTMARGIN REQNVDA BUY 8 sh @ $209.39 · margin $1,675 (avail $0 cash) · approve / decline awaiting (11h left)
04-24 09:16OUTFILLNVDA FILLED · BUY 8 sh @ $209.39 · margin used $1,675 · score 67.2 notification
04-24 09:00OUTDAILY OPEN Market open · 9 positions open · cash $11,800 · NVDA, SYNA, HOLX, DX, FRT, INTC, BAC, VTOL, HWKN notification
04-24 08:30OUTPRE-MARKET Curation done · 154 watchlist · 38 jury-boosted · 42 pass consensus · top 5: NVDA SYNA HOLX CEG ANET notification
04-23 14:08OUTEXITCTRI EXIT · trail-stop · SELL 62 sh @ $24.18 · realized −$36 (−2.4%) notification
04-22 11:14OUTMARGIN REQDX BUY 25 sh @ $52.10 · margin $1,303 · approve / decline APPROVED 4m12s
04-22 11:18INREPLYuser tap: ▸ APPROVE · margin entry DX processed
04-22 09:34OUTFILLHOLX FILLED · BUY 14 sh @ $89.40 · score 80.0 notification
04-22 09:00OUTDAILY OPEN Market open · 8 positions open · cash $13,103 · top 5 score: SYNA DX HOLX HOLX BAC notification
04-21 14:33OUTSWAP REQJPM → AMPX Sell JPM → Buy AMPX · Δ +5.4 · approve / keep / snooze APPROVED 2m04s
04-21 14:35INREPLYuser tap: ▸ APPROVE SWAP processed
04-19 09:12OUTMARGIN REQTSLA BUY 4 sh @ $245 · margin $980 · earnings 1d away · approve / decline DECLINED 1m48s
04-19 09:14INREPLYuser tap: ✗ DECLINE · "earnings risk" processed
04-19 16:00OUTDAILY CLOSE Market close · 9 positions · today P&L +$87 · week +$340 · agent +1.61% / SPY +0.54% notification
▸ Bot diagnostics
Bot username: @invest_agent_bot
Token format: 12345:****redacted****
Webhook: long-poll (no public URL needed)
Inline buttons: supported
Send retries: 3 (2s, 4s, 5s backoff)
Async dispatch: via asyncio.to_thread (non-blocking)
Last error: none in 30 days
Pushover fallback: configured but disabled
L2 / F-01 ─ EARNINGS PROTECTION · BLACKOUT FILTER FLOW filter on entries · drops signals within ±N days of earnings · manual-open bypasses
─── BLACKOUT EVALUATION ───
Signal arrivesS-01
Filter armedAGENT_EARNINGS_BLACKOUT_DAYS > 0
FromU-03 entry
Today checked14
7d checked62
FMP Earnings LookupS-02
24h cacheCACHE_TTL_FUNDAMENTALS
Cache hit87%
TTL24 h
Failures0
full calendarDRILL ▸
Window CheckS-03
Symmetric±N days each side
Window±2 days
In-window now9 tk
Within 7d23
AllowS-04a
Today13
→ continue to U-04
BlockS-04b
Today1
7-day total7
blocks logDRILL ▸
▸ Earnings protection controls
Filter armed
AGENT_EARNINGS_BLACKOUT_DAYS > 0
Strict mode
block on FMP fetch fail
Manual-open bypass
always ON (safety)
FMP cache
24h TTL on earnings dates
Window ± days2
AGENT_EARNINGS_BLACKOUT_DAYS (0–10) · 0 = disabled
Cache TTL24 h
CACHE_TTL_FUNDAMENTALS (sec)
L3 / F-01 / S-02 ─ EARNINGS CALENDAR · WATCHLIST EXPOSURE all 154 watchlist tickers ranked by next earnings date · grouped by blackout proximity
9
In window now (±2d)
23
Within 7d
52
Within 30d
79
Clear (>30d)
0
No data
04-25 04:48
Last refresh
▸ Watchlist earnings · sorted by proximity · click ticker to override (manual entry bypasses filter)
All (154) In window (9) Within 7d (23) Within 30d (52) Clear (79)
Ticker Sector Next earnings Days away Time Last EPS · est vs act Status Held? Override
VRTXHealth Care 2026-04-24−1d (past) AMC $4.12 vs $4.18 ✓ IN WINDOW · BLOCKED
TSLAConsumer Disc 2026-04-26+1d AMC $0.71 vs $0.61 ✗ IN WINDOW · BLOCKED
AAPLTechnology 2026-04-27+2d AMC $2.18 vs $2.40 ✓ IN WINDOW · BLOCKED
METAComm Services 2026-04-27+2d AMC $5.16 vs $5.33 ✓ IN WINDOW · BLOCKED
AMZNConsumer Disc 2026-04-27+2d AMC $1.04 vs $0.98 ✓ IN WINDOW · BLOCKED
MSFTTechnology 2026-04-29+4d AMC $3.32 vs $3.45 ✓ WITHIN 7d · monitor N/A · clear gate
GOOGLComm Services 2026-04-29+4d AMC $2.16 vs $2.28 ✓ WITHIN 7d · monitor N/A · clear gate
SBUXConsumer Disc 2026-04-30+5d AMC $1.04 vs $1.18 ✓ WITHIN 7d · monitor N/A · clear gate
CATIndustrials 2026-05-01+6d BMO $5.42 vs $5.58 ✓ WITHIN 7d · monitor N/A · clear gate
PFEHealth Care 2026-05-01+6d BMO $0.51 vs $0.58 ✓ WITHIN 7d · monitor N/A · clear gate
CHDNConsumer Disc 2026-05-08+13d BMO $1.62 vs $1.71 ✓ CLEAR N/A
NVDATechnology 2026-05-21+26d AMC $5.16 vs $5.84 ✓ CLEAR YES (8 sh) N/A
SYNATechnology 2026-05-08+13d AMC $0.94 vs $1.06 ✓ CLEAR YES N/A
DXReal Estate 2026-07-29+95d AMC $0.92 vs $0.88 ✗ CLEAR YES N/A
HOLXHealth Care 2026-05-06+11d AMC $1.04 vs $1.18 ✓ CLEAR YES N/A
...139 more tickers · scrollable · sorted by proximity ascending
▸ Calendar controls
FMP cache
CACHE_TTL_FUNDAMENTALS
Auto-refresh nightly
post-close pull
Pull intraday updates
earnings-date shifts during day
Cache TTL24 h
CACHE_TTL_FUNDAMENTALS
L3 / F-01 / S-04b ─ RECENT BLOCKS · COUNTERFACTUAL ANALYSIS what would have happened if we had let these signals through? · self-audit of the filter
7
Blocks · 7d
5
Filter saved us
2
Filter cost us
+$340
Net saved (est)
71%
Filter accuracy
▸ Last 30 blocks · counterfactual P&L computed at +5d post-earnings
All (30) Saved us (21) Cost us (9) Pre-earnings (18) Post-earnings (12)
Date blocked Ticker Earnings on Days from EPS Signal conf Entry would have been Counterfactual P&L Verdict
04-24 15:36TSLA2026-04-26+1d 0.72$268.50 · 5 sh −$84 (−6.3% on Q1 miss) SAVED
04-23 11:08AAPL2026-04-24+1d 0.61$182.40 · 7 sh +$32 (+2.5% on guidance raise) COST
04-22 14:54VRTX2026-04-21−1d (past) 0.58$418.20 · 3 sh −$48 (−3.8% post-print) SAVED
04-21 10:12NFLX2026-04-210d (today) 0.81$612.80 · 2 sh −$110 (−9.0% on subscriber miss) SAVED
04-19 09:55JPM2026-04-21+2d 0.69$245.10 · 4 sh +$28 (+2.9% on Q1 beat) COST
04-18 14:22UNH2026-04-180d 0.75$542.00 · 2 sh −$92 (−8.5% on Medicare guide cut) SAVED
04-17 13:04GS2026-04-170d 0.66$498.30 · 3 sh +$54 (+3.6% on trading beat) COST
04-16 09:48BAC2026-04-15−1d (past) 0.54$48.20 · 25 sh −$28 (−2.3% on NIM guide) SAVED
...22 more blocks · scrollable
▸ Filter performance · 30 blocks
Saved us (true neg)
21 (70%)
Cost us (false pos)
9 (30%)
Saved $1,180 · Cost $840 · net +$340 in our favour. The filter is right roughly 2× as often as it's wrong — keeping it on is the correct decision.
▸ Should we narrow the window?
Of the 9 false positives, 5 were on the +2d edge (post-earnings momentum). Tightening to ±1d would reclaim ~$240 of cost without giving up much save.
suggest: AGENT_EARNINGS_BLACKOUT_DAYS = 1
net gain at ±1d: ~$580 · re-evaluate after 60 more blocks
▸ Block-log controls
Counterfactual tracking
log what-if P&L per block
Asymmetric window
2d-pre / 1d-post
Counterfactual horizon+5 days
days post-earnings to score what-if P&L
L2 / U-04 ─ POSITIONS · LIFECYCLE FLOW order filled → tracking → exit → realized PnL · IBKR-synced book
─── POSITION LIFECYCLE ───
Order FilledS-01
Auto-create positionon broker fill
Last fillNVDA Fri 09:16
Today0
7d total3
Open BookS-02
Reconcilerlive IBKR sync
Open / max9 / 8
Margin used$3,200
Cash$11,800
Min scoreNVDA 67.2
book detailDRILL ▸
TrackingS-03
Trailing stopsparams.trailing_stop_pct > 0
Highest close9 monitored
Trailing stops9 active
Hard stops9 set
Exit TriggerS-04
Time-exitforce after max_hold_days
Trail today0
Hard today0
Time-based0
Wk total2
Closed → PnLS-05
Equity trackingtick-by-tick mark-to-market
Wk realized−$141
Unrealized−$84
Wk W/L4 / 8
Expectancy−0.58%
equity curveDRILL ▸
▸ Position controls · sizing & risk
Trailing stops
trail high-water mark
Hard stops
fixed % below entry
Time-based exit
force after max_hold_days
Stop-out cooldown
block re-entry 24h
Reconciler
live IBKR sync
Max positions8
agent_config.max_positions
Max position %12%
agent_config.max_position_pct
Live capital$15,000
agent_config.live_capital
Trailing %2.9%
slider-derived
Hard stop %4.5%
slider-derived
Max hold days5
slider-derived (3–10)
L3 / U-04 / S-02 ─ OPEN BOOK · 9 LIVE POSITIONS 9/8 over-cap · weakest holding NVDA 67.2 · margin 21% utilized
9 / 8
Open · OVER-CAP
$15,116
Book MtM
−$84.20
Unrealized PnL
$3,200
Margin used
$11,800
Cash
SYNA 93.0
Top score
▸ Open positions · sortable · score-ascending shows weakest first (most-at-risk for displacement)
All (9) In profit (4) Drawdown (5) Margin-funded (3)
Ticker Side · Qty Entry Held Score Current MtM value Unrealized Funding Sector Action
NVDAlong · 8$209.391d 67.2$208.21$1,665.68 −$9.44 (−0.6%) MARGIN Tech
HWKNlong · 14$48.204d 72.4$50.40$705.60 +$30.80 (+4.6%) CASH Materials
FRTlong · 39$108.9615d 73.8$110.20$4,297.80 +$48.36 (+1.1%) CASH Real Estate
INTClong · 13$58.8917d 74.8$57.20$743.60 −$22.10 (−2.9%) CASH Tech
BAClong · 14$52.8712d 76.5$54.60$764.40 +$24.20 (+3.3%) CASH Financials
VTOLlong · 13$49.3117d 76.8$48.10$625.30 −$15.50 (−2.5%) CASH Industrials
HOLXlong · 14$89.403d 80.0$92.10$1,289.40 +$37.80 (+3.0%) CASH Health Care
DXlong · 25$52.105d 83.8$54.20$1,355.00 +$52.50 (+4.0%) MARGIN Real Estate
SYNAlong · 35$74.123d 93.0$72.80$2,548.00 −$46.20 (−1.8%) MARGIN Tech
▸ Allocation by sector
Tech (NVDA INTC SYNA)
$4,957 · 33%
Real Estate (FRT DX)
$5,653 · 37%
Health Care (HOLX)
$1,289 · 9%
Financials (BAC)
$764 · 5%
Materials (HWKN)
$706 · 5%
Industrials (VTOL)
$625 · 4%
Real Estate concentration is 37% — well above the 25% sector cap suggested by Rule 8. FRT + DX both rate-sensitive. Worth flagging.
▸ Position size discipline
FRT
28.4% · OVER 12% cap
SYNA
16.9%
NVDA
11.0%
DX
9.0%
HOLX
8.5%
others (4)
4-5% each
FRT 28.4% vs 12% per-position cap — accumulated through carry-over. Consider trimming.
L3 / U-04 / S-05 ─ REALIZED PnL · EQUITY CURVE · 30-DAY HISTORY all closed positions · win/loss patterns · drawdown vs benchmark
+1.07pp
Wk excess vs SPY
+1.61%
Agent week
12
Trades · week
4 / 8
W / L · 33%
−0.58%
Expectancy
−2.1%
Max drawdown
▸ Equity curve · agent vs SPY benchmark · % from baseline
1D 7d 30d 90d YTD
0%
Agent · SPY · excess: max drawdown vs SPY: days:
▸ Closed trades · last 30 days · sortable by realized PnL or hold duration
All (28) Wins (10) Losses (18) Trail-stops (12) Hard-stops (3)
Closed Ticker Trigger Entry → Exit Held Score (entry) Realized PnL %
04-23 14:08CTRItrail_stop$24.78 → $24.182d56.7−$36−2.4%
04-22 11:22JPMdisplacement$248.10 → $250.405d73.6+$23+0.9%
04-22 11:20PDOdisplacement$19.20 → $19.303d44.5+$5+0.5%
04-21 09:34AMPXhard_stop$14.32 → $13.200.5d62.2−$105−7.8%
04-21 09:32AMPXhard_stop$14.65 → $13.400.0d59.8−$84−8.5%
04-18 15:40STRCtrail_stop$100.00 → $97.105d45.2−$58−2.9%
04-17 10:22CSCOtrail_stop$54.20 → $52.804d52.1−$28−2.6%
04-16 14:18JPMdisplacement$245.20 → $248.106d71.0+$29+1.2%
04-15 13:42ZMtrail_stop$71.40 → $69.503d87.9−$57−2.7%
04-14 09:52AVGOtrail_stop$1,890 → $1,8384d68.4−$52−2.8%
04-12 14:22PLDtime_exit$118.40 → $122.1010d61.2+$74+3.1%
04-10 11:18HWKNtime_exit$45.10 → $47.809d58.6+$38+6.0%
04-08 16:00METAtime_exit$598 → $61210d64.8+$28+2.3%
04-07 15:42CRMtrail_stop$298 → $2905d52.4−$32−2.7%
...14 more trades · scrollable
L2 / U-05 ─ LEARNING · FEEDBACK FLOW (closes loop to U-01) retro buckets → scorecard → calibration analyst → proposals → prompt registry → curation
▸ LEARNING SCORECARD · are we improving?
Catchable Capture Rate
· target 100%
30-day catchable capture trend
0%50%100% target
Hit Rate
CAUGHT / (CAUGHT + FP)
FP Rate
false positives / total HIGH
Caught (window)
simple + compound
Expectancy 5d
avg 5d return on caught picks
Where catchable breakouts are lost (lower = better)
curator_skipped
→ AI curator prompt
watchlist_no_signal
→ 4-condition gate
entry_blocked
→ entry gates (Phase 9)
Meta-loop health
Active prompt
Versions evolved
Approved
Pending
Loading health checks…
─── PROMPT EVOLUTION LOOP ───
Curation RetroS-01
Daily runpopulate D+1/3/5 outcomes
Caught (D+1)6
Caught compound22
Missed compound81
FP compound8
bucket explorerDRILL ▸
Weekly ScorecardS-02
Friday auto-runphase 6
Agent+1.61%
SPY+0.54%
Excess+1.07pp
Trades12 (4W/8L)
Calibration AnalystS-03
Friday auto-runOpus 4.7 audit
Outcomes296
Sample30
Cost$0.28
Latency53.6 s
audit detailDRILL ▸
ProposalsS-04
Manual approvalalways required (safety)
Generated wk2
Approved wk2
Pending0
Total since v114
proposal queueDRILL ▸
Prompt RegistryS-05
Atomic flipssupersedes pending on approval
Activev10
Activated04-25 04:48
Heritagev1 → v10
version historyDRILL ▸
◂◂◂ CLOSES LOOP: Prompt v10 (S-05) becomes the system instruction for next Curation run (U-01) — feedback completes
▸ Learning controls
Calibration weekly
phase 6 / Fri only
Retro daily
populate outcomes D+1/3/5
Compound buckets
curation_retro v2 (added 2026-04-25)
FMP gainers scan
find MISSED_OUTSIDE breakouts
Auto-approve proposals
always OFF (safety)
Compound 3d %5.0%
COMPOUND_3D_THRESHOLD (2–15)
Compound 5d %8.0%
COMPOUND_5D_THRESHOLD (3–20)
D+1 breakout %3.0%
BREAKOUT_PCT_THRESHOLD
D+1 vol pace1.5×
BREAKOUT_PACE_THRESHOLD
L3 / U-05 / S-01 ─ CURATION RETRO BUCKETS · 14-DAY CORPUS how today's prompt is being scored · CAUGHT vs MISSED vs FALSE_POSITIVE per pick
▸ CAUGHT (D+1)
HIGH conviction picks that broke out ≥3% on ≥1.5× volume the next day. The textbook win.
▸ CAUGHT compound
HIGH picks that compounded to 5%/3d or 8%/5d. Slow-burn winners — NEW bucket from 04-25.
▸ MISSED inside (D+1)
Medium/low conviction or excluded picks that broke out next day — should have been HIGH.
▸ MISSED compound
Lower-conviction picks that compounded into a breakout. The largest signal — biggest training corpus for the analyst.
▸ MISSED outside
Stocks not in our pool that broke out — screener tuning issue, not prompt.
▸ FALSE_POSITIVE (D+1)
HIGH picks that dropped >2% next day. Real duds.
▸ FP compound
HIGH picks that bled >5% over 5 days. Persistent fades.
○ UNREMARKABLE
Boring middle — neither broke out nor faded. Used as contrast corpus.
▸ Daily bucket counts · last 14 days · stacked-area shows mix evolution
04-1204-1304-1404-1504-1604-1704-1904-2104-2204-2304-2404-25
CAUGHT (+ compound) MISSED inside (+ compound) FALSE_POSITIVE (+ compound) UNREMARKABLE days 04-22 onward unresolved (waiting for D+5)
▸ Sample tickers per bucket · top 5 per bucket by absolute breakout %
Curation dayTickerConvictionD+1D+3D+5BucketSectorReasoning excerpt
Loading…
L3 / U-05 / S-03 ─ CALIBRATION ANALYST · LAST WEEKLY RUN (FRI 04-24) Opus 4.7 audited 60d outcomes, sampled 30, proposed 2 changes · cost $0.28 · 53.6s
Auditor model
Outcomes seen
Sampled
Proposals
Cost
Latency
PROPOSALS PENDING · next auto-run: Friday 21:00 ET (post-close, phase 6) · force-run: /api/calibration/run
Loading proposals…
▸ Auditor's "don't know yet" section · areas with insufficient evidence
Loading…
▸ Calibration run history · last 8 runs
Run atBase versionOutcomesPersisted/TotalCostStatus
Loading…
L3 / U-05 / S-04 ─ PROPOSAL QUEUE · USER REVIEW GATE all proposals require manual approval · auto-approve always disabled (safety)
0 PROPOSALS PENDING · all caught up · next run: Friday 2026-05-01 21:00 ET (post-close, phase 6)
▸ Proposal history · all 14 since v1 · approval auto-supersedes any other pending
All (14) Approved (10) Rejected (1) Superseded (3)
ID Created Source version Target version Rule changed Status Resolved by Resolved at
1404-25 04:45v9v10Rule 9 + 14 (merged)APPROVEDuser04-25 04:48
1304-25 02:53v9Rule 14 (Financials cap)SUPERSEDEDauto04-25 04:48
1204-25 02:53v9Rule 9 (volume phrasing)SUPERSEDEDauto04-25 04:48
1104-22 02:53v8v9Rule 13 (Insider corroboration)APPROVEDuser04-22 02:53
1004-22 02:53v7v8Rule 12 (Breakout proximity floor)APPROVEDuser04-22 02:53
904-22 02:52v6v7Rule 11 (Thematic discipline)APPROVEDuser04-22 02:52
504-22 02:52v5v6Rule 10 (Macro + price)APPROVEDuser04-22 02:52
404-19 14:22v4v5Rule 9 hardening (volume threshold raised)APPROVEDuser04-19 14:22
304-15 21:08v3v4Rule 8 (Sector concentration cap)APPROVEDuser04-15 21:08
204-12 18:42v2v3Insider conviction down-weightAPPROVEDuser04-12 18:42
104-08 21:14v1v2Earnings blackout languageAPPROVEDuser04-08 21:14
704-19 14:18v4Allow LLM-only sentiment HIGH (rejected by user)REJECTEDuser04-19 14:21
804-19 14:21v4Lower rsi_high cap to 65 (superseded by #4)SUPERSEDEDauto04-19 14:22
604-15 21:04v3Add Reddit-mention soft cap (superseded by #3)SUPERSEDEDauto04-15 21:08
L3 / U-05 / S-05 ─ PROMPT REGISTRY · v1 → v10 HERITAGE single-live constraint · approve_proposal atomic flip · supersedes all other pending
v10 ACTIVE · 9,182 chars · 14 rules
Activated 2026-04-25 04:48 UTC
Parent: v9 · Approved: user · Note: "merged proposals 12 and 13"
▸ Version history · 10 versions in 23 days
All (10) Active (1) Retired (9)
Version Activated Parent Proposal Headline change Lifespan Status Action
v10 04-25 04:48 v9 #14 (merged 12+13) Rule 9 hardened (volume phrasing) + Rule 14 added (Financials cap) active LIVE
v904-22 02:53v8#11Rule 13 (insider corroboration explicit)2d 22hRETIRED
v804-22 02:53v7#10Rule 12 (breakout proximity floor 1%)0d 0m (consec)RETIRED
v704-22 02:52v6#9Rule 11 (thematic narrative discipline)0d 1mRETIRED
v604-22 02:52v5#5Rule 10 (macro thesis + price requires confirmation)0d 0mRETIRED
v504-19 14:22v4#4Rule 9 hardening — volume threshold 1.5×→2.0×2d 12hRETIRED
v404-15 21:08v3#3Rule 8 (sector concentration cap on HIGH)3d 17hRETIRED
v304-12 18:42v2#2Insider conviction soft down-weight3d 2hRETIRED
v204-08 21:14v1#1Earnings blackout language clarification4dRETIRED
v104-04 16:00Initial seed prompt (manually authored)4d 5hRETIRED
▸ Diff preview · v9 → v10 (representative excerpt)
- 9. CONFIRMATION RULE for HIGH conviction: At least TWO of these signals must be present...
+ 9. CONFIRMATION RULE for HIGH conviction: At least TWO of these signals must be present — not just one:
+ - Volume pace > 2.0x typical for time-of-day (not cumulative-vs-daily-avg). A vol_ratio below 2.0x is NOT a volume confirmation signal.
+ The following phrasings are STRICTLY PROHIBITED for any vol_ratio < 2.0x in HIGH-tier reasoning, regardless of context:
+ 'volume breakout', 'volume surge', 'volume anomaly', 'volume confirmation', 'high volume', 'massive volume'...
10. MACRO THESIS + PRICE RULE: ...
11. THEMATIC NARRATIVE DISCIPLINE: ...
12. BREAKOUT PROXIMITY FLOOR: ...
13. INSIDER-BUYING CORROBORATION: ...
+ 14. FINANCIAL SERVICES THESIS CAP — Financial Services HIGH picks have shown a disproportionate FALSE_POSITIVE concentration when
+ justified by macro rotation themes ('regional banks finding a floor', 'normalization of rate environment', etc.). When a Financial
+ Services candidate's primary rationale is a top-down rotation/rate/inflation narrative rather than a per-stock catalyst (earnings
+ beat, named analyst upgrade with target, confirmed >1% breakout close, ≥2.0x volume), it qualifies as MEDIUM at most. No more than
+ 2 Financial Services HIGH picks per day may share a rotation/rate/inflation thesis (tightened from Rule 8's general cap of 3).
Net change: +2,341 chars · +1 rule · Rule 9 expanded with explicit phrase ban · Rule 14 added (FinSvc cap)