Scanner: expand default watchlist from 15 to 37 sector-diversified names
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 <noreply@anthropic.com>
This commit is contained in:
@@ -526,15 +526,26 @@ optionsRouter.delete("/orders/:id", (c) => {
|
|||||||
// HV30 and IV/HV ratio for each. Highlight spikes where IV >> HV.
|
// HV30 and IV/HV ratio for each. Highlight spikes where IV >> HV.
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
const DEFAULT_SCAN_SYMBOLS = [
|
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",
|
"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) => {
|
optionsRouter.get("/scan", async (c) => {
|
||||||
const symsParam = c.req.query("symbols");
|
const symsParam = c.req.query("symbols");
|
||||||
const symbols = (symsParam ? symsParam.split(",") : DEFAULT_SCAN_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);
|
if (symbols.length === 0) return c.json(fail("No symbols to scan"), 400);
|
||||||
|
|
||||||
|
|||||||
@@ -216,7 +216,24 @@
|
|||||||
<script src="/assets/alpine.min.js" defer></script>
|
<script src="/assets/alpine.min.js" defer></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const DEFAULT_SYMBOLS = ["SPY","QQQ","IWM","DIA","AAPL","MSFT","NVDA","GOOGL","META","AMZN","TSLA","AMD","NFLX","COIN","INTC"];
|
// Curated default watchlist (~37 names) — sector-diversified, all optionable mid+ cap.
|
||||||
|
// Backend caps custom lists at 100 symbols.
|
||||||
|
const DEFAULT_SYMBOLS = [
|
||||||
|
// Indices & sector ETFs
|
||||||
|
"SPY","QQQ","IWM","DIA","SMH","XLF","XLE","XLK",
|
||||||
|
// Mega-cap tech
|
||||||
|
"AAPL","MSFT","NVDA","GOOGL","META","AMZN",
|
||||||
|
// Semiconductors
|
||||||
|
"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",
|
||||||
|
];
|
||||||
|
|
||||||
function scannerApp() {
|
function scannerApp() {
|
||||||
return {
|
return {
|
||||||
|
|||||||
Reference in New Issue
Block a user