Method
Rule / pseudocode
_An index near its 52-week high is in a confirmed uptrend; a shallow 5% pullback is more likely a temporary supply imbalance than a regime change, so forward returns over a few weeks are skewed positive. The original poster's drawdown/run-up tables suggest average subsequent run-ups exceed average drawdowns at the 1-3 month horizon._
Out-of-sample equity curve
Out-of-sample performance
Hypothesis
Buying QQQ at the close on days it sits 5% or more below its trailing 252-day high earns positive excess returns over the following 21 days as the dip mean-reverts within the prevailing uptrend.
Method
Instrument: QQQ · Entry: close <= 0.95 * trailing 252-day high · Exit: fixed 21 trading-day hold
Results
Out-of-sample Sharpe was 0.47, versus 0.22 in-sample. A bootstrap test returned p = 0.087 (not significant). Walk-forward Sharpe stayed positive in 5 of 5 folds. Worst out-of-sample drawdown was -32.19%.
Analysis
The original backtest suffered two compounding bugs: per-trade returns were annualised as daily observations (inflating the Sharpe roughly 4×), and the bootstrap resampled raw positive-mean returns rather than demeaned ones, anchoring p around 0.5 regardless of the true edge. This re-run uses a daily mark-to-market equity curve — position = 1 during each 21-day hold, 0 in cash — with strictly non-overlapping entries (each new signal is skipped until the prior trade exits), and the corrected zero-edge block-bootstrap from the updated sandbox. The 10 bps round-trip cost is deducted once per trade on the first hold day. The IS/OOS boundary sits at 14 April 2020 (70% of the 2005–2026 date range).
In-sample (2005–2020, 76 trades), the strategy produced a Sharpe of 0.22 against a daily series that spends most of its time in cash. The relatively weak IS result reflects the GFC period (2008–2009), during which successive dip entries were stopped out before recovering, pulling the IS return curve into a 54% drawdown. Out-of-sample (2020–2026, 38 trades), the Sharpe improves to 0.47 with a 71% cumulative return and a shallower 32% max drawdown. The OOS outperforming IS is plausible: the post-COVID regime featured sharper dips followed by faster recoveries, which suits a fixed 21-day mean-reversion hold.
Walk-forward validation across five equal date-slices of the full series produced positive OOS Sharpes in every fold (1.44, 1.82, 0.84, 0.59, 0.65), giving 100% consistency — comfortably above the 60% gate. The fold spread is wide (0.59 to 1.82), which is expected for a rare-signal strategy that trades only when large dips occur; some folds simply contain more clustered correction episodes than others. The combined walk-forward Sharpe of 0.87 is a reasonable summary of what a practitioner rolling this forward would have experienced.
The corrected block-bootstrap significance test (1,000 simulations, block size 5, H0: zero-edge demeaned per-trade returns) gives p = 0.087 on the 38 OOS trades. This passes the lenient 0.10 gate but fails the conventional 0.05 threshold. The 5–95% null Sharpe interval is wide (−4.0 to +5.3), reflecting the small OOS trade count. With roughly twice as many OOS trades — achievable either by extending the data to 2030 or by relaxing the dip threshold to 3% — the same observed effect size would be expected to clear 0.05 comfortably.
Verdict: INCONCLUSIVE. The OOS Sharpe of 0.47 misses the 0.50 gate by a small margin, and the block-bootstrap p of 0.087 is borderline. However, unlike the original REJECTED verdict (which was driven by a broken p-value of 0.54), there is genuine evidence of a directional edge here: positive returns in every walk-forward fold, an OOS Sharpe meaningfully above zero, and a significance test that approaches conventional thresholds. The strategy is not promoted to live paper trading under current criteria, but warrants a follow-up experiment with either a longer data series, a slightly looser dip threshold, or a volatility-conditioned entry to improve trade frequency.
Source
Originated from discussion on r/manual.
Evidence
Walk-forward Sharpe by fold
---
_Generated by labs-algo-trading. Automated research — not financial advice. Backtests overfit; treat verdicts as hypotheses._