Dip-buying research: your holdings and sector peers
Data through Friday, October 16, 2026. 44 tickers, up to 10 years of daily history. Analysis only, not investment advice.
VIX: Rising fear
Shown for context. The dip grades below are not adjusted for the VIX; the table near the bottom shows how dips actually performed in each VIX condition over the sample.
- VIX
- 19.99
- 1-year percentile
- 82
- 5-day change
- +35%
Consistent dip-bouncers with a signal right now
Stocks that passed all or nearly all five consistency tests and whose best dip rule fired today or in the last three sessions. This is where a historically reliable bounce pattern is currently active. Suggested size is half-Kelly (win rate and average win/loss from the backtest, capped at 25% of the account) against the 100,000 account size set at the top of the script -- edit it to your own.
No consistent dip-bouncer has an active signal today.
Consistent dip-bouncers, armed and within 10% of their trigger
Same stocks, not yet triggered. The status column shows how far the price must fall to hit the rule. The trigger price is approximate because Bollinger Bands and the 60-day high move each day.
Nothing consistent is armed within 10% of its trigger.
Your positions
Overlap in your holdings: these pairs moved almost in lockstep over the last year: SPY and VOO (1.00), SPY and QQQ (0.93), VOO and QQQ (0.93). Holding several of them adds less diversification than the ticker count suggests.
SDS is a 2x inverse S&P 500 fund. It loses value to daily reset decay over time, so dip rules do not apply to it the way they do to ordinary stocks.
| BEPower and clean energy | 221.31 | Signal in last 3 sessions ⚠ earnings in hold window | 50-day pullback | No1 of 5 tests | 46% won28 trades | +3.2% | +0.4% | -4.0% | -14.0% | -36.0% | 111% | 4.32 | 37 | +30% | 8.1% | 1.2d | -223,242 | 0.88 |
| SDSInverse ETFs | 54.64 | Trend filter off | 10% drawdown | n/a (decay)1 of 5 tests | 37% won19 trades | -1.5% | -0.5% | -3.1% | -7.4% | -30.0% | 25% | -1.98 | 57 | -27% | - | - | - | 0.11 |
| SPYIndex ETFs | 763.25 | Armedneeds -0.1% ($762.57) | BB dip | No3 of 5 tests | 62% won29 trades | +0.6% | +0.1% | -0.1% | -2.8% | -2.0% | 13% | 1.00 | 44 | +15% | - | - | - | 1.30 |
| VOOIndex ETFs | 701.61 | Armedneeds -0.1% ($700.94) | BB dip | No3 of 5 tests | 62% won29 trades | +0.7% | +0.1% | -0.1% | -2.7% | -2.0% | 13% | 1.00 | 44 | +16% | - | - | - | 1.99 |
| MUSemiconductors and memory | 878.84 | Signal today | BB dip | No4 of 5 tests | 71% won21 trades | +4.1% | +2.1% | +3.2% | -6.8% | -27.6% | 81% | 3.32 | 34 | +49% | 2.3% | 1.0d | -266,805 | 0.76 |
| QQQIndex ETFs | 709.80 | Armedneeds -3.7% ($683.69) | 10% drawdown | No1 of 5 tests | 83% won12 trades | +3.7% | +2.9% | +7.4% | -2.7% | -6.6% | 20% | 1.44 | 35 | +21% | - | - | - | 0.92 |
| NVDASemiconductors and memory | 214.13 | Signal today | BB dip | No3 of 5 tests | 76% won21 trades | +3.4% | +1.2% | +3.0% | -7.3% | -10.5% | 37% | 1.89 | 38 | +63% | 1.3% | 2.8d | -6,198,325 | 0.70 |
| AMZNMega-cap platforms | 250.00 | Signal today ⚠ earnings in hold window | 10% drawdown | No2 of 5 tests | 60% won45 trades | +0.5% | -0.3% | -0.6% | -4.9% | -12.0% | 34% | 1.44 | 45 | +20% | 0.9% | 2.5d | -1,425,512 | 0.81 |
| GOOGLMega-cap platforms | 340.59 | Armedneeds -0.6% ($338.39) ⚠ earnings in hold window | BB dip | No3 of 5 tests | 60% won25 trades | +1.2% | +0.2% | +1.0% | -4.4% | -15.3% | 31% | 1.37 | 44 | +24% | 1.4% | 3.0d | +0 | 0.69 |
| METAMega-cap platforms | 709.33 | Armedneeds to rise +0.2% ($710.41) ⚠ earnings in hold window | BB dip | No3 of 5 tests | 64% won22 trades | +1.5% | +0.6% | +0.2% | -4.8% | -8.8% | 42% | 1.49 | 50 | +19% | 1.5% | 1.4d | -192,762 | 1.00 |
| MSFTMega-cap platforms | 529.05 | Armedneeds -6.0% ($497.22) ⚠ earnings in hold window | BB dip | No2 of 5 tests | 65% won20 trades | +1.4% | +0.4% | -2.1% | -3.6% | -2.6% | 33% | 1.00 | 57 | +26% | 0.8% | 2.8d | -174,076 | 0.70 |
Portfolio exposure by factor / sector group
Equal-weighted by ticker count, not dollars -- this script doesn't know your actual position sizes. Groups reuse the peer-group labels above (e.g. everything in "Mega-cap platforms" counts once each).
| Mega-cap platforms (AMZN, GOOGL, META, MSFT) | 36% | 4 | AMZN, GOOGL, META, MSFT |
| Index ETFs (SPY, VOO, QQQ) | 27% | 3 | SPY, VOO, QQQ |
| Semiconductors and memory (NVDA, MU) | 18% | 2 | MU, NVDA |
| Inverse ETFs (SDS) | 9% | 1 | SDS |
| Power and clean energy (BE) | 9% | 1 | BE |
Sector peers
Stocks in the same sectors as your holdings, graded by the same rules.
Index ETFs (SPY, VOO, QQQ)
| XLKIndex ETFs | 183.47 | Armedneeds -0.9% ($181.80) | 10% drawdown | No4 of 5 tests | 74% won19 trades | +2.9% | +2.0% | +2.7% | -4.3% | -9.2% | 26% | 1.76 | 33 | +24% | - | - | - | 0.63 |
| DIAIndex ETFs | 519.10 | Armedneeds to rise +0.1% ($519.49) | 50-day pullback | No4 of 5 tests | 61% won51 trades | +0.8% | +0.3% | +0.4% | -2.3% | -4.1% | 13% | 0.82 | 52 | +13% | - | - | - | 1.33 |
| IVVIndex ETFs | 766.67 | Armedneeds -0.1% ($765.93) | BB dip | No3 of 5 tests | 62% won29 trades | +0.7% | +0.1% | -0.1% | -2.7% | -2.0% | 13% | 1.00 | 44 | +16% | - | - | - | 0.89 |
| IWMIndex ETFs | 270.44 | Trend filter off | 10% drawdown | No2 of 5 tests | 100% won3 trades | +4.3% | +3.9% | +3.7% | -1.4% | -11.1% | 18% | 1.18 | 32 | +10% | - | - | - | 1.54 |
Inverse ETFs (SDS)
| SQQQInverse ETFs | 38.90 | Trend filter off | 10% drawdown | n/a (decay)1 of 5 tests | 33% won24 trades | -2.8% | -0.4% | -8.3% | -12.7% | -55.2% | 59% | -4.31 | 65 | -55% | - | - | - | 0.24 |
| SPXUInverse ETFs | 34.87 | Trend filter off | 10% drawdown | n/a (decay)1 of 5 tests | 24% won21 trades | -5.5% | -3.9% | -9.5% | -11.5% | -42.6% | 38% | -2.98 | 57 | -42% | - | - | - | 0.19 |
| SHInverse ETFs | 32.47 | Trend filter off | 10% drawdown | n/a (decay)0 of 5 tests | 27% won11 trades | -0.6% | -0.2% | -0.5% | -3.4% | -15.2% | 13% | -0.99 | 58 | -13% | - | - | - | 0.03 |
Mega-cap platforms (AMZN, GOOGL, META, MSFT)
| AAPLMega-cap platforms | 343.46 | Armedneeds -10.0% ($309.11) | 10% drawdown | No4 of 5 tests | 70% won37 trades | +2.5% | +1.4% | +3.0% | -4.5% | +0.0% | 24% | 0.62 | 62 | +29% | 0.8% | 2.8d | -582,307 | 0.82 |
| ADBEMega-cap platforms | 245.20 | Trend filter off | 50-day pullback | No3 of 5 tests | 71% won45 trades | +2.3% | +1.8% | +3.3% | -4.0% | -31.9% | 41% | 0.33 | 50 | +9% | 5.1% | 3.2d | -67,507 | 0.95 |
| NOWMega-cap platforms | 141.97 | Armedneeds -5.8% ($133.71) ⚠ earnings in hold window | 10% drawdown | No3 of 5 tests | 64% won44 trades | +2.2% | +1.1% | +3.3% | -5.5% | -25.0% | 58% | 0.62 | 55 | +25% | 2.9% | 2.2d | -43,747 | 0.46 |
| NFLXMega-cap platforms | 70.53 | Trend filter off ⚠ earnings in hold window | 10% drawdown | No3 of 5 tests | 62% won56 trades | +1.6% | +0.6% | +1.1% | -4.8% | -43.2% | 37% | 0.33 | 46 | +22% | 2.0% | 2.5d | -1,079,604 | 0.87 |
| ORCLMega-cap platforms | 128.23 | Trend filter off | 50-day pullback | No2 of 5 tests | 58% won38 trades | +1.4% | +0.6% | -0.3% | -3.7% | -58.5% | 58% | 2.16 | 40 | +15% | 2.6% | 1.4d | -411,075 | 1.05 |
| CRMMega-cap platforms | 240.70 | Armedneeds -1.7% ($236.67) | 50-day pullback | No1 of 5 tests | 58% won33 trades | +0.6% | -0.0% | -3.1% | -4.6% | -9.0% | 48% | 0.43 | 56 | +13% | 4.6% | 2.5d | -324 | 1.04 |
| TSLAMega-cap platforms | 354.72 | Trend filter off ⚠ earnings in hold window | BB dip | No1 of 5 tests | 56% won18 trades | -1.1% | -3.1% | -0.8% | -10.9% | -27.6% | 45% | 2.20 | 42 | +39% | 2.0% | 1.8d | -34,619 | 0.63 |
Power and clean energy (BE)
| VSTPower and clean energy | 152.02 | Trend filter off | BB dip | No4 of 5 tests | 65% won17 trades | +3.4% | +2.2% | +4.9% | -5.8% | -27.3% | 50% | 1.44 | 52 | +29% | 3.6% | 2.2d | -154,589 | 0.61 |
| ENPHPower and clean energy | 30.62 | Trend filter off ⚠ earnings in hold window | 50-day pullback | No3 of 5 tests | 63% won27 trades | +5.3% | +2.8% | -7.1% | -13.2% | -57.7% | 82% | 2.56 | 37 | +39% | 25.6% | 6.0d | +1,100 | 0.48 |
| NRGPower and clean energy | 103.75 | Trend filter off | 10% drawdown | No3 of 5 tests | 54% won48 trades | +1.3% | +0.1% | +0.2% | -5.7% | -43.2% | 49% | 1.36 | 48 | +28% | 3.9% | 2.2d | -32,725 | 0.80 |
| PLUGPower and clean energy | 1.38 | Trend filter off | 50-day pullback | No2 of 5 tests | 59% won27 trades | +5.6% | +4.4% | -1.7% | -9.8% | -66.7% | 80% | 2.27 | 21 | -1% | 23.0% | 6.0d | -282,560 | 1.08 |
| GEVPower and clean energy | 921.20 | Signal in last 3 sessions ⚠ earnings in hold window | 10% drawdown | No2 of 5 tests | 64% won25 trades | +2.7% | -0.7% | +1.3% | -7.4% | -21.6% | 52% | 1.98 | 40 | +115% | 2.8% | 3.4d | -7,152 | 1.31 |
| FSLRPower and clean energy | 172.64 | Trend filter off ⚠ earnings in hold window | BB dip | No1 of 5 tests | 53% won19 trades | +3.0% | +2.0% | +8.0% | -6.9% | -45.8% | 54% | 1.87 | 38 | +16% | 13.5% | 4.6d | -62,146 | 0.60 |
| CEGPower and clean energy | 271.37 | Trend filter off | 10% drawdown | No1 of 5 tests | 59% won32 trades | +1.2% | -0.7% | -1.0% | -7.7% | -32.0% | 49% | 1.38 | 47 | +49% | 3.7% | 4.0d | +1,500 | 1.48 |
Semiconductors and memory (NVDA, MU)
| KLACSemiconductors and memory | 165.74 | Trend filter off ⚠ earnings in hold window | BB dip | Consistent5 of 5 tests | 76% won25 trades | +5.2% | +3.7% | +5.1% | -3.7% | -45.0% | 60% | 2.75 | 31 | +39% | 1.9% | 2.6d | -386,605 | 2.28 |
| ASMLSemiconductors and memory | 1641.52 | Armedneeds to rise +3.5% ($1698.67) | 50-day pullback | No4 of 5 tests | 61% won46 trades | +3.3% | +2.0% | +2.7% | -4.4% | -17.4% | 46% | 2.20 | 38 | +33% | 0.4% | 1.1d | - | 1.40 |
| SMHSemiconductors and memory | 539.79 | Signal today | BB dip | No4 of 5 tests | 74% won27 trades | +3.5% | +2.3% | +3.9% | -4.1% | -19.3% | 40% | 2.37 | 31 | +33% | - | - | - | 3.55 |
| LRCXSemiconductors and memory | 263.94 | Trend filter off ⚠ earnings in hold window | BB dip | No3 of 5 tests | 65% won20 trades | +4.8% | +3.1% | +6.6% | -5.3% | -39.0% | 64% | 3.20 | 30 | +41% | 2.1% | 2.8d | -323,428 | 1.10 |
| AMATSemiconductors and memory | 409.29 | Trend filter off | BB dip | No3 of 5 tests | 65% won20 trades | +3.1% | +1.7% | +2.2% | -5.9% | -43.3% | 60% | 2.70 | 29 | +32% | 1.7% | 2.1d | -287,313 | 1.24 |
| AVGOSemiconductors and memory | 328.75 | Trend filter off | 10% drawdown | No3 of 5 tests | 65% won57 trades | +2.0% | +0.6% | +0.6% | -6.3% | -31.5% | 46% | 2.13 | 35 | +38% | 1.2% | 2.0d | -739,885 | 0.91 |
| INTCSemiconductors and memory | 89.85 | Signal today ⚠ earnings in hold window | 10% drawdown | No2 of 5 tests | 57% won54 trades | +2.4% | +1.5% | +1.6% | -6.5% | -36.2% | 77% | 3.03 | 31 | +12% | 3.2% | 1.6d | +43,983 | 0.88 |
| TXNSemiconductors and memory | 276.48 | Armedneeds -3.2% ($267.51) ⚠ earnings in hold window | 10% drawdown | No2 of 5 tests | 54% won28 trades | +1.3% | +0.5% | +0.0% | -4.1% | -16.4% | 42% | 1.46 | 48 | +18% | 2.5% | 3.5d | -320,475 | 0.45 |
| AMDSemiconductors and memory | 528.75 | Signal today | BB dip | No2 of 5 tests | 70% won23 trades | +2.5% | +0.3% | -0.2% | -6.4% | -18.6% | 68% | 3.21 | 38 | +55% | 2.4% | 1.8d | -561,468 | 0.76 |
| MRVLSemiconductors and memory | 227.83 | Signal today | BB dip | No2 of 5 tests | 58% won26 trades | +1.9% | +0.3% | -3.6% | -7.0% | -28.0% | 80% | 3.13 | 38 | +34% | 3.2% | 1.3d | -94,994 | 0.91 |
| QCOMSemiconductors and memory | 172.11 | Signal today | 50-day pullback | No1 of 5 tests | 55% won38 trades | +0.6% | -0.1% | +0.5% | -5.0% | -30.8% | 54% | 2.08 | 43 | +13% | 3.7% | 2.5d | -50,546 | 0.98 |
| TSMSemiconductors and memory | 412.61 | Signal today | BB dip | No1 of 5 tests | 52% won23 trades | +0.7% | -0.5% | +0.5% | -5.0% | -15.1% | 39% | 2.10 | 34 | +33% | 0.6% | 3.1d | +62 | 1.14 |
Does the VIX change how dips perform?
All dip signals across every ticker, grouped by the VIX on the signal day. Signals on the same day across many stocks are not independent, so read the distinct-days column as the true sample size.
| VIX under 15 | 288 | 130 | -0.55% | 45% |
| VIX 15 to 20 | 888 | 282 | -1.13% | 43% |
| VIX 20 to 25 | 299 | 72 | +3.35% | 68% |
| VIX 25 and above | 118 | 27 | +6.40% | 74% |
| VIX falling over 5 days | 510 | 238 | -0.63% | 44% |
| VIX rising over 5 days | 1056 | 269 | +0.85% | 53% |