Supported · Instruments & watchlist · 2026-10-11
Is the edge spread across many stocks, or carried by a few?
What this means
The edge is broad but lopsided. Throwing away the 50 or so stocks that did best on each timeframe still leaves a positive average everywhere, so the result does not hang on a handful of names. But those few stocks supply a third to more than half of all the R, and without them 15m is left at only +0.04R per setup, about half its full average. Because ins-persistence shows we cannot tell in advance which stocks will be the top tenth, the useful reading is that the whole universe carries the edge, not a findable subset.
Explanation checked against the data.
By timeframe
| Timeframe | Verdict | n | Result |
|---|---|---|---|
| 15-minute | Supported | 14,885 | +0.040R (+0.022, +0.057) without the top 10% (56% of all R) |
| 1-hour | Supported | 11,832 | +0.140R (+0.119, +0.160) without the top 10% (35% of all R) |
| 4-hour | Supported | 3,515 | +0.139R (+0.104, +0.174) (46% of all R) |
| Daily | Supported | 1,845 | +0.149R (+0.098, +0.198) (52% of all R) |
- Hypothesis
- Stated before testing: the average setup stays profitable on every timeframe even after removing the 10% of stocks with the largest total R (chosen in hindsight, which is deliberately harsh).
- Method
- Our own analysis of the TradingView universe sweeps (15m 2023-26; 1h/4h/1d 2016-26; 35,792 setups). Per timeframe, rank stocks by total setup R, drop the top tenth, and compute the mean setup R of the rest with a 95% range bootstrapped by stock. Part of the 82-test gap-fill family (Benjamini-Hochberg).
- Result
- Mean setup R without the best 10% of stocks (95% CI): 15m +0.040 (+0.022, +0.057), 14,885 setups; 1h +0.140 (+0.119, +0.160), 11,832; 4h +0.139 (+0.104, +0.174), 3,515; daily +0.149 (+0.098, +0.198), 1,845; q < 0.001 on each. The top tenth supplies 56% / 35% / 46% / 52% of all R.
- How much to trust it
- High: TradingView outcomes, large samples, stock-clustered CIs; survivorship universe and zero slippage as in the sweeps
- Did it change the live rule?
- No.
- Notes
- Replaces the lost ins-sp500-50 run. Gap-fill test G9 (gaps/scripts/a_logs.py).
Scripts and data for this study will be linked here when the research code is published on GitHub.
Education and research only. Not financial advice. Backtests use today's index members (survivorship bias).