Does anything beat buy & hold on CAVA?
Every setup we tested on CAVA — ranked out-of-sample, corrected for multiple testing, and forward-tracked in public from the day this page published. The honest answer is the headline.
Beat buy-and-hold in both windows — but can't be told apart from selection luck.
Beat buy-and-hold in both the full window and out-of-sample but its OOS Sharpe 2.33 did not clear the 3.67 selection hurdle (best-of-N luck cannot be ruled out). Buy-and-hold benchmark: +23.8% CAGR over 3.0 years (-8.6% CAGR in the out-of-sample window).
Educational research from historical backtests — not investment advice. Past performance does not predict future results.
CAVA: The Best Setup Beat Buy-and-Hold — and Still Might Be Luck
CAVA lands in the awkward middle of our results. Of 432 indicator setups tested on CAVA, the strongest — Fisher Center-of-Gravity on the daily timeframe — beat buy-and-hold in both the training and out-of-sample windows, adding +139.9% annual alpha against a buy-and-hold baseline of +23.8%. For an individual stock, that matters less than it sounds. Single names run on earnings surprises, management turnover, and idiosyncratic shocks that no historical pattern is obliged to survive. A setup that worked here worked on one company's history, once — and the companies whose histories ended badly aren't in anyone's backtest.
The honest read: the out-of-sample Sharpe of 2.33 came from 76 trades over 0.9 years, with a 50.0% win rate and a -30.4% maximum drawdown — a genuinely profitable record. But when you pick the best of 432 attempts, the winner is expected to look good by chance alone. Our selection hurdle for this asset is 3.67, and this setup did not clear it, so we cannot distinguish it from the luckiest of hundreds of tries. Only 84.2% of setups beat buy-and-hold at all. Regimes shift, and past performance predicts nothing about what comes next.
Every figure above is computed from our own backtests — nothing is estimated or invented. Hypothetical results; not investment advice.
The setups that ranked, and what they are
Fully mechanical — no discretionary steps, no hidden filters. We name the indicator and publish its record; we keep the settings.
Fisher Center-of-Gravity
What it is: An oscillator rule: it reads a bounded momentum gauge and takes exposure when it turns from an extreme. Long/flat only — no leverage, no shorting. The parameters we tested are not published.
How it was tested: signals evaluated at daily-bar close, the position changes on the NEXT bar, 0.08% cost per side. Same engine, same cost model, same out-of-sample split as every other number on this site.
Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 2.33 · alpha +139.9% · 22 trades over 0.9 yrs.
Bollinger 10 (x1.5) Break
What it is: A breakout rule: it waits for price to clear a prior range and rides the expansion until it fails. Long/flat only — no leverage, no shorting. The parameters we tested are not published.
How it was tested: signals evaluated at daily-bar close, the position changes on the NEXT bar, 0.08% cost per side. Same engine, same cost model, same out-of-sample split as every other number on this site.
Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 2.2 · alpha +51.8% · 11 trades over 0.9 yrs.
Range Filter
What it is: A trend-following rule: it holds while a smoothed trend reference is pointing up and goes flat when it turns. Long/flat only — no leverage, no shorting. The parameters we tested are not published.
How it was tested: signals evaluated at daily-bar close, the position changes on the NEXT bar, 0.08% cost per side. Same engine, same cost model, same out-of-sample split as every other number on this site.
Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 1.74 · alpha +44.9% · 10 trades over 0.9 yrs.
Since publication — including if it loses
The setup is ahead so far — over a window this short that is mostly noise. Marked to market nightly from real prices, rules frozen at publication, as of 2026-09-09. Currently LONG.
We tested 432 setups (indicator × parameters × timeframe) on CAVA. Only setups with ≥30 trades qualify (165 did). Setups are ranked by out-of-sample Sharpe — the last ~30% of history, which standard-parameter rules never saw during selection. Because picking the best of 432 tries mines even the holdout, the VALIDATED verdict additionally requires the top setup’s OOS Sharpe to clear a selection hurdle of 3.67 (√(2 ln N)/√T) AND positive alpha in both windows. Of the eligible setups, 84.2% had positive out-of-sample alpha (median OOS Sharpe 0.51) — the table below is truncated, but this summary covers all of them. How we test: methodology. The scoring contract is published in full; the parameters of each individual setup are not.
Top 20 of 165 eligible setups
Ranked by out-of-sample Sharpe. Full + out-of-sample columns, costs included. Hypothetical.
| # | Setup | TF | Total ret | Sharpe | Max DD | Win | Trades | α vs B&H | OOS Sharpe | OOS α | OOS trades |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Fisher Center-of-Gravity | Daily | +91.4% | 0.81 | -30.4% | 50.0% | 76 | +0.2% | 2.33 | +139.9% | 22 |
| 2 | Bollinger 10 (x1.5) Break | Daily | +13.4% | 0.32 | -21.3% | 44.0% | 50 | -19.6% | 2.2 | +51.8% | 11 |
| 3 | Range Filter | Daily | +0.3% | 0.13 | -34.8% | 53.8% | 65 | -23.7% | 1.74 | +44.9% | 10 |
| 4 | Delta Volume Rising (CVD proxy) | Daily | +121.0% | 0.84 | -35.7% | 46.3% | 67 | +6.3% | 1.7 | +92.8% | 16 |
| 5 | Ultimate Osc (4,8,16) | Daily | +165.0% | 0.97 | -56.4% | 49.2% | 65 | +14.4% | 1.35 | +68.2% | 20 |
| 6 | Center of Gravity | Daily | +13.6% | 0.3 | -54.1% | 47.2% | 89 | -19.5% | 1.33 | +72.4% | 22 |
| 7 | FRAMA 30 Trend | Daily | +100.0% | 0.79 | -30.9% | 45.2% | 73 | +2.1% | 1.31 | +71.8% | 21 |
| 8 | Median MA | Daily | +49.2% | 0.54 | -49.3% | 42.2% | 45 | -9.6% | 1.3 | +60.9% | 12 |
| 9 | Stoch RSI (fast) | Daily | +82.7% | 0.7 | -52.6% | 46.1% | 76 | -1.7% | 1.21 | +63.7% | 20 |
| 10 | Stochastic (10,3) | Daily | +26.1% | 0.39 | -54.6% | 44.4% | 90 | -15.8% | 1.2 | +47.7% | 25 |
| 11 | Chande Forecast Osc. | Daily | +11.9% | 0.29 | -58.6% | 43.7% | 87 | -20.0% | 1.17 | +60.0% | 25 |
| 12 | Pascal's Weighted MA | Daily | +165.2% | 1.07 | -23.2% | 52.8% | 36 | +14.4% | 1.12 | +52.2% | 10 |
| 13 | Chande Kroll Stop | Daily | +264.8% | 1.13 | -34.4% | 48.5% | 33 | +29.9% | 1.11 | +62.0% | 11 |
| 14 | Derivative Oscillator | Daily | +16.9% | 0.32 | -30.4% | 48.0% | 50 | -18.5% | 1.07 | +47.2% | 15 |
| 15 | Rainbow MA | Daily | +65.9% | 0.6 | -42.8% | 42.5% | 80 | -5.5% | 1.05 | +52.6% | 24 |
| 16 | Gann HiLo Activator | Daily | +129.0% | 0.85 | -41.8% | 46.2% | 52 | +7.9% | 1.02 | +50.1% | 16 |
| 17 | T3 (Tillson) | Daily | +108.2% | 0.8 | -38.4% | 37.3% | 51 | +3.8% | 1.01 | +51.2% | 17 |
| 18 | ROC (5) | Daily | +77.2% | 0.65 | -49.3% | 47.8% | 69 | -2.9% | 0.99 | +49.6% | 21 |
| 19 | Arnaud Legoux MA | Daily | +117.0% | 0.83 | -31.3% | 45.9% | 61 | +5.5% | 0.98 | +48.4% | 21 |
| 20 | Holt Double-Exp MA | Daily | +149.6% | 0.99 | -28.0% | 41.0% | 61 | +11.7% | 0.98 | +46.9% | 17 |
Hypothetical backtests with 0.08%/side costs. Not investment advice — see the full disclaimer.
These are historical backtests of mechanical rules. They are educational research, not investment advice, not a recommendation, and not tailored to you. Educational information only — not investment advice. Hypothetical backtested results; past performance does not guarantee future results. Trading involves risk of loss.