How finshort's proprietary scores are calculated. See also our data sources.
A composite score from 0 to 100 measuring overall short-selling pressure on a stock — not just legacy positions, but active, ongoing shorting. Seven factors contribute up to 135 points, capped at 100:
Stocks with less than 3% of float sold short use a reduced formula capped at 15 points, so tickers with negligible short interest cannot rank high on borrow-fee noise alone. Stocks missing float or short interest data score 0.
Interpretation: 70–100 extreme, 50–69 high, 30–49 moderate, 15–29 low, 0–14 minimal.
A score from 0 to 100 measuring short squeeze potential. Where the Short Pressure Score captures the breadth of short activity, the Squeeze Score focuses on the conditions that precede squeezes. Six factors sum to a maximum of 100 points:
Interpretation: 70–100 high squeeze potential, 40–69 moderate, 20–39 low, 0–19 minimal.
A score from 0 to 100 measuring how fast the cost to borrow is rising. The key principle: a stock with a 100% borrow rate that has not changed scores 0 — only change matters. Acceleration indicates active pressure: shorts scrambling for shares and supply drying up in real time.
Five components contribute up to 125 points, capped at 100: 6-hour relative change (30 pts), acceleration — whether the rate of change is itself increasing (15 pts), a consistency bonus for sustained rising patterns (10 pts), today's rise from the intraday low (20 pts), and the multi-day weekly trend (50 pts, the primary component).
Every component is weighted by a significance multiplier based on the current borrow rate level — from 0.15x below 2% CTB up to full weight at 30%+ CTB — so cheap-to-borrow stocks cannot score high on tiny absolute moves.
A score from 0 to 100 measuring how long the cost to borrow has stayed meaningfully elevated. It is the complement of the momentum score: momentum asks "is CTB rising right now?", persistence asks "has CTB been stuck high for weeks?"
The score combines three ingredients over a 14-day window: the share of days where the average borrow rate stayed at or above 10%, a level multiplier based on the 14-day average rate (zero weight below 5%, full weight above 40%), and a stickiness multiplier that rewards windows where the rate never dipped cheap. Elevated-day counting uses daily averages, so a single minute-long spike cannot fake persistence.
A decay guard caps the score at 25 whenever the current borrow rate has collapsed back below 5%, so yesterday's squeeze cannot light up today's alerts. The score is null until 14 days of history exist for a symbol.
All scores are recalculated together after every major data update:
Persistence is updated first, then the Squeeze Score, then the Short Pressure Score, so each calculation sees fresh inputs.
These scores are proprietary estimates built from publicly reported data. FINRA short interest is reported twice monthly with a publication lag, so positions can change between reports. Borrow rates vary between brokers. No score predicts price movement — see our disclaimer.