bybit-scan
Ranks Bybit linear (USDT) perpetuals by a 15-minute volatility spike signal, filtered for tight spreads and real liquidity.
When to use
- "Scan Bybit for movers / scalp candidates"
- "What's volatile right now?"
- "Find me 3 perps with a vol spike"
How to run
python bybit-scan/scan.py [--top N] [--min-turnover USD] [--max-spread-bps N] [--min-range-pct N] [--min-spike N] [--prescreen N] [--json]
Defaults: top 5, min turnover $50M/24h, max spread 5 bps, min 15m range 0.4%, spike ratio >= 1.3, prescreen 40 symbols.
Output
A table with: symbol, last price, 15m range %, prior 45m range %, spike ratio
(15m range / prior 45m range), 15m direction, spread bps, 24h turnover. Sorted
by spike_ratio * range_15m_pct descending.
Exit codes
- 0 on success (including "no candidates passed the filters")
- non-zero if Bybit returns an error
Notes
- Source: Bybit v5 public REST (
/v5/market/tickers,/v5/market/kline). No auth. - Requires
requests. - The scan is a screener, not a signal. Follow up with
bybit-structureon the picks before planning a trade.