Regler
// ============================================================
// FINTEL WORKBENCH — Short Squeeze + Piotroski Screener v2
// Wider criteria — more candidates, Piotroski gate unchanged
// Paste into fintel.io/wb
// ============================================================
// --- UNIVERSE ---
Country = US;
// --- PIOTROSKI QUALITY GATE (unchanged) ---
// Filters out value traps legitimately shorted for good reason
PiotroskiScore >= 7;
// --- SHORT SQUEEZE SIGNALS (loosened) ---
// Lowered from 20 → 10: catches mid-range short interest setups;
// double digits is still meaningful positioning
ShortInterestPercentFloat > 10;
// Lowered from 5 → 2: even modest days-to-cover adds covering friction
DaysToCover > 2;
// --- PRICE & LIQUIDITY (loosened) ---
// Lowered from $2 → $1 to include more small-caps
Price > 1;
// Lowered from 500k → 200k avg volume — still avoids truly illiquid names
VolumeAvg1Week > 200000;
// Raised float cap from 20M → 50M — includes more actionable names
SharesFloat < 50M;
// --- OUTPUT COLUMNS ---
ShortInterestPercentFloat;
DaysToCover;
ShortBorrowRate;
SharesFloat;
PiotroskiScore;
ShortSqueezeScore;
MarketCap;
Price;
VolumeAvg1Week;
// --- SORT: Fintel's composite squeeze score first ---
order by ShortSqueezeScore desc;
// ============================================================
// ALTERNATIVE: SCORE-FIRST APPROACH
// If still too few results, swap to this block.
// Uses ShortSqueezeScore as the primary filter instead of
// stacking multiple hard conditions. More candidates but
// slightly less filtered on individual metrics.
// ============================================================
/*
Country = US;
// Only hard gates: Piotroski and a minimal short interest threshold
PiotroskiScore >= 7;
ShortInterestPercentFloat > 7;
Price > 1;
// Let Fintel's own squeeze model do the heavy lifting
ShortSqueezeScore > 20;
ShortInterestPercentFloat;
DaysToCover;
ShortBorrowRate;
SharesFloat;
PiotroskiScore;
ShortSqueezeScore;
MarketCap;
Price;
VolumeAvg1Week;
order by ShortSqueezeScore desc;
*/
// ============================================================
// WHAT CHANGED FROM v1 AND WHY
// ============================================================
//
// METRIC v1 (tight) v2 (loose) RATIONALE
// ──────────────────────────────────────────────────────────────
// ShortInterestPercentFloat > 20 > 10 Catches mid-range
// setups; 10%+ is still
// meaningful short pressure
//
// DaysToCover > 5 > 2 Even 2–4 days of covering
// friction can trigger a move
//
// ShortBorrowRate > 30 REMOVED Often absent/null for many
// eligible tickers; was
// excluding good candidates
//
// SharesFloat < 20M < 50M Widened to include more
// small-cap names
//
// VolumeAvg1Week > 500k > 200k More accessible threshold;
// still filters illiquid names
//
// Price > 2 > 1 Includes $1–$2 range where
// many squeeze setups occur
//
// PiotroskiScore >= 7 >= 5 UNCHANGED — quality gate
// remains the same
//
// ============================================================
// FIELD REFERENCE
// ============================================================
//
// ShortInterestPercentFloat — Short interest as % of float
// DaysToCover — Short interest / avg daily volume
// ShortBorrowRate — Annualized fee to borrow shares (%)
// SharesFloat — Shares available for public trading
// PiotroskiScore — F-Score 0–9 (profitability/leverage/efficiency)
// ShortSqueezeScore — Fintel's proprietary composite squeeze score
// VolumeAvg1Week — 5-day average daily volume
// Price — Current share price
// MarketCap — Market capitalisation
//
// ============================================================