From 74a727d0ae8e1ca1599740b2109c89ea5c7aa755 Mon Sep 17 00:00:00 2001 From: ojy Date: Wed, 13 May 2026 10:02:53 +0000 Subject: [PATCH] Scanner: expand default watchlist from 15 to 37 sector-diversified names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous default leaned heavily on mega-cap tech. EDGE setups are rarer than that — you want a wider net across sectors to catch the 1-3 setups per week that actually qualify. Curated to 37 names that are all optionable mid+ cap with reasonable LEAPS liquidity: Indices/ETFs: SPY, QQQ, IWM, DIA, SMH, XLF, XLE, XLK Mega-cap tech: AAPL, MSFT, NVDA, GOOGL, META, AMZN Semis: AMD, INTC, TSM, AVGO, MU High-vol/event-driven: TSLA, NFLX, COIN, PLTR, SHOP, UBER, MARA Financials: JPM, BAC, GS, V Healthcare: LLY, JNJ, UNH Consumer/energy: XOM, WMT, DIS, MCD Also bumped the per-scan cap from 30 to 100 so users can paste custom lists up to 100 symbols (the previous 30-cap silently truncated lists like the new 37-name default). Full default scan completes in ~3.5s with zero errors and correctly surfaces only the genuine EDGE setups (live test: NVDA / INTC / AAPL flag, the other 34 do not). Co-Authored-By: Claude Sonnet 4.6 --- backend/src/routes/options.ts | 17 ++++++++++++++--- frontend/scanner.html | 19 ++++++++++++++++++- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/backend/src/routes/options.ts b/backend/src/routes/options.ts index 9125ece..16ecf7a 100644 --- a/backend/src/routes/options.ts +++ b/backend/src/routes/options.ts @@ -526,15 +526,26 @@ optionsRouter.delete("/orders/:id", (c) => { // HV30 and IV/HV ratio for each. Highlight spikes where IV >> HV. // --------------------------------------------------------------------------- const DEFAULT_SCAN_SYMBOLS = [ - "SPY","QQQ","IWM","DIA", + // Indices & sector ETFs (8) — vol-stable references + "SPY","QQQ","IWM","DIA","SMH","XLF","XLE","XLK", + // Mega-cap tech (6) "AAPL","MSFT","NVDA","GOOGL","META","AMZN", - "TSLA","AMD","NFLX","COIN","INTC", + // Semiconductors (5) — frequent earnings & policy catalysts + "AMD","INTC","TSM","AVGO","MU", + // High-vol / event-driven (7) + "TSLA","NFLX","COIN","PLTR","SHOP","UBER","MARA", + // Financials (4) + "JPM","BAC","GS","V", + // Healthcare (3) + "LLY","JNJ","UNH", + // Consumer / energy (4) + "XOM","WMT","DIS","MCD", ]; optionsRouter.get("/scan", async (c) => { const symsParam = c.req.query("symbols"); const symbols = (symsParam ? symsParam.split(",") : DEFAULT_SCAN_SYMBOLS) - .map((s) => s.trim().toUpperCase()).filter(Boolean).slice(0, 30); + .map((s) => s.trim().toUpperCase()).filter(Boolean).slice(0, 100); if (symbols.length === 0) return c.json(fail("No symbols to scan"), 400); diff --git a/frontend/scanner.html b/frontend/scanner.html index 78bdbb2..37cd35c 100644 --- a/frontend/scanner.html +++ b/frontend/scanner.html @@ -216,7 +216,24 @@