60-day backtest at 21:00 UTC anchor — each perp's next-24h turnover vs its own
baseline, comparing the new RVOL/z-score rules against the old TradingView-style
screen (volume change ≥10%, range ≥3%, RVAT ≥2×). Full source:
scripts/screener_backtest.py — run with --days 60 --hour 21.
| Rule | Picks/day | Fwd RVOL | vs market | ≥1.5× hit | Fwd volat | Fwd range | Session | Retain |
|---|---|---|---|---|---|---|---|---|
| Screener new | 40.4 | 2.78× | 1.78× | 79% | 1.73× | 11.5% | 3.15× | 0.75 |
| Screener Top-10 | 10.0 | 11.10× | 8.40× | 95% | 2.60× | 18.9% | 14.04× | 0.57 |
| TV-style (old) old | 18.5 | 3.91× | 2.12× | 86% | 2.09× | 13.6% | 4.83× | 0.68 |
| TV-style (vol only, no RVAT) | 38.2 | 1.91× | 1.30× | 60% | 1.37× | 9.9% | 2.03× | 0.81 |
| Universe (≥ $10M) | 78.7 | 1.47× | 1.11× | 49% | 1.18× | 8.6% | 1.60× | 0.88 |
| Focused | 5.7 | 18.04× | 13.28× | 98% | 2.72× | 26.3% | 21.87× | 0.56 |
| Broad | 11.1 | 13.24× | 9.10× | 98% | 2.62× | 21.5% | 17.32× | 0.52 |
| Emerging | 8.9 | 12.46× | 8.32× | 97% | 2.90× | 19.0% | 16.28× | 0.52 |
| Breakout | 14.8 | 8.73× | 6.28× | 94% | 2.26× | 18.1% | 10.78× | 0.56 |
python3 scripts/screener_backtest.py --days 35 --hour 21 (~75s, caches symbol data).USDT volume per unit of price movement. High = deep book = makers absorbing flow.
Price impact per US$ of volume. Low = liquid (makers present). High = illiquid.
How fast positions open/close each hour. Higher = more rolling activity.
| UTC | SYD | Session | Depth % | Amihud % | OI Chg%/hr | Interpretation |
|---|