Ranked by %B ascending — which names are on sale — not by momentum. Measured on the AI complex over the 2023+ wave, forward 60 days: buying dips beat simply holding by +3.47 pts, while buying strength lost 2.65 pts and top-quartile 12-month momentum lost 3.01 pts. Owning the complex at all was worth +17.95%, which is roughly five times what the timing overlay adds. These are daily entries on the names as they stand today (in-sample, overlapping); the quarterly portfolio test further down did not confirm the dip rule.
Descriptive only. Nothing on this page was measured by regime, so it does not change a verdict. Broad risk-off = QQQ below its 200-day with VIX ≥ 25 or up 20% in 5 days; sector washout = SOXX below its 200-day or under 40% of the AI list above theirs.
Descriptive only; no verdict reads it. A theme leads for a few years and then hands over (the COVID winners kept dipping through late 2021 H2 and did not recover; a one-off analysis, not a committed result). "Breaking" = the theme's equal-weight basket is under its own 200-day while at least 40% of its names sit in the dip band at once; that threshold is a display choice, not a tested rule.
| Theme | Names | Basket vs 200d | Basket 20d | Names above 200d | In dip band | State |
|---|---|---|---|---|---|---|
| AI compute | 9 | +18.8% | -0.4% | 78% | 9/9 | leading |
| AI memory | 4 | +12.1% | -12.0% | 75% | 4/4 | leading |
| Chip equipment | 8 | -3.2% | -1.8% | 25% | 7/8 | breaking |
| AI networking | 3 | +5.3% | -1.8% | 67% | 2/3 | leading |
| AI power | 5 | -4.3% | -1.4% | 40% | 3/5 | breaking |
| AI platforms | 6 | +14.7% | +5.4% | 83% | 0/6 | leading |
| Humanoid supply chain | 16 (15 in basket) | -2.0% | +1.9% | 40% | 6/16 | weak |
| Magnets & materials | 4 | -20.3% | -11.2% | 25% | 4/4 | breaking |
%B says where price sits inside its normal trading channel. Below 0.20 means it has pulled back to the bottom of that channel — on sale. Above 1.00 is extended: too stretched to buy, and it returned 2.65 pts below simply holding.
Two studies disagree, so this is not a filter the verdict column applies. 46 large caps, 15y, fwd 60d: dips above the 200-day hit 71% vs 68% below — better odds, but below-200d averaged slightly more (+7.16% vs +6.96%). The AI complex, 2023+: dips below the 200-day were the best bucket of all, +7.49 pts vs the null. The Meta trade in the box below was 11.8% below its 200-day. Above = steadier; below = bigger and lumpier. Pick per your tolerance.
Both halves are gates, and 2y pos is often the binding one. p10 is the 10th-percentile outcome across past 2-year holds — your unlucky-but-realistic case; a −50% p10 means one in ten 2-year holds halved. These are the exact thresholds the verdict column applies, not a rule of thumb.
| %B < 0.20 dip rule | 2026-08-21 @ 549.47 | +35.4% | 18 days before the launch, and META was 11.8% below its 200-day |
| move + volume spike | 2026-09-09 @ 653.17 | +13.9% | the day after the launch |
| follow the analyst | 2026-09-21 @ 741.25 | +0.4% | the move was over |
The 3x pair moves with SOXX, so read SOXX's %B and size with SOXL/SOXS's ATR. SOXS is inverse: its %B means the opposite.
| Ticker | Close | 1d | %B | vs 20d | vs 200d | range | ATR | $vol/d | 2y pos | 2y p10 | 60d dips | size | msgs | Verdict |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SOXX semis ETF semis_etf |
514.71 | -0.91% | -0.07 | -8.4% | +10.4% | 64% | 3.4% | 3.9B | 95% 4w | +7.3% | 72% of 29 med +5% · CVaR -18% |
$1,033 15% | 25 | BUY ZONE |
| SOXL semis ETF semis_etfleveraged |
107.35 | -2.89% | -0.06 | -24.9% | -11.9% | 28% | 12.0% | 7.9B | 76% 4w | -52.2% | 62% of 29 med +5% · CVaR -57% |
— | 30 | leveraged · not rated |
| SOXS semis ETF semis_etfleveragedinverse |
43.64 | +2.63% | 1.08 | +26.7% | -75.4% | 2% | 8.4% | 2.5B | 0% 4w | -98.7% | 17% of 36 med -25% · CVaR -65% |
— | — | leveraged · not rated |
The ten holdings behind SOXX, their fund weight, and how much of the day each one contributed (fund weight × its move, so together they explain about 61% of the fund).
| Ticker | Fund wt | 1d | Contrib | Trend | vs 20d |
|---|---|---|---|---|---|
| NVDA | 9.43% | -1.84% | -0.173% | BELOW 20d | |
| MU | 8.91% | +1.87% | +0.167% | BELOW 20d | |
| AMD | 8.23% | -1.50% | -0.124% | BELOW 20d | |
| AVGO | 7.48% | -0.55% | -0.041% | BELOW 20d | |
| INTC | 5.09% | -2.80% | -0.143% | BELOW 20d | |
| MRVL | 4.66% | -1.65% | -0.077% | BELOW 20d | |
| TSM | 4.65% | -1.80% | -0.084% | BELOW 20d | |
| AMAT | 4.59% | -3.72% | -0.171% | BELOW 20d | |
| LRCX earnings in 3 sessions | 4.27% | -3.30% | -0.141% | BELOW 20d | |
| KLAC | 4.12% | -2.43% | -0.100% | BELOW 20d |
Breadth is context, not a trigger. Reproduce every number here with scripts/soxx_breadth_study.py (8 years of SOXX, entry at the next open). Broad strength has no edge: top-10 weight above its 20-day > 80% was +0.04 pts vs the null at 20 days (n=727; +0.00 at 5d, −0.03 at 1d). Weakness in the holdings (breadth < 20%, or their composite %B < 0.20) pointed the same way as SOXX's own dip signal but smaller (about +0.7 to +0.9 pts vs +1.3) and rests on a few hundred overlapping observations, so treat it as noise-level: it adds nothing you cannot read off SOXX's own %B. Use this table to see why SOXX moved, broad or one name, and take the direction call from SOXX's %B. SOXL and SOXS are daily-reset products and are not rated on this page.
META, GOOGL, MSFT, AAPL, AMZN, NFLX — tracked every day whether or not they signal.
| Ticker | Close | 1d | %B | vs 20d | vs 200d | range | ATR | $vol/d | 2y pos | 2y p10 | 60d dips | size | msgs | Verdict |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| METAearnings in 3 sessions platform ndx100ai_platformmegacap |
736.72 | -0.11% | 0.54 | +0.4% | +16.8% | 84% | 3.3% | 10.7B | 79% 4w | -28.1% | 57% of 30 med +3% · CVaR -25% |
$1,053 15% | — | neutral |
| GOOGL platform ndx100ai_platformmegacap |
349.22 | +0.45% | 0.62 | +0.7% | +2.6% | 65% | 2.5% | 8.2B | 90% 4w | -0.1% | 71% of 31 med +5% · CVaR -9% |
$1,400 20% cap | — | neutral |
| MSFT platform ndx100ai_platformmegacap |
539.44 | +1.08% | 0.84 | +4.0% | +24.4% | 98% | 2.1% | 11.0B | 96% 4w | +10.0% | 70% of 27 med +7% · CVaR -13% |
$1,400 20% cap | — | neutral |
| AAPL megacap ndx100megacap |
342.00 | -0.28% | 0.82 | +1.5% | +17.2% | 99% | 1.9% | 12.7B | 99% 4w | +16.2% | 70% of 27 med +6% · CVaR -17% |
$1,400 20% cap | — | neutral |
| AMZN megacap ndx100megacap |
254.76 | +0.27% | 0.57 | +0.5% | +5.0% | 66% | 2.3% | 8.7B | 79% 4w | -25.5% | 73% of 30 med +6% · CVaR -22% |
$1,400 20% cap | — | neutral |
| NFLXearnings in 2 sessions megacap ndx100megacap |
72.61 | +2.89% | 0.84 | +3.2% | -12.5% | 10% | 2.5% | 2.4B | 76% 4w | -39.2% | 74% of 31 med +7% · CVaR -37% |
$1,397 20% | — | neutral |
Any symbol, priced now. The browser cannot call Yahoo directly (no CORS), so this
goes through this site's own /api/quote and then applies the same formulas as the
nightly table, ported from the Python — so a live check and the tables cannot disagree.
Cached 10 minutes.
%B below 0.2, liquid, and passes the 1–3 year hold gate (≥80% of rolling 2-year windows positive with a 10th percentile above -10%).
| Ticker | Close | 1d | %B | vs 20d | vs 200d | range | ATR | $vol/d | 2y pos | 2y p10 | 60d dips | size | msgs | Verdict |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ETN power ai_power |
402.48 | -1.56% | -0.20 | -6.6% | +2.6% | 61% | 3.8% | 769M | 99% 4w | +14.0% | 75% of 28 med +8% · CVaR -14% |
$930 13% | 1 | BUY ZONE |
| SOXX semis ETF semis_etf |
514.71 | -0.91% | -0.07 | -8.4% | +10.4% | 64% | 3.4% | 3.9B | 95% 4w | +7.3% | 72% of 29 med +5% · CVaR -18% |
$1,033 15% | 25 | BUY ZONE |
| SMH index benchmark |
558.84 | -1.04% | -0.04 | -7.3% | +9.5% | 68% | 2.9% | 3.7B | 97% 4w | +11.3% | 71% of 28 med +6% · CVaR -15% |
$1,201 17% | — | BUY ZONE |
| NVDA compute ndx100ai_computesoxx_top10 |
217.23 | -1.84% | -0.02 | -5.0% | +7.3% | 70% | 2.8% | 24.6B | 95% 4w | +9.5% | 79% of 29 med +11% · CVaR -26% |
$1,265 18% | — | BUY ZONE |
| AMD compute ndx100ai_computesoxx_top10 |
562.23 | -1.50% | -0.02 | -8.1% | +43.2% | 81% | 4.7% | 11.3B | 89% 4w | -2.7% | 55% of 31 med +4% · CVaR -28% |
$739 11% | — | BUY ZONE |
| LRCXearnings in 3 sessions equipment ndx100ai_equipmentsoxx_top10 |
277.46 | -3.30% | -0.01 | -12.0% | -1.3% | 47% | 5.2% | 2.6B | 93% 4w | +7.4% | 64% of 28 med +6% · CVaR -18% |
$675 10% | — | BUY ZONE |
| JBL humanoid humanoid_disclosed |
287.14 | -2.30% | 0.02 | -5.9% | -5.8% | 49% | 5.0% | 339M | 95% 4w | +8.4% | 61% of 31 med +6% · CVaR -14% |
$695 10% | — | BUY ZONE |
| AMAT equipment ndx100ai_equipmentsoxx_top10 |
430.01 | -3.72% | 0.02 | -12.6% | -1.7% | 42% | 4.8% | 3.1B | 92% 4w | +1.6% | 68% of 31 med +14% · CVaR -17% |
$724 10% | — | BUY ZONE |
| MRVL compute ndx100ai_computesoxx_top10 |
241.24 | -1.65% | 0.02 | -8.6% | +37.8% | 69% | 6.6% | 4.7B | 86% 4w | -7.7% | 59% of 32 med +5% · CVaR -31% |
$529 8% | — | BUY ZONE |
| KLAC equipment ndx100ai_equipmentsoxx_top10 |
174.46 | -2.43% | 0.03 | -8.7% | -3.4% | 34% | 4.6% | 1.8B | 100% 4w | +31.3% | 80% of 30 med +8% · CVaR -13% |
$758 11% | — | BUY ZONE |
| ASML equipment ndx100ai_equipment |
1,657.44 | +0.45% | 0.07 | -6.0% | +5.5% | 68% | 3.3% | 2.3B | 93% 4w | +5.5% | 78% of 32 med +10% · CVaR -18% |
$1,051 15% | — | BUY ZONE |
| QQQ index benchmark |
728.00 | -0.13% | 0.11 | -2.0% | +8.1% | 84% | 1.3% | 23.7B | 91% 4w | +0.6% | 75% of 28 med +7% · CVaR -11% |
$1,400 20% cap | — | BUY ZONE |
| MPWR ndx100 |
1,249.20 | +0.49% | 0.13 | -7.6% | -3.8% | 48% | 4.6% | 886M | 97% 4w | +22.7% | 74% of 31 med +9% · CVaR -24% |
$761 11% | — | BUY ZONE |
| AVGO compute ndx100ai_computesoxx_top10 |
344.33 | -0.55% | 0.14 | -3.5% | -6.2% | 28% | 3.3% | 7.8B | 100% 4w | +27.3% | 69% of 29 med +8% · CVaR -15% |
$1,072 15% | — | BUY ZONE |
| PANW ndx100 |
370.27 | -1.27% | 0.15 | -5.6% | +42.5% | 82% | 4.8% | 2.0B | 97% 4w | +16.7% | 78% of 32 med +11% · CVaR -17% |
$732 10% | — | BUY ZONE |
| ROK humanoid humanoid_association |
422.03 | -0.33% | 0.19 | -2.9% | -0.4% | 52% | 2.5% | 317M | 85% 4w | -3.3% | 65% of 31 med +8% · CVaR -22% |
$1,381 20% | — | BUY ZONE |
A move of 5%+ on 2×+ the 20-day average volume. This is a reaction, not a setup — something happened, and the rule does not know what or which direction it resolves.
| Ticker | Close | 1d | %B | vs 20d | vs 200d | range | ATR | $vol/d | 2y pos | 2y p10 | 60d dips | size | msgs | Verdict |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ANET network ai_network |
185.58 | -5.04% | -0.23 | -9.7% | +14.3% | 69% | 4.5% | 998M | 86% 4w | -12.2% | 77% of 31 med +18% · CVaR -17% |
$779 11% | 1 | DIP · FAILS HOLD SPIKE -5.0% · 2.0x |
| RKLB ndx100 |
55.25 | -6.64% | -0.19 | -20.0% | -32.1% | 14% | 7.8% | 1.2B | — | — | 47% of 17 med -3% · CVaR -44% |
$449 6% | 30 | dip · unmeasured SPIKE -6.6% · 2.2x |
Dips that fail the hold gate, plus names with no measured edge either way.
| Ticker | Close | 1d | %B | vs 20d | vs 200d | range | ATR | $vol/d | 2y pos | 2y p10 | 60d dips | size | msgs | Verdict |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| VRT power ai_power |
214.75 | -3.63% | -0.25 | -12.1% | -19.9% | 29% | 5.5% | 1.1B | 80% 4w | -26.0% | 77% of 26 med +17% · CVaR -28% |
$641 9% | 3 | DIP · FAILS HOLD |
| ANET network ai_network |
185.58 | -5.04% | -0.23 | -9.7% | +14.3% | 69% | 4.5% | 998M | 86% 4w | -12.2% | 77% of 31 med +18% · CVaR -17% |
$779 11% | 1 | DIP · FAILS HOLD SPIKE -5.0% · 2.0x |
| BOTZ humanoid ETF humanoid_etf |
33.74 | -1.08% | -0.14 | -4.4% | -8.4% | 18% | 1.8% | 23M | 69% 4w | -28.2% | 55% of 29 med +4% · CVaR -21% |
$1,400 20% cap | 0 | DIP · FAILS HOLD |
| SMCI compute ai_compute |
35.09 | -1.93% | -0.14 | -14.8% | +8.1% | 42% | 7.0% | 1.3B | 77% 4w | -40.1% | 55% of 31 med +6% · CVaR -34% |
$499 7% | 30 | DIP · FAILS HOLD |
| ARKQ humanoid ETF humanoid_etf |
115.68 | -0.14% | -0.09 | -5.8% | -7.3% | 34% | 2.3% | 12M | 76% 4w | -33.3% | 59% of 29 med +3% · CVaR -19% |
$1,400 20% cap | 0 | DIP · FAILS HOLD |
| COHR equipment ai_equipment |
250.60 | -4.83% | -0.06 | -17.4% | -14.8% | 44% | 9.1% | 1.9B | 68% 4w | -43.5% | 52% of 29 med +4% · CVaR -26% |
$383 5% | 4 | DIP · FAILS HOLD |
| ALNT humanoid humanoid_association |
96.99 | -2.16% | -0.05 | -12.2% | +20.3% | 69% | 5.7% | 21M | 70% 4w | -31.0% | 58% of 31 med +2% · CVaR -30% |
$614 9% | 0 | DIP · FAILS HOLD |
| TER equipment ndx100ai_equipment |
343.21 | -4.52% | -0.04 | -13.7% | -0.2% | 59% | 6.2% | 913M | 75% 4w | -19.2% | 61% of 28 med +9% · CVaR -30% |
$566 8% | — | DIP · FAILS HOLD |
| BKR ndx100 |
54.40 | -1.75% | -0.03 | -3.7% | -8.7% | 42% | 2.9% | 400M | 66% 4w | -44.0% | 43% of 30 med -0% · CVaR -29% |
$1,200 17% | — | DIP · FAILS HOLD |
| MU memory ndx100ai_memorysoxx_top10 |
931.24 | +1.87% | -0.02 | -10.4% | +30.3% | 72% | 5.2% | 26.8B | 80% 4w | -13.6% | 59% of 29 med +6% · CVaR -19% |
$670 10% | — | DIP · FAILS HOLD |
| TSM compute ai_computesoxx_top10 |
422.25 | -1.80% | -0.00 | -6.9% | +7.5% | 70% | 2.9% | 4.4B | 83% 4w | -16.0% | 75% of 32 med +12% · CVaR -18% |
$1,199 17% | — | DIP · FAILS HOLD |
| INTC ndx100soxx_top10 |
95.37 | -2.80% | 0.00 | -16.0% | +13.1% | 58% | 6.1% | 10.2B | 49% 4w | -37.8% | 56% of 32 med +2% · CVaR -24% |
$573 8% | — | DIP · FAILS HOLD |
| STX memory ndx100ai_memory |
690.81 | -3.19% | 0.00 | -18.3% | +2.8% | 54% | 7.5% | 3.6B | 80% 4w | -13.2% | 70% of 30 med +12% · CVaR -21% |
$469 7% | — | DIP · FAILS HOLD |
| WDCearnings in 4 sessions memory ndx100ai_memory |
356.45 | -2.10% | 0.01 | -16.2% | -13.0% | 38% | 7.2% | 3.2B | 53% 4w | -43.6% | 47% of 30 med -2% · CVaR -28% |
$489 7% | — | DIP · FAILS HOLD |
| LITE network ndx100ai_network |
869.54 | -2.99% | 0.10 | -12.5% | +12.2% | 73% | 8.4% | 3.9B | 66% 4w | -46.0% | 62% of 32 med +7% · CVaR -28% |
$419 6% | — | DIP · FAILS HOLD |
| NOVT humanoid humanoid_disclosed |
134.80 | -3.76% | 0.10 | -5.3% | -4.6% | 51% | 4.8% | 51M | 75% 4w | -21.7% | 66% of 32 med +10% · CVaR -22% |
$730 10% | — | DIP · FAILS HOLD |
| ALB materials humanoid_materials |
98.18 | +0.21% | 0.15 | -7.0% | -35.7% | 8% | 4.0% | 262M | 48% 4w | -62.4% | 56% of 32 med +2% · CVaR -27% |
$868 12% | — | DIP · FAILS HOLD |
| FCX materials humanoid_materials |
70.06 | +0.85% | 0.19 | -2.2% | +9.0% | 77% | 3.8% | 830M | 71% 4w | -27.3% | 55% of 31 med +5% · CVaR -32% |
$920 13% | — | DIP · FAILS HOLD |
| ENTG equipment ai_equipment |
146.87 | -4.06% | 0.21 | -5.9% | +8.5% | 68% | 5.0% | 305M | 73% 4w | -20.8% | 62% of 32 med +9% · CVaR -20% |
$694 10% | — | neutral |
| ORCL platform ai_platform |
134.47 | +3.00% | 0.22 | -4.0% | -15.6% | 10% | 5.3% | 3.8B | 97% 4w | +13.7% | 60% of 30 med +3% · CVaR -23% |
$658 9% | — | neutral |
| APH humanoid humanoid_association |
81.49 | -1.45% | 0.23 | -3.5% | +9.0% | 76% | 3.4% | 931M | 98% 4w | +14.3% | 72% of 29 med +7% · CVaR -16% |
$1,033 15% | — | neutral |
| MSTR ndx100 |
151.29 | +5.62% | 0.26 | -3.8% | +11.5% | 31% | 6.1% | 2.6B | 65% 4w | -40.8% | 50% of 32 med +3% · CVaR -42% |
$578 8% | — | neutral |
| TMUS ndx100 |
157.03 | -0.48% | 0.26 | -3.3% | -16.4% | 11% | 3.5% | 783M | 94% 4w | +8.0% | 67% of 33 med +7% · CVaR -14% |
$996 14% | — | neutral |
| PWR power ai_power |
642.21 | -2.77% | 0.28 | -3.5% | +4.1% | 62% | 4.2% | 603M | 93% 4w | +4.6% | 73% of 30 med +7% · CVaR -12% |
$827 12% | — | neutral |
| TSLAearnings in 3 sessions humanoid ndx100humanoid_oem |
362.44 | -1.29% | 0.28 | -2.3% | -6.7% | 33% | 3.1% | 11.7B | 74% 4w | -33.4% | 52% of 33 med +1% · CVaR -37% |
$1,140 16% | — | neutral |
%B above 1.00 — the stall zone, −2.65 pts vs the null at 60 days. Not a short signal; a not-today signal.
| Ticker | Close | 1d | %B | vs 20d | vs 200d | range | ATR | $vol/d | 2y pos | 2y p10 | 60d dips | size | msgs | Verdict |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PYPL ndx100 |
57.16 | +1.89% | 1.00 | +5.4% | +14.7% | 55% | 2.3% | 576M | 53% 4w | -69.6% | 50% of 30 med +0% · CVaR -29% |
$1,400 20% cap | — | extended |
| ADSK ndx100 |
245.16 | +6.07% | 1.01 | +10.6% | +3.9% | 46% | 3.3% | 450M | 73% 4w | -26.7% | 55% of 31 med +3% · CVaR -21% |
$1,055 15% | — | extended |
| MNST ndx100 |
45.34 | +2.53% | 1.02 | +4.6% | +6.3% | 72% | 2.2% | 426M | 95% 4w | +3.8% | 67% of 33 med +7% · CVaR -13% |
$1,400 20% cap | — | extended |
| MDLZ ndx100 |
63.03 | +0.74% | 1.02 | +5.0% | +6.9% | 90% | 2.0% | 454M | 78% 4w | -8.0% | 59% of 32 med +3% · CVaR -11% |
$1,400 20% cap | — | extended |
| AMGN ndx100 |
434.03 | +1.86% | 1.03 | +5.6% | +18.9% | 94% | 2.5% | 1.1B | 95% 4w | +4.3% | 61% of 31 med +5% · CVaR -15% |
$1,393 20% | — | extended |
| BIIB ndx100 |
235.35 | +1.08% | 1.03 | +4.5% | +19.1% | 100% | 2.8% | 185M | 33% 4w | -45.3% | 48% of 31 med -2% · CVaR -26% |
$1,272 18% | — | extended |
| TRI ndx100 |
107.89 | +2.36% | 1.06 | +8.3% | +12.9% | 39% | 3.3% | 139M | 89% 4w | -5.7% | 71% of 28 med +5% · CVaR -19% |
$1,071 15% | — | extended |
| ADBE ndx100 |
251.67 | +4.57% | 1.07 | +5.0% | -1.2% | 35% | 3.4% | 1.1B | 63% 4w | -44.8% | 45% of 29 med -2% · CVaR -23% |
$1,019 15% | — | extended |
| WMT ndx100 |
117.87 | +1.47% | 1.10 | +8.1% | +0.0% | 53% | 2.1% | 2.4B | 98% 4w | +7.6% | 68% of 31 med +7% · CVaR -13% |
$1,400 20% cap | — | extended |
| GILD ndx100 |
157.37 | +2.49% | 1.10 | +5.1% | +15.3% | 100% | 2.5% | 802M | 77% 4w | -8.7% | 65% of 31 med +3% · CVaR -13% |
$1,400 20% cap | — | extended |
| ORLY ndx100 |
88.50 | +2.09% | 1.11 | +3.3% | -2.4% | 30% | 2.0% | 444M | 100% 4w | +27.7% | 70% of 30 med +8% · CVaR -27% |
$1,400 20% cap | — | extended |
| CSXearnings in 3 sessions ndx100 |
48.69 | +0.85% | 1.11 | +3.2% | +9.2% | 78% | 1.6% | 470M | 90% 4w | -0.2% | 70% of 33 med +5% · CVaR -12% |
$1,400 20% cap | — | extended |
| INTU ndx100 |
330.17 | +6.36% | 1.11 | +13.4% | -11.6% | 18% | 3.8% | 1.1B | 83% 4w | -13.1% | 67% of 30 med +9% · CVaR -32% |
$930 13% | — | extended |
| ROPearnings in 4 sessions ndx100 |
382.45 | +2.62% | 1.12 | +5.4% | +5.2% | 35% | 2.3% | 272M | 84% 4w | -16.8% | 62% of 32 med +3% · CVaR -13% |
$1,400 20% cap | — | extended |
| ADP ndx100 |
285.65 | +1.90% | 1.13 | +6.8% | +21.2% | 100% | 2.0% | 525M | 93% 4w | +3.4% | 67% of 30 med +6% · CVaR -17% |
$1,400 20% cap | — | extended |
Buy the dip names at each quarter-end, hold to the next, versus the same number of names drawn at random from the same list (2000 draws), after 0.20% costs. Thresholds were written before each run. Neither variant cleared them, so nothing here changes the verdicts above. The universe is today's AI leaders, which flatters dip entries; the mean is carried by one quarter (2026-03-31) in v1.
| Test | signal qtrs | mean net excess | qtrs positive | ex best qtr | p vs random | result |
|---|---|---|---|---|---|---|
| v1 · dip (%B < 0.20) | 23 | +4.2 pts | 52% | +1.0 pts | 0.071 | not promoted (failed: P1, P4) |
| v2 · dip + above 200-day | 18 | +3.3 pts | 39% | -4.8 pts | 0.259 | not promoted (failed: P1, P3, P4, P5, P6) |
The 1–3 year durability gate cannot be tested point-in-time on 10 years of data (needs 2016 prior sessions); it is judged forward only. Method and thresholds: docs/experiments/2026-09-24-preregistration-qr-s1-v{1,2}.md.
Daily entries at the next open on the 34 AI stocks over 10 years, edge vs every session for the same names. The rule was fixed before this ran: the grid can only demote the default, never pick a different cell. Result: not demoted — it sits on a plateau. Deeper dips test a little better and every cell is positive, but the default edge is +1.31 pts over 10 years, well below the +3.47 pts measured on 2023+ alone.
| edge vs null, pts | 20d | 40d | 60d | 90d |
|---|---|---|---|---|
| %B < 0.10 | +1.24 | +1.52 | +1.72 | +1.34 |
| %B < 0.15 | +1.13 | +1.35 | +1.52 | +1.09 |
| %B < 0.20 | +0.98 | +1.17 | +1.31 | +0.63 |
| %B < 0.25 | +0.85 | +1.05 | +1.28 | +0.57 |
| %B < 0.30 | +0.77 | +1.00 | +1.31 | +0.59 |
By year (default cell): 2016 +0.5% · 2017 +2.2% · 2018 +2.1% · 2019 +4.1% · 2020 +8.1% · 2021 +3.2% · 2022 +3.8% · 2023 +4.4% · 2024 +3.5% · 2025 -3.3% · 2026 +4.2%
By market: QQQ above 200 +0.72% · QQQ below 200 +2.16%
Same rule on indices since 1999 (no hand-picked names): QQQ +0.58% · SPY +0.85% · XLK +0.39% — positive on at least 2 of 3. Episodes are counted per name, and the names dip together, so the independent count is far lower than the raw one. Source: scripts/quarterly_rotation/robustness.py.