faborb · Opening Range Breakout on Crypto Perps

A systematic test of whether the Nasdaq ORB strategy (Fabio Valentini's setup, as analyzed in Matteo Conti's video, rooted in the 2018 JFE "Market Intraday Momentum" paper) transfers to Bybit USDT-margined perpetuals — 6 months of data, 50 symbols, confluence filters, volatility-targeting sizing, regime analysis, and walk-forward out-of-sample validation.

Bybit v5 public API · free data stdlib-only Python + requests 54 unit tests 90d + 180d top-50 JSON reports
TL;DR — the headline finding: the ORB edge does NOT transfer to crypto perps at scale. Over 180 days × 50 symbols: only 9/50 (18%) profitable, aggregate net −$4,234, and walk-forward OOS was positive on just 15/50. The promising 30-day numbers were a low-volatility regime artifact. A two-factor symbol screen (trend + breakout follow-through) concentrates ~15× of the available edge but does not create profitability alone.

1The Strategy

2Headline Numbers

9/50
symbols profitable (180d)
−$4,234
aggregate net (180d, $10k start each)
15/50
walk-forward OOS-positive

3Results by Horizon — Why Sample Length Matters

HorizonProfitableTotal netAvg PFWFO OOS+Read
30 days17/50 (34%)−$1,0230.9428/50 (56%)flattering — looked real
90 days12/49 (24%)−$3,8380.7410/49 (20%)edge starts to break
180 days9/50 (18%)−$4,2340.7815/50 (30%)marginal-to-negative at scale
The 30-day window made 8 of its top-10 in-sample symbols look OOS-positive. At 90d that collapsed to 5/10 (≈ coin flip). Short windows flatter; always extend history + walk-forward.

3.5Results Charts

Profitable symbols by horizon (%)
34%
30 days
net −$1,023
24%
90 days
net −$3,838
18%
180 days
net −$4,234
Share of 50 top bybit perps with positive ORB net over each horizon. The edge decays as the window lengthens.
Top symbols · 180-day net profit (zero-centered)
FARTCOINUSDT
+$267
ZECUSDT
+$240
HEMIUSDT
+$228
CYSUSDT
+$180
SUIUSDT
+$102
ETHUSDT
+$34
CLUSDT
+$23
NIULAIUSDT
+$18
WLDUSDT
+$4
SNXXUSDT
−$14
Right of center = profitable, left = losing. Scale: ±$300. Only 9 of 50 symbols end positive over 6 months.

4Top Symbols at 180 Days

Best in-sample

SymbolNetPFR/DD
FARTCOINUSDT+$2671.521.9
ZECUSDT+$2401.532.7
HEMIUSDT+$2281.431.6
CYSUSDT+$1801.411.5
SUIUSDT+$1021.422.5
ETHUSDT+$341.140.5

Best walk-forward (OOS)

SymbolOOS netStability
ZECUSDT+$1600.46
PUMPFUNUSDT+$970.37
KORUUSDT+$800.63
LITUSDT+$730.37
CYSUSDT+$390.23
ETHUSDT+$310.43

5Volatility-Regime Gate — Tested & Rejected

Added a no-lookahead ATR% percentile gate (20–80 band) directly into the backtest entry logic, then A/B'd 6 band variants on 90 days:

ConfigTradesTotal net
no-regime507−$414 (best)
band 20–80404−$877
band 10–90472−$599
band 0–80420−$806
band 30–70327−$696
band 40–90436−$579

Every gate variant made aggregate net worse. The gate blocks ~20% of trades, but the filtered low-vol tail contained the profitable breakouts. Default is OFF (--regime opt-in).

6Why Do the "Surviving" Symbols Persist?

Critical correction: of the original 3 survivors, CASHCATUSDT is a 27-day-old listing — its "edge" was a new-listing artifact, not structural. Genuine 6-month survivors: CYSUSDT, ETHUSDT (+ ZEC, SUI, CL).

Winners vs losers feature comparison (180d medians):

FeatureWinnersLosersRead
Period return+41%−3%winners were in strong uptrends
ATR p90 (vol bursts)1.100.64winners have fat right tails
target_share (breakouts reach 1R)0.380.31genuine follow-through
stop_share0.260.31fewer stops
ema_frac (4H above EMA)0.490.46weak — trend isn't the whole story

Discriminators: trend regime + genuine breakout follow-through. Non-discriminators: opening-range tightness, coiling, intraday vol level.

7Optimization Levers — Properly Tested OOS

Train→test screenOOS netOOS PFvs ALL
ALL (no screen)−$3,7510.62
train target_share ≥ 0.38−$3610.97~14× loss cut
train tgt ≥ 0.38 & stop ≤ 0.30−$2400.99~15× loss cut

8Verdict

  1. The Nasdaq ORB edge does not reliably transfer to crypto perps — the JFE intraday-momentum effect doesn't reproduce at meaningful scale on perps.
  2. The "winners" are mostly long-only beta in trending names with genuine follow-through — a regime/subset effect, not a structural edge.
  3. Most defensible optimization: a two-factor symbol screen — persistent uptrend (4H EMA) + historical breakout follow-through (target_share ≥ 0.38, stop_share ≤ 0.30) — narrows the loss surface ~15× out-of-sample.
  4. Minimum listing history ≥ 6 months before trusting a symbol-level result.

9Code & Reports

Run it yourself: pip install requests && python scripts/test_enhanced_orb_sample.py --top 20 --days 90 --wf (candle cache is gitignored — regenerable from the free Bybit API).

Next steps: forward-test the two-factor watchlist (ZEC, CYS, ETH, SUI, CL, FARTCOIN, HEMI) on the Bybit testnet · drop the universal regime gate · map sizing to real qty steps · add funding + slippage · re-run this protocol quarterly.