Here is the entire strategy in one sentence:
"Today, which has stronger 21-day momentum — Bitcoin or Ethereum? Hold whichever wins. If neither is positive, hold cash."
That is it. One comparison, run once per day, on two assets that almost everyone holds anyway.
Over 8 years (2018-2026), this rule returned +3,020% while BTC HODL returned +621% over the same window. That is +2,400 percentage points of alpha while keeping max drawdown at -72% (similar to BTC HODL but with active downside protection during specific regimes).
Walk-forward 3 of 3 windows beat HODL. Parameter robust across lookbacks 7-25 days (NOT a single-peak overfit like the retired Sharpshooter).
This is The Rotator. Our sixth live bot. Paper-traded with $10,000 virtual capital. Running since 2026-04-17.
Why This Simple Rule Works
Two facts about the crypto market that sound obvious but are usually ignored:
1. BTC and ETH are correlated but not identical. They move together most of the time, but during specific regimes (DeFi summer 2020, ETF launches, Ethereum-specific catalysts like the Merge, post-halving rotations) one significantly outperforms the other for weeks or months.
2. Momentum persists. Whichever asset is currently trending wins more often than the other for the next several weeks. Not always. Often enough to matter after fees.
A daily 21-day momentum comparison captures both effects:
- When BTC is leading, hold BTC
- When ETH is leading, hold ETH
- When both are dropping, sit in cash and wait
You stay exposed to the strongest active asset without having to predict regime changes manually.
The Backtest, Honest Edition
Tested on 8 years of Binance daily data (2018-01-01 to 2026-04-17). Realistic 0.10% trading costs (Bybit/Binance taker fees). Out-of-sample (no parameter tuning on the test data).
| Metric | The Rotator (21d) | BTC HODL | ETH HODL |
|---|---|---|---|
| Total return | +3,020% | +621% | +1,041% |
| Max drawdown | -72% | -77% | -82% |
| Trades per week | 0.91 (~47/year) | 0.005 (1 in 8 years) | 0.005 |
| Win rate | ~52% | n/a | n/a |
| Walk-Forward | 3/3 windows beat HODL | n/a | n/a |
Walk-forward (the test that catches regime-overfit strategies) breaks the 8 years into three independent ~2.7-year sub-periods:
- W1 (2018-01 → 2020-10): Rotator +203% vs BTC HODL -15% = +218pp alpha
- W2 (2020-10 → 2023-07): Rotator +400% vs BTC HODL +166% = +234pp alpha
- W3 (2023-07 → 2026-04): Rotator +178% vs BTC HODL +160% = +18pp alpha
Beats HODL in every window. The W3 margin is small because BTC was on a clean uptrend (HODL hard to beat in violent bull); the W1 and W2 advantages are huge.
Why It's NOT Overfitting (the Rare Honest Robustness Check)
After the Sharpshooter post-mortem (a 14-day momentum bot that returned +2,053% on backtest but turned out to be an isolated parameter peak), every new strategy here gets a parameter-neighborhood sweep before deployment.
The Rotator passes:
| Lookback | Full Return | Walk-Forward |
|---|---|---|
| M-7 | +2,468% | 2/3 |
| M-10 | +1,089% | 2/3 |
| M-12 | +1,164% | 2/3 |
| M-14 | +3,148% | 2/3 |
| M-15 | +1,722% | 2/3 |
| M-18 | +1,603% | 2/3 |
| M-20 | +2,163% | 2/3 |
| M-21 | +3,020% | 3/3 ★ |
| M-22 | +2,074% | 3/3 ★ |
| M-24 | +894% | 2/3 |
| M-25 | +832% | 2/3 |
| M-30 | +778% | 1/3 |
This is a plateau, not a spike. Lookbacks from 7 to 25 days all produce 2/3+ walk-forward results with 600-3,000% returns. Two adjacent values (21 and 22) hit the gold standard 3/3. That is the signature of a real signal — moving the parameter doesn't catastrophically break the strategy.
By contrast, Sharpshooter's M-14 was sandwiched between M-13 at 1/3 (+437%) and M-15 at 1/3 (+768%) on a different (single-asset) test. That was lottery. This is plateau.
How It's Different From The Tactician
The Rotator and The Tactician are both BTC momentum bots, paper-tier, running on cron right now. They will overlap for 90 days, then we will retire whichever one underperforms in live execution.
The differences:
| The Tactician | The Rotator | |
|---|---|---|
| Asset | BTC only | BTC and ETH (rotates) |
| Lookback | 30 days | 21 days |
| Backtest return (2018-2026) | +959% | +3,020% |
| Walk-forward windows beating HODL | 2/3 | 3/3 |
| Parameter robustness | Solid neighborhood | Wider plateau |
| Trades per year | ~32 | ~47 |
On the backtest evidence alone, The Rotator strictly dominates. But backtest does not equal live execution. The 90-day parallel run is the truth serum:
- Does Rotator's BTC/ETH rotation work cleanly with real-time data fetches and cross-asset transitions?
- Does the extra trade frequency cost more in fees than the cross-asset upside is worth?
- Does either bot have unforeseen edge cases (data outages, exchange downtime)?
We will know after 90 days. Until then, both stay live.
What Happens at Each Daily Check
The bot runs four times per day via cron (00:15, 06:15, 12:15, 18:15 local time). Each run:
- Fetches the latest 60 daily bars for BTC/USDT and ETH/USDT from Bybit.
- Computes 21-day momentum:
(today's close / 21-days-ago close) - 1for both. - Decides target state:
- If
btc_mom > 0ANDbtc_mom >= eth_mom: target = BTC - Else if
eth_mom > 0ANDeth_mom > btc_mom: target = ETH - Else: target = CASH
- If
- If target differs from current position: liquidate current to cash, then buy target. Two trades per rotation, 0.10% fee each.
- If target equals current position: do nothing (idempotent — multiple checks per day with same signal are no-ops).
- Log to CSV, save state, send Telegram only on rotation events.
You see the signal change the moment it happens via Telegram or email. You decide if you want to follow.
Honest Caveats
The MaxDD is real. -72% in backtest. Anyone holding the Rotator through a brutal bear market will see those numbers in their portfolio. Position sizing should reflect that.
Tax classification risk (Switzerland). ~47 trades per year edges into the territory where Swiss tax authorities can reclassify gains as professional trading income (taxed up to 40%+) instead of tax-free private wealth gains. The strategy may need to adapt or accept the haircut if/when it graduates to real capital.
Cross-asset frictions. Each rotation = sell one asset, buy the other. That's 2 trades and 2 spreads per rotation event. The backtest accounts for fees but not for slippage on larger sizes. Real-money deployment may shave returns by 0.3-0.8 percentage points per year.
Window dependency. The 8-year window includes the entire BTC institutional adoption cycle. Future market regimes (post-halving plateaus, hypothetical extended sideways markets) may have different momentum characteristics. Backtest is evidence, not prophecy.
What You Can Watch From Here
- /bots page: Live Rotator card with current position, total return, trade count, equity curve. Updates daily.
- Newsletter: Every BUY/SELL/ROTATE signal change, real-time.
- State files: /110-BotLab/rotator/state/ (local) — daily_log.csv has per-check momentum for both assets and resulting signal.
In 90 days, post-mortem-or-graduation article. Either:
- "The Rotator validated — Tactician retired" (if live performance matches backtest direction)
- "The Rotator failed live — backtest was misleading" (if it doesn't)
Either way, the post will be public.
Related reading:
- The Tactician post-mortem-in-progress — The 30-day BTC momentum sibling
- Beat HODL or Don't Bother — The benchmark this strategy must keep clearing
- Parameter Robustness — Why we sweep neighborhoods
- Sharpshooter Post-Mortem — How an isolated-peak strategy looks vs The Rotator's plateau
- HF Alpha Hunt v3 — Full methodology document
This bot in the post-mortem ledger: See /post-mortems →
Every retired strategy and failed walk-forward — documented publicly.




