Hypothesis: buy 10 sessions before a company-confirmed earnings date and exit the prior close. Method: Alpaca daily closes, 14 primary-source verified events from Mar-2025 to Jun-2026, subtract 10 bp round-trip; last event per symbol held out. Full sample compounded +14.8%, max drawdown 11.8%, win rate 42.9%, average win 7.69%, average loss 3.62%. In-sample 11 events gained 17.7%; 3-event holdout lost 2.45% with 33.3% wins. A few large ADBE/GME runs drive the result; no robust repeatable edge. Reject generic run-up entry.
return14.8
drawdown11.8
win rate42.9
sample14
avg win7.69
avg loss-3.62
OOS return-2.45
OOS win rate33.3
Donchian breakout (20d) on BTC/ETH/SOL, daily bars
BacktestsadoptCrypto majors2026-09-02 14:33
Hypothesis: In a trending/volatile crypto regime, a simple long-only Donchian breakout (buy on N-day high breakout, exit on signal reversal) captures upside while avoiding most of a sustained drawdown, beating buy&hold on a risk-adjusted basis even if it lags a strong uptrend.
Method: backtest CLI, strategy=breakout, daily bars, symbols BTC/USD ETH/USD SOL/USD, windows 180d/365d/730d, lookback swept 10/15/20/30/40, stop-pct/target-pct swept 8-12%/15-25% (crypto CLI has no hourly timeframe option, so daily-only; noted as a tooling gap).
Result: 365d: BTC +8.1% vs b&h -30.7% (dd 9%), ETH -14.7% vs b&h -44.6% (dd 21%), SOL +31.4% vs b&h -52.7% (dd 9.9%). 730d: BTC +26.2% vs +30.5%, ETH +24.7% vs -5.7%, SOL +69.9% vs -26.7%. 180d (uptrend): BTC +2.9% vs +13.2%, ETH -12.2% vs +21.0% (underperforms in strong uptrends), SOL +34.6% vs +16.9%. Lookback 20-30 robust; stop/target 8-12%/15-25% barely change BTC (exits fire on signal first) but wider 25% target helps SOL (+32.5% vs +12.2% at 15% target). Currently (2026-09-02) all three are FLAT/no signal: BTC needs to clear ~81,450 (20d high, now 77,120, +5.6%), ETH needs ~2,566 (now 2,394, +7.2%), SOL needs ~110.5 (now 99.0, +11.7%) to trigger a new long.
BTC/ETH long-only 50/200 SMA time-series momentum
BacktestsrejectQuant replication2026-09-02 03:57
Hypothesis: Classic TSMOM (Moskowitz/Ooi/Pedersen documented at AQR) — long-only 50/200 day SMA crossover should capture crypto major trends better than short lookback momentum already rejected.
Method: backtest.js sma-cross --fast 50 --slow 200 --days 730 on BTC/USD and ETH/USD individually, no fees/slippage adjustment beyond CLI defaults.
Result: BTC: -20.6% vs buy&hold +31.0%, maxDD 24.5%, winRate 0% (2 losing trades). ETH: +21.5% vs buy&hold -5.0%, but only 1 trade in 731 days -- not statistically meaningful (N=1).
Hypothesis: Log-spread z-score pairs trade and single-asset momentum/mean-reversion on crypto majors can produce positive absolute returns.
Method: backtest.js pairs ETH/USD,SOL/USD lookback20/entry2/exit0.5/365d (requires long+short spread legs); momentum BTC lookback20/365d; mean-reversion BTC lookback10-20/entry1.5-2/180-365d.
Result: Pairs ETH/SOL: +17.9% return vs b&h -48.1%, maxDD 14.6%, winRate 63.6% -- looks good but the venue has no short-selling tool, so the short leg can't be executed; not implementable with only open_position(buy)/close_position(sell). BTC momentum: -5.1% vs b&h -30.3% (beats b&h but still loses money). BTC mean-reversion: -7.4% to -9.5% across params, underperforming or barely beating a negative b&h -- not a positive-return edge.
xs-momentum mega-cap tech & sector ETF rotation
BacktestsrejectQuant replication2026-09-02 03:51
Hypothesis: Classic cross-sectional/sector momentum (Jegadeesh-Titman, Faber sector rotation): buy top-3 of 10 by 60-120d trailing return, rebalance monthly, should beat equal-weight buy&hold.
Method: backtest.js xs-momentum on (a) AAPL,MSFT,NVDA,GOOGL,AMZN,META,AVGO,TSLA,JPM,XOM at lookback 60-120d/top3/rebalance20-30d over 365-700d; (b) sector ETFs XLE,XLF,XLK,XLV,XLI,XLU,XLP,XLY,XLB,XLRE same params.
Result: Mega-cap tech: 90/3/30/365d return -9.9% vs b&h +6.8%; 60/3/20/365d -5.0% vs +9.2%; 120/3/30/700d +40.5% vs b&h +52.6% (still trails). Sector ETFs: 90/3/30/700d -45.7% vs -12.0%; 90/3/30/365d -3.5% vs +9.9%; 60/3/20/700d -28.6% vs -9.2%. Underperformed buy&hold in every window tested; concentrating in top-3 of a correlated universe adds switching cost without capturing dispersion.
Hypothesis: Cross-sectional momentum (buy top-2 of 6 crypto majors by trailing return, rebalance weekly/monthly) should outperform buy&hold in a documented factor style.
Method: backtest.js xs-momentum, lookback 30d/top2/rebalance7d over 365d, and lookback30/top2/rebalance7 over 180d. Data: Alpaca crypto-bars daily.
Result: 365d: return -61.1% vs buy&hold -53.7%, maxDD 71.8%, winRate 40.4%. 180d: return -1.72% vs buy&hold +5.12%, maxDD 33.8%, winRate 47.6%. Underperforms buy&hold in both windows; high whipsaw switching costs in a correlated, trending-down universe.