Nasdaq-100 + the AI / humanoid complex · 145 of 147 resolved

AI & Humanoid Screen

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.

Market backdrop: normal — QQQ above its 200-day

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.

QQQ vs 200-day+5.4%
SOXX vs 200-day+5.6%
VIX20.0 (+35% 5d)
AI list above 200-day48%
AI list, equal weight 5d / 20d-11.3% / -6.8%

Theme health

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.

ThemeNamesBasket vs 200dBasket 20dNames above 200dIn dip bandState
AI compute9+11.5%-7.7%67%9/9leading
AI memory4+4.1%-24.1%50%4/4mixed
Chip equipment8-8.1%-11.7%25%8/8breaking
AI networking3-0.6%-9.8%67%3/3breaking
AI power5-6.3%-5.5%20%4/5breaking
AI platforms6+10.1%+2.0%83%2/6leading
Humanoid supply chain16 (15 in basket)-3.8%-0.7%47%9/16breaking
Magnets & materials4-21.8%-11.7%25%4/4breaking
1. Is it on sale?%B < 0.20

%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.

2. Above or below the 200-day?a trade-off, not a gate

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.

3. Does it survive bad timing? 2y pos ≥ 80% AND 2y p10 > -10%

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.

The exit is a rule, not a guess — but be clear which rule. Everything in these tables is a fixed hold: the +3.47 / −2.65 / +7.49 pt figures are 60 trading days, entry at the next open, and the 2y pos / 2y p10 columns are 504-day holds. Nothing on this page measures a middle-band exit.
Selling on the first close above the 20-day middle band is the rule used by the separate SOXX/SOXL/SOXS band strategy in the morning brief, and it is a reasonable discipline — it just is not what produced these numbers. Reproduce the tabulated edge by holding the horizon, not by exiting at the midband.
Why there are two signals. Meta launched Muse on 2026-09-08 and ran +20.3% before the first analyst upgrade on 09-21 — following that upgrade captured 2% of the move. Replaying these rules over those sessions:
%B < 0.20 dip rule2026-08-21 @ 549.47+35.4%18 days before the launch, and META was 11.8% below its 200-day
move + volume spike2026-09-09 @ 653.17+13.9%the day after the launch
follow the analyst2026-09-21 @ 741.25+0.4%the move was over
The dip rule caught it by accident — it was buying a drawdown, not predicting a product. The spike rule reacts to the catalyst, late but not uselessly. They are labelled separately so a reaction is never mistaken for a setup.

Semis — SOXX / SOXL / SOXS

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.

TickerClose1d%Bvs 20dvs 200drangeATR$vol/d2y pos2y p1060d dipssizemsgsVerdict
SOXX
semis ETF semis_etf
493.39-4.14% -0.17 -11.9%+5.6%58% 3.6%4.0B 95% 4w +7.4%72% of 29
med +5% · CVaR -18%
$972
14%
1 BUY ZONE
SOXL
semis ETF semis_etfleveraged
93.67-12.74% -0.13 -33.8%-23.2%23% 13.8%7.9B 76% 4w -52.2%62% of 29
med +5% · CVaR -57%
—— leveraged · not rated
SOXS
semis ETF semis_etfleveragedinverse
49.23+12.81% 1.23 +41.2%-71.8%2% 7.7%2.5B 0% 4w -98.7%17% of 36
med -25% · CVaR -65%
—— leveraged · not rated

What is moving SOXX

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).

Weight above its own 20-day0%
Weight that rose today0%
Top-10 contribution today-2.76%
Largest moverMU -0.50% · 18% of gross movement
Tiles are the nightly snapshot, as of 2026-10-16. Refresh live re-prices the rows; the tiles and the chart only update when all ten come back for the same session.
SOXX 20-day realized vol 37% (annualized) · 5-day drawdown -9.4% · median holding vs its 20-day -13.4% — the median keeps one or two large holdings from masking the rest.
Weighted daily return of the top ten (renormalised to 100%), last 20 sessions · most recent on the right
2026-09-21 +4.81%2026-09-22 +1.96%2026-09-23 -1.34%2026-09-24 +0.53%2026-09-25 +0.34%2026-09-28 -1.38%2026-09-29 +1.49%2026-09-30 +0.40%2026-10-01 +1.27%2026-10-02 +1.53%2026-10-05 +0.34%2026-10-06 +0.01%2026-10-07 +0.00%2026-10-08 -3.49%2026-10-09 -0.76%2026-10-12 -2.50%2026-10-13 -0.73%2026-10-14 -4.32%2026-10-15 -1.44%2026-10-16 -4.49%
Last 5 sessions — return: -2.5%, -0.7%, -4.3%, -1.4%, -4.5% · weight rising: 0%, 64%, 0%, 14%, 0%
TickerFund wt1dContrib5d20dTrendvs 20d
NVDA9.43%-1.43%-0.135%-6.6%-3.7%BELOW 20d
MU8.91%-5.63%-0.501%-14.6%-13.5%BELOW 20d
AMD8.23%-5.95%-0.490%-13.0%-5.5%BELOW 20d
AVGO7.48%-4.52%-0.338%-9.1%-7.9%BELOW 20d
INTC5.09%-5.79%-0.295%-14.2%-17.3%BELOW 20d
MRVL4.66%-5.56%-0.259%-17.2%-6.7%BELOW 20d
TSM4.65%-2.28%-0.106%-9.0%-5.1%BELOW 20d
AMAT4.59%-4.82%-0.221%-19.3%-7.9%BELOW 20d
LRCX
earnings in 2 sessions
4.27%-4.87%-0.208%-17.2%-8.3%BELOW 20d
KLAC4.12%-5.00%-0.206%-15.3%-6.4%BELOW 20d
How to use this for SOXL vs SOXS. SOXX %B -0.17 is under 0.20 — in the measured dip band: +1.3 to +1.5 pts vs the null at 20 days on SOXX (8- and 10-year windows, n≈310–370). That is a long-SOXX result; it says nothing about SOXS.

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.

Mega caps

META, GOOGL, MSFT, AAPL, AMZN, NFLX — tracked every day whether or not they signal.

TickerClose1d%Bvs 20dvs 200drangeATR$vol/d2y pos2y p1060d dipssizemsgsVerdict
METAearnings in 2 sessions
platform ndx100ai_platformmegacap
709.33-3.72% 0.08 -3.6%+12.4%73% 3.6%10.9B 79% 4w -28.0%57% of 30
med +3% · CVaR -25%
$981
14%
— DIP · FAILS HOLD
GOOGL
platform ndx100ai_platformmegacap
340.59-2.47% 0.21 -1.7%+0.0%60% 2.6%8.2B 90% 4w +0.0%71% of 31
med +5% · CVaR -9%
$1,339
19%
— neutral
MSFT
platform ndx100ai_platformmegacap
529.05-1.93% 0.65 +1.7%+21.9%92% 2.3%11.0B 96% 4w +10.0%70% of 27
med +7% · CVaR -13%
$1,400
20% cap
— neutral
AAPL
megacap ndx100megacap
343.46+0.43% 0.87 +1.8%+17.6%100% 2.0%12.7B 99% 4w +16.3%70% of 27
med +6% · CVaR -17%
$1,400
20% cap
— neutral
AMZN
megacap ndx100megacap
250.00-1.87% 0.33 -1.3%+3.0%60% 2.4%8.7B 79% 4w -25.3%73% of 30
med +6% · CVaR -22%
$1,400
20% cap
— neutral
NFLXearnings in 1 session
megacap ndx100megacap
70.53-2.86% 0.53 +0.3%-14.9%6% 2.7%2.4B 76% 4w -39.1%74% of 31
med +7% · CVaR -37%
$1,305
19%
— neutral

Live lookup & sizing

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.

Buy zone

%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%).

TickerClose1d%Bvs 20dvs 200drangeATR$vol/d2y pos2y p1060d dipssizemsgsVerdict
QQQ
index benchmark
709.80-2.50% -0.24 -4.4%+5.4%75% 1.5%23.7B 91% 4w +0.6%75% of 28
med +7% · CVaR -11%
$1,400
20% cap
30 BUY ZONE
AMD
compute ndx100ai_computesoxx_top10
528.75-5.95% -0.23 -13.4%+34.1%74% 5.2%11.3B 89% 4w -2.5%55% of 31
med +4% · CVaR -28%
$679
10%
30 BUY ZONE
ETN
power ai_power
391.25-2.79% -0.21 -8.9%-0.4%53% 3.8%774M 99% 4w +14.1%75% of 28
med +8% · CVaR -14%
$911
13%
1 BUY ZONE
PANW
ndx100
342.00-7.63% -0.18 -12.5%+31.2%72% 5.6%2.0B 97% 4w +16.8%78% of 32
med +11% · CVaR -17%
$630
9%
7 BUY ZONE
SOXX
semis ETF semis_etf
493.39-4.14% -0.17 -11.9%+5.6%58% 3.6%4.0B 95% 4w +7.4%72% of 29
med +5% · CVaR -18%
$972
14%
1 BUY ZONE
SMH
index benchmark
539.79-3.41% -0.15 -10.2%+5.6%63% 3.1%3.7B 97% 4w +11.4%71% of 28
med +6% · CVaR -15%
$1,142
16%
17 BUY ZONE
MRVL
compute ndx100ai_computesoxx_top10
227.83-5.56% -0.14 -13.4%+29.6%64% 7.0%4.7B 86% 4w -7.7%59% of 32
med +5% · CVaR -31%
$502
7%
4 BUY ZONE
AVGO
compute ndx100ai_computesoxx_top10
328.75-4.52% -0.13 -7.5%-10.4%19% 3.5%7.8B 100% 4w +27.3%69% of 29
med +8% · CVaR -15%
$995
14%
— BUY ZONE
KLAC
equipment ndx100ai_equipmentsoxx_top10
165.74-5.00% -0.12 -13.0%-8.3%29% 4.9%1.8B 100% 4w +31.3%80% of 30
med +8% · CVaR -13%
$712
10%
— BUY ZONE
LRCXearnings in 2 sessions
equipment ndx100ai_equipmentsoxx_top10
263.94-4.87% -0.10 -16.0%-6.2%43% 5.5%2.6B 93% 4w +7.4%64% of 28
med +6% · CVaR -18%
$642
9%
— BUY ZONE
JBL
humanoid humanoid_disclosed
278.25-3.10% -0.09 -8.5%-8.8%44% 5.1%339M 95% 4w +8.5%61% of 31
med +6% · CVaR -14%
$687
10%
— BUY ZONE
AMAT
equipment ndx100ai_equipmentsoxx_top10
409.29-4.82% -0.07 -16.5%-6.6%38% 5.1%3.1B 92% 4w +1.6%68% of 31
med +14% · CVaR -17%
$685
10%
— BUY ZONE
NVDA
compute ndx100ai_computesoxx_top10
214.13-1.43% -0.07 -6.2%+5.7%66% 2.8%24.9B 95% 4w +9.6%79% of 29
med +11% · CVaR -26%
$1,256
18%
— BUY ZONE
APH
humanoid humanoid_association
79.35-2.63% -0.03 -6.1%+6.0%68% 3.5%931M 98% 4w +14.3%72% of 29
med +7% · CVaR -16%
$1,014
14%
— BUY ZONE
ORCL
platform ai_platform
128.23-4.64% -0.01 -7.8%-19.4%7% 5.6%3.9B 97% 4w +13.7%60% of 30
med +3% · CVaR -23%
$627
9%
— BUY ZONE
MPWR
ndx100
1,210.86-3.07% -0.00 -10.4%-6.9%43% 4.7%886M 97% 4w +22.7%74% of 31
med +9% · CVaR -24%
$752
11%
— BUY ZONE
AXON
ndx100
390.29-6.45% 0.01 -7.7%-20.1%11% 5.1%426M 98% 4w +20.4%56% of 32
med +20% · CVaR -28%
$682
10%
— BUY ZONE
ASML
equipment ndx100ai_equipment
1,641.52-0.96% 0.03 -6.8%+4.3%66% 3.3%2.3B 93% 4w +5.8%78% of 32
med +10% · CVaR -18%
$1,052
15%
— BUY ZONE
VTI
index benchmark
374.07-1.15% 0.08 -1.2%+5.1%87% 1.0%1.1B 93% 4w +1.4%79% of 29
med +5% · CVaR -12%
$1,400
20% cap
— BUY ZONE
SPY
index benchmark
763.25-1.11% 0.13 -1.0%+5.7%89% 0.9%32.5B 98% 4w +5.4%73% of 26
med +5% · CVaR -13%
$1,400
20% cap
— BUY ZONE
PWR
power ai_power
631.86-1.61% 0.18 -5.0%+2.2%59% 4.2%601M 93% 4w +4.6%73% of 30
med +7% · CVaR -12%
$841
12%
— BUY ZONE

Catalyst spikes today

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.

Nothing in this group today.

Near the band / neutral

Dips that fail the hold gate, plus names with no measured edge either way.

TickerClose1d%Bvs 20dvs 200drangeATR$vol/d2y pos2y p1060d dipssizemsgsVerdict
ANET
network ai_network
176.98-4.63% -0.24 -13.4%+8.8%60% 4.7%1.0B 86% 4w -12.0%77% of 31
med +18% · CVaR -17%
$740
11%
1 DIP · FAILS HOLD
SMCI
compute ai_compute
31.63-9.86% -0.23 -22.5%-2.6%32% 8.1%1.3B 77% 4w -40.1%55% of 31
med +6% · CVaR -34%
$434
6%
30 DIP · FAILS HOLD
VRT
power ai_power
206.42-3.88% -0.20 -14.8%-23.0%25% 5.6%1.1B 80% 4w -26.0%77% of 26
med +17% · CVaR -28%
$627
9%
1 DIP · FAILS HOLD
BOTZ
humanoid ETF humanoid_etf
33.02-2.13% -0.19 -6.2%-10.3%11% 1.9%23M 69% 4w -28.0%55% of 29
med +4% · CVaR -21%
$1,400
20% cap
0 DIP · FAILS HOLD
ARKQ
humanoid ETF humanoid_etf
112.24-2.97% -0.16 -8.2%-10.1%26% 2.5%12M 76% 4w -33.3%59% of 29
med +3% · CVaR -19%
$1,390
20%
0 DIP · FAILS HOLD
MSTR
ndx100
136.83-9.56% -0.14 -12.5%+0.9%25% 7.1%2.7B 65% 4w -40.8%50% of 32
med +3% · CVaR -42%
$492
7%
— DIP · FAILS HOLD
NOVT
humanoid humanoid_disclosed
128.79-4.46% -0.14 -9.4%-8.9%43% 5.0%51M 75% 4w -21.7%66% of 32
med +10% · CVaR -22%
$699
10%
— DIP · FAILS HOLD
ALNT
humanoid humanoid_association
92.64-4.48% -0.13 -15.8%+14.6%63% 6.0%22M 70% 4w -31.0%58% of 31
med +2% · CVaR -30%
$588
8%
— DIP · FAILS HOLD
MU
memory ndx100ai_memorysoxx_top10
878.84-5.63% -0.11 -14.9%+22.5%67% 5.6%26.6B 80% 4w -13.5%59% of 29
med +6% · CVaR -19%
$626
9%
— DIP · FAILS HOLD
TER
equipment ndx100ai_equipment
325.00-5.31% -0.10 -17.8%-5.7%54% 6.5%920M 75% 4w -19.1%61% of 28
med +9% · CVaR -30%
$540
8%
— DIP · FAILS HOLD
COHR
equipment ai_equipment
232.90-7.06% -0.10 -22.2%-20.9%38% 9.7%1.9B 68% 4w -43.4%52% of 29
med +4% · CVaR -26%
$361
5%
— DIP · FAILS HOLD
TSM
compute ai_computesoxx_top10
412.61-2.28% -0.07 -8.8%+4.9%66% 3.0%4.4B 83% 4w -15.9%75% of 32
med +12% · CVaR -18%
$1,176
17%
— DIP · FAILS HOLD
STX
memory ndx100ai_memory
639.01-7.50% -0.05 -23.5%-5.1%48% 8.1%3.6B 80% 4w -12.9%70% of 30
med +12% · CVaR -21%
$432
6%
— DIP · FAILS HOLD
INTC
ndx100soxx_top10
89.85-5.79% -0.04 -20.2%+6.3%52% 6.5%10.2B 49% 4w -37.7%56% of 32
med +2% · CVaR -24%
$538
8%
— DIP · FAILS HOLD
WDCearnings in 3 sessions
memory ndx100ai_memory
332.00-6.86% -0.04 -21.0%-19.1%34% 7.7%3.2B 53% 4w -43.5%47% of 30
med -2% · CVaR -28%
$457
7%
— DIP · FAILS HOLD
ENTG
equipment ai_equipment
138.74-5.54% -0.02 -11.0%+2.3%61% 5.4%305M 73% 4w -20.8%62% of 32
med +9% · CVaR -20%
$650
9%
— DIP · FAILS HOLD
LITE
network ndx100ai_network
824.13-5.22% 0.01 -16.6%+6.0%68% 8.6%3.9B 66% 4w -46.0%62% of 32
med +7% · CVaR -28%
$407
6%
— DIP · FAILS HOLD
METAearnings in 2 sessions
platform ndx100ai_platformmegacap
709.33-3.72% 0.08 -3.6%+12.4%73% 3.6%10.9B 79% 4w -28.0%57% of 30
med +3% · CVaR -25%
$981
14%
— DIP · FAILS HOLD
ALB
materials humanoid_materials
95.48-2.75% 0.08 -8.9%-37.4%6% 4.2%262M 48% 4w -62.1%56% of 32
med +2% · CVaR -27%
$838
12%
— DIP · FAILS HOLD
TSLAearnings in 2 sessions
humanoid ndx100humanoid_oem
354.72-2.13% 0.11 -4.2%-8.6%29% 3.3%11.7B 74% 4w -33.4%52% of 33
med +1% · CVaR -37%
$1,048
15%
— DIP · FAILS HOLD
FCX
materials humanoid_materials
69.54-0.74% 0.13 -2.8%+8.0%75% 3.9%830M 71% 4w -27.0%55% of 31
med +5% · CVaR -32%
$905
13%
— DIP · FAILS HOLD
CIEN
network ai_network
332.73-6.67% 0.15 -12.9%-16.8%36% 8.2%878M 76% 4w -15.6%60% of 30
med +5% · CVaR -20%
$427
6%
— DIP · FAILS HOLD
QCOM
ndx100
172.11-3.53% 0.17 -6.3%+2.4%39% 4.2%1.8B 75% 4w -13.6%52% of 29
med +0% · CVaR -22%
$832
12%
— DIP · FAILS HOLD
ON
humanoid ndx100humanoid_association
72.02-2.28% 0.20 -6.9%-11.8%30% 4.9%759M 74% 4w -38.6%59% of 32
med +5% · CVaR -30%
$721
10%
— DIP · FAILS HOLD
GOOGL
platform ndx100ai_platformmegacap
340.59-2.47% 0.21 -1.7%+0.0%60% 2.6%8.2B 90% 4w +0.0%71% of 31
med +5% · CVaR -9%
$1,339
19%
— neutral

Extended

%B above 1.00 — the stall zone, −2.65 pts vs the null at 60 days. Not a short signal; a not-today signal.

TickerClose1d%Bvs 20dvs 200drangeATR$vol/d2y pos2y p1060d dipssizemsgsVerdict
SBUX
ndx100
97.52+0.66% 1.00 +3.4%-0.9%64% 2.5%665M 75% 4w -8.5%47% of 30
med -1% · CVaR -18%
$1,400
20% cap
— extended
COST
ndx100
989.11+1.13% 1.00 +5.9%+2.6%58% 1.7%1.9B 100% 4w +26.3%59% of 29
med +6% · CVaR -9%
$1,400
20% cap
— extended
CSXearnings in 2 sessions
ndx100
48.68-0.02% 1.01 +3.0%+9.0%78% 1.6%470M 90% 4w -0.2%70% of 33
med +5% · CVaR -12%
$1,400
20% cap
— extended
AEP
ndx100
127.14+2.29% 1.02 +4.8%+0.7%60% 1.7%417M 86% 4w -2.5%65% of 31
med +4% · CVaR -14%
$1,400
20% cap
— extended
TRI
ndx100
109.01+1.04% 1.04 +8.6%+14.2%41% 3.3%140M 89% 4w -5.7%71% of 28
med +5% · CVaR -19%
$1,076
15%
— extended
WMT
ndx100
118.81+0.80% 1.04 +8.4%+0.8%56% 2.1%2.4B 98% 4w +7.7%68% of 31
med +7% · CVaR -13%
$1,400
20% cap
— extended
ROPearnings in 3 sessions
ndx100
382.71+0.07% 1.05 +5.3%+5.3%35% 2.4%272M 84% 4w -16.8%62% of 32
med +3% · CVaR -13%
$1,400
20% cap
— extended
CTAS
ndx100
213.69+0.30% 1.05 +6.7%+13.6%96% 1.8%366M 98% 4w +21.3%67% of 30
med +8% · CVaR -15%
$1,400
20% cap
— extended
MNST
ndx100
45.73+0.86% 1.05 +5.4%+7.2%75% 2.2%429M 95% 4w +3.8%67% of 33
med +7% · CVaR -13%
$1,400
20% cap
— extended
MDLZ
ndx100
63.91+1.40% 1.05 +6.1%+8.3%96% 1.9%454M 78% 4w -7.9%59% of 32
med +3% · CVaR -11%
$1,400
20% cap
— extended
MAR
ndx100
388.05+0.61% 1.10 +7.5%+10.5%91% 2.0%509M 90% 4w -0.1%72% of 29
med +4% · CVaR -24%
$1,400
20% cap
— extended
CSGP
ndx100
32.31+0.97% 1.10 +12.5%-15.5%10% 3.5%180M 62% 4w -24.1%58% of 31
med +6% · CVaR -24%
$1,002
14%
— extended
ADP
ndx100
288.90+1.14% 1.10 +7.7%+22.4%100% 1.9%545M 93% 4w +3.6%67% of 30
med +6% · CVaR -17%
$1,400
20% cap
— extended
ORLY
ndx100
89.27+0.87% 1.11 +3.9%-1.5%34% 2.0%444M 100% 4w +27.7%70% of 30
med +8% · CVaR -27%
$1,400
20% cap
— extended
KDP
ndx100
34.62+1.29% 1.12 +9.5%+18.4%100% 2.4%338M 69% 4w -9.4%57% of 30
med +2% · CVaR -10%
$1,400
20% cap
— extended

Does the dip rule hold up as a quarterly rotation?

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.

Testsignal qtrsmean net excessqtrs positiveex best qtrp vs randomresult
v1 · dip (%B < 0.20)23+4.2 pts52%+1.0 pts0.071not promoted (failed: P1, P4)
v2 · dip + above 200-day18+3.3 pts39%-4.8 pts0.259not 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.

Is %B < 0.20 / 60 days a lucky setting?

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, pts20d40d60d90d
%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.