Home / Strategies / Sunrun
Stock · strategy report

Does anything beat buy & hold on Sunrun?

Every setup we tested on Sunrun — 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.

MIXED

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 1.36 did not clear the 1.99 selection hurdle (best-of-N luck cannot be ruled out). Buy-and-hold benchmark: +2.2% CAGR over 10.9 years (-9.8% CAGR in the out-of-sample window).

Educational research from historical backtests — not investment advice. Past performance does not predict future results.

RUN: The Best Setup Beat Buy-and-Hold — and Still Might Be Luck

Sunrun lands in the awkward middle of our results. Of 702 indicator setups tested on RUN, the strongest — Keltner Mean-Reversion on the daily timeframe — beat buy-and-hold in both the training and out-of-sample windows, adding +62.5% annual alpha against a buy-and-hold baseline of +2.2%. 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 1.36 came from 35 trades over 3.3 years, with a 68.6% win rate and a -65.7% maximum drawdown — a genuinely profitable record. But when you pick the best of 702 attempts, the winner is expected to look good by chance alone. Our selection hurdle for this asset is 1.99, and this setup did not clear it, so we cannot distinguish it from the luckiest of hundreds of tries. Only 15.3% 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 rules

Top setups as mechanical rules

Exactly as the backtest defined them — no discretionary steps, no hidden filters.

#1 · Volatility · Daily

Keltner Mean-Reversion

Mechanical rule (exactly as backtested): Buy the lower Keltner band (20,2), exit back at the EMA basis. Signals are evaluated at daily-bar close, the position changes on the NEXT bar, 0.08% cost per side, long/flat only — no leverage, no shorting.

+338.0%
Total return
0.55
Sharpe
-65.7%
Max DD
68.6%
Win rate
35
Trades
+12.4%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 1.36 · alpha +62.5% · 13 trades over 3.3 yrs.

#2 · Pattern · Daily

Morning Star

Mechanical rule (exactly as backtested): Three-bar morning-star reversal — enter long, hold a short horizon. Signals are evaluated at daily-bar close, the position changes on the NEXT bar, 0.08% cost per side, long/flat only — no leverage, no shorting.

+701.2%
Total return
0.75
Sharpe
-68.3%
Max DD
53.2%
Win rate
94
Trades
+18.9%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 1.23 · alpha +56.6% · 29 trades over 3.3 yrs.

#3 · Volatility · Daily

Bollinger Mean-Reversion

Mechanical rule (exactly as backtested): Buy the lower band, sell the middle — fade stretches below the 20/2 band. Signals are evaluated at daily-bar close, the position changes on the NEXT bar, 0.08% cost per side, long/flat only — no leverage, no shorting.

+111.6%
Total return
0.37
Sharpe
-69.9%
Max DD
66.7%
Win rate
48
Trades
+5.0%
vs B&H

Out-of-sample (last ~30% of the window, never used to pick this setup): Sharpe 1.2 · alpha +63.3% · 17 trades over 3.3 yrs.

Forward test

Since publication — including if it loses

0.0%
the published setup, since 2026-07-02 (0 market days)
0.0%
buy & hold, same window

The forward record is just getting started — the gap between the two is the honest score. Marked to market nightly from real prices, rules frozen at publication, as of 2026-07-02. Currently FLAT.

How this verdict was computed (mode: out-of-sample)

We tested 702 setups (indicator × parameters × timeframe) on Sunrun. Only setups with ≥30 trades qualify (491 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 702 tries mines even the holdout, the VALIDATED verdict additionally requires the top setup’s OOS Sharpe to clear a selection hurdle of 1.99 (√(2 ln N)/√T) AND positive alpha in both windows. Of the eligible setups, 15.3% had positive out-of-sample alpha (median OOS Sharpe -0.24) — the table below is truncated, but this summary covers all of them. Full recipe: methodology · the engine’s contract lives in the repo as STRATEGY_METHODOLOGY.md.

Ranked table

Top 20 of 491 eligible setups

Ranked by out-of-sample Sharpe. Full + out-of-sample columns, costs included. Hypothetical.

#SetupTFTotal retSharpeMax DDWinTradesα vs B&HOOS SharpeOOS αOOS trades
1Keltner Mean-ReversionDaily+338.0%0.55-65.7%68.6%35+12.4%1.36+62.5%13
2Morning StarDaily+701.2%0.75-68.3%53.2%94+18.9%1.23+56.6%29
3Bollinger Mean-ReversionDaily+111.6%0.37-69.9%66.7%48+5.0%1.2+63.3%17
4Fibonacci BandsDaily+111.6%0.37-69.9%66.7%48+5.0%1.2+63.3%17
5Camarilla PivotsDaily+6.6%0.28-90.2%51.0%563-1.6%1.18+84.6%183
6Pivot Points (Standard)Weekly+56.3%0.31-74.3%53.2%79+1.4%1.11+58.6%28
7Fibonacci PivotsWeekly+62.7%0.33-72.9%52.3%88+1.8%1.07+57.0%29
8Order-Flow ReversionDaily+45.3%0.28-74.0%62.8%43+1.3%1.05+49.4%16
9Schaff Trend CycleDaily+34.0%0.23-52.0%58.0%81+0.6%1.05+34.0%25
10Demand IndexDaily+220.6%0.47-67.3%59.0%122+9.1%1.04+69.3%35
11MA EnvelopeDaily+63.0%0.35-79.1%60.3%121+2.4%1.03+65.4%45
12MA EnvelopeWeekly>+999%0.67-66.5%71.9%32+22.8%0.96+64.8%11
13Stochastic Momentum IndexDaily+447.1%0.58-55.3%70.6%51+14.8%0.91+47.7%19
14StochasticDaily+175.5%0.43-74.4%69.6%46+7.6%0.82+44.1%18
15Fibonacci PivotsDaily-57.2%0.11-93.4%52.5%421-9.7%0.78+44.1%141
16VWAP BandsDaily+75.0%0.32-58.7%60.0%45+3.1%0.76+34.6%17
17Pivot Points (Standard)Daily-67.7%0.04-94.3%51.7%379-12.0%0.75+41.4%130
18Camarilla PivotsWeekly+54.8%0.32-71.8%53.4%116+1.4%0.73+36.2%35
19Bullish MarubozuDaily+240.0%0.66-43.0%63.6%44+9.8%0.72+23.0%10
20Murrey Math LinesDaily+530.6%0.58-73.7%69.7%33+16.3%0.71+37.8%11

Hypothetical backtests with 0.08%/side costs. Not investment advice — see the full disclaimer.

Read this before acting on anything

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.

Keep digging