Regler
// ============================================================
// COILED SPRING SHORT SQUEEZE SCREENER — v4
// Paste into fintel.io/wb
// ============================================================
//
// EARNINGS PROTECTION — HOW IT WORKS WITHOUT A DATE FIELD
// ─────────────────────────────────────────────────────────
// Fintel Workbench has no DaysToNextEarnings field.
//
// The proxy is OptionImpliedVolatility.
//
// The options market prices in upcoming earnings as a binary
// event — IV spikes sharply in the 10–14 days before a report.
// For small/mid-cap stocks ($3–$50 range), normal IV sits
// roughly between 50–100%. Pre-earnings IV typically surges
// to 130–250%+ as traders buy straddles and protective puts.
//
// WGS (−45%) and FWRD (−47%) — the two catastrophic losses
// in the 311-entry dataset — almost certainly had IV well
// above 120% in the days before they were entered.
//
// Setting OptionImpliedVolatility < 120 acts as a soft
// earnings-proximity block that catches the majority of
// pre-earnings situations without needing a date field.
//
// IMPORTANT — DO THIS AFTER RUNNING THE SCREEN:
// Cross-check your results against fintel.io/eps
// (Fintel's own earnings calendar). Takes under 60 seconds.
// Any result showing earnings within 10 days → skip it.
// Belt-and-suspenders: the IV filter + the manual calendar
// check together provide close to bulletproof earnings protection.
//
// RISK MANAGEMENT RULES (enforce outside Fintel)
// ───────────────────────────────────────────────
// STOP LOSS : −8% hard exit. No exceptions.
// TIME STOP : Close any position after 5 trading days.
// Win rate collapses past day 5 in the dataset.
// BLACKLIST : ASTS — 4 closed losses from 4 entries. Skip on sight.
//
// ============================================================
// ── UNIVERSE ──────────────────────────────────────────────
Country = US;
Exchange != OTC;
// ── PRICE SWEET SPOT ──────────────────────────────────────
Price > 3;
Price < 50;
// ── EARNINGS PROXIMITY PROXY ──────────────────────────────
OptionImpliedVolatility < 120;
// Normal IV for $3–$50 small/mid caps: 50–100%
// Pre-earnings IV: typically 130–250%+
// This gate blocks the majority of imminent-earnings situations
// Biotech note: some high-IV names stay above 120% structurally
// due to trial catalysts — treat those as manual exclusions too
// ── LIQUIDITY ─────────────────────────────────────────────
VolumeAvg1Week > 300000;
// ── FLOAT ─────────────────────────────────────────────────
SharesFloat < 50000000;
// ── SHORT SQUEEZE FUEL ────────────────────────────────────
ShortInterestPercentFloat > 15;
DaysToCover > 2;
ShortSqueezeScore > 65;
// ── VOLUME IGNITION ───────────────────────────────────────
Volume > VolumeAvg1Week * 1.2;
// ── MOMENTUM BAND ─────────────────────────────────────────
rsi({14d}) > 45;
rsi({14d}) < 68;
// ── SPRING NOT ALREADY RELEASED ──────────────────────────
Price < Price{30d} * 1.30;
Price < Price{10d} * 1.20;
// ── NOT IN ACTIVE FREEFALL ────────────────────────────────
Price > Price{5d} * 0.95;
// ── MARKET CAP ────────────────────────────────────────────
MarketCap > 50000000;
MarketCap < 2000000000;
// ── DISPLAY ───────────────────────────────────────────────
ShortSqueezeScore;
GammaSqueezeScore;
ShortInterestPercentFloat;
DaysToCover;
SharesFloat;
OptionImpliedVolatility;
OptionPutCallRatio;
Volume;
VolumeAvg1Week;
rsi({14d});
MarketCap;
Price;
order by ShortSqueezeScore desc;
limit 30;
// ════════════════════════════════════════════════════════════
// TIER 2 — if tier 1 returns fewer than 10 results
// Volume gate removed, signals widened, IV threshold raised
// ════════════════════════════════════════════════════════════
/*
Country = US;
Exchange != OTC;
Price > 3;
Price < 50;
OptionImpliedVolatility < 140; // slightly wider — still catches most earnings spikes
VolumeAvg1Week > 200000;
SharesFloat < 75000000;
ShortInterestPercentFloat > 10;
DaysToCover > 1.5;
ShortSqueezeScore > 55;
rsi({14d}) > 45;
rsi({14d}) < 68;
Price < Price{30d} * 1.30;
Price < Price{10d} * 1.20;
Price > Price{5d} * 0.95;
MarketCap > 50000000;
MarketCap < 2000000000;
ShortSqueezeScore;
GammaSqueezeScore;
ShortInterestPercentFloat;
DaysToCover;
ShortBorrowRate;
SharesFloat;
OptionImpliedVolatility;
OptionPutCallRatio;
Volume;
VolumeAvg1Week;
rsi({14d});
MarketCap;
Price;
order by ShortSqueezeScore desc;
limit 50;
*/
// ════════════════════════════════════════════════════════════
// POST-EARNINGS SQUEEZE — separate bonus screen
// Targets stocks where earnings just passed positively.
// IV collapses after report (earnings IV crush) while
// short covering begins. FLNC +50% was this setup.
// Run separately, check fintel.io/eps for recent beats.
// ════════════════════════════════════════════════════════════
/*
Country = US;
Exchange != OTC;
Price > 3;
Price < 60;
VolumeAvg1Week > 300000;
OptionImpliedVolatility < 90; // IV has already crushed post-earnings
SharesFloat < 75000000;
ShortInterestPercentFloat > 12;
DaysToCover > 1.5;
ShortSqueezeScore > 50;
rsi({14d}) > 50;
Price > Price{3d} * 1.02; // already moving on the earnings beat
MarketCap > 30000000;
MarketCap < 3000000000;
ShortSqueezeScore;
GammaSqueezeScore;
ShortInterestPercentFloat;
DaysToCover;
OptionImpliedVolatility;
rsi({14d});
Volume;
VolumeAvg1Week;
Price;
order by ShortSqueezeScore desc;
limit 25;
*/