The rules
Weight each sector ETF by its positive 63-day return (zero if negative); only trade positions that drift more than 10 points from target.
- Universe
- XLB, XLE, XLF, XLI, XLK, XLP, XLU, XLV and XLY
- Bars
- daily
- Position size
- Momentum-proportional, max 35% each
- Rebalance
- daily with 10% drift band
Results
| Measure | Orbital re-test | Published | SPY, same days |
|---|---|---|---|
| Window | Not re-tested | 2000-2025 | — |
| Total return | — | +268.90% | — |
| CAGR | — | +5.15% | — |
| Sharpe | — | 0.30 | — |
| Discounted Sharpe | — | — | — |
| Max drawdown | — | −36.8% | — |
| Win rate | — | 68.2% | — |
| Profit factor | — | 1.62 | — |
| Trades | — | — | — |
Rebuild it in Orbital
Paste this into Orbital Chat. The Strategy Developer builds the workflow and asks before it runs any backtest.
Closest Orbital version: Orbital cannot split the account among the ETFs in proportion to their momentum or resize a holding in place, so each ETF is sized at three times its own 63-day return, and every holding is sold and rebought each month instead of adjusted daily once it drifts more than 10 points from its target. Those sizes often add up to more than the account, and the weakest ETFs that do not fit are left out until the next month.
Trade the sector ETFs XLB, XLE, XLF, XLI, XLK, XLP, XLU, XLV and XLY on daily bars. On the first trading day of each month, sell every holding, and the next day buy each ETF whose 63-day return is positive, strongest first while cash lasts. Size each one at three times its 63-day return, as a percent of equity between 1% and 35%: a 5% return buys 15% of equity. Long only; uninvested capital stays in cash. Backtest the last 10 years with $100,000.
Why it was not re-tested
Its weights are each ETF's momentum as a share of the basket's, which Orbital cannot normalise across symbols.
Sources