The Claim Checker

We tested the trading rules people post. Most don't beat simply holding.

Of 124 independent tests at 2 bp of trading costs, 2 passed. Neither made more money than simply holding: following the rule over the full history, one trade at a time and reinvesting the whole balance each time with cash earning Treasury bill interest between trades, turned $1 into $12.77 and $15.05, while holding the same funds the whole time turned $1 into $32.06 and $17.29.

Pick a fund and a popular rule, such as buying the dip or selling in May, and see what happened when you followed it, one trade at a time, on up to 33 years of daily data. Each rule's average trade is compared with simply holding the same fund for the same length of time, and each result also shows what $1 would have grown to either way.

New: the same tests on 30 popular stocks, including $NVDA, $AMD and $META, over the last 5, 10 or 20 years or since listing.

Also new: the same rules on bitcoin, which trades every day and so runs on its own 7-day calendar. 75 rules over 3 periods, and none passed. One of them cleared the usual 5% bar on its own, and it did worse than simply holding, not better.

  • 2Passed testing
  • 7Suggestive — not reliable
  • 103No edge
  • 12Not enough data

148 tests in all; 136 had enough trades to judge. 124 count toward the bar, because each short gap rule mirrors its buy version. Figures at 2 bp.

The 2 that passed:

  • · $1 grew to $12.77 with T-bill interest on idle cash, against $32.06 for holding the whole time; in the market 10.6% of the time
  • · $1 grew to $15.05 with T-bill interest on idle cash, against $17.29 for holding the whole time; in the market 6.2% of the time

Check a claim

Size of the down day
Hold for
Trading costs per round trip

A basis point (bp) is 0.01%. The cost is taken off every trade the rule makes, buying and selling together.

Buy the dip · SPY · S&P 500 (SPY)

The rule: buy at the close after a day down 1% or more, and sell 1 trading day later.

Compared with: simply holding the fund for the same number of days.

No edge

No evidence its average trade beats simply holding the fund for the same number of days, after 2 basis points of trading costs. The difference is within noise.

Shown at 2 basis points (0.02%) of trading costs per round trip.

What $1 became

Following the rule across the whole history, one trade at a time, reinvesting the whole balance each time and with cash earning Treasury bill interest between trades, $1 grew to $5.29 (or $2.48 if that cash earned nothing). Holding the fund the whole time turned $1 into $32.06. The rule was in the market 10.6% of the time.

From Jan 29, 1993 to Sep 25, 2026, with 2 basis points (0.02%) of trading costs per round trip charged to the rule. Treasury bill interest is the actual 3-month rate on each day the rule was out of the market.

How many times it fired

896

trades, one at a time

Win rate

54.9%

of trades made money

Average return per trade

+0.12%

held 1 trading day

Simply holding the fund for the same number of days

+0.05%

average across every day, signal or not

The difference (average trade minus the comparison)

+0.07%

95% range: −0.04% to +0.18%

← Worse than the comparisonBetter than the comparison →
The range crosses zero, so the true difference could be nothing at all.

First half of history (before Nov 20, 2009)

+0.12%

80% range +0.02% to +0.22%

500 trades

Second half (from Nov 20, 2009)

+0.004%

80% range −0.10% to +0.11%

396 trades

Each half must be ahead on its own, judged at 90% confidence in one direction.

First signal Feb 16, 1993, last signal Jul 29, 2026. Data used: Jan 29, 1993 to Sep 25, 2026.

How the result changes with trading costs

Cost per round tripDifference95% range$1 became (T-bill interest)(idle cash earned nothing)Verdict
0 bp (no costs)+0.09%−0.03% to +0.20%$6.32$2.97No edge
2 bp · shown+0.07%−0.04% to +0.18%$5.29$2.48No edge
10 bp−0.01%−0.13% to +0.10%$2.58$1.22No edge
Statistical details

p-value: 0.24 (roughly, how often a difference this large would turn up by chance if the rule did nothing, before allowing for how many rules we tested)

Still passes the bar after the correction for the number of tests: no

Test id: SPY / dip1_h1

Every test on S&P 500 (SPY)

Sort by any column, or filter by verdict.

95% range
Buy the dipDown 1%+ · hold 1d896+0.12%+0.05%+0.07%−0.04% to +0.18%$5.29 / $32.06No edge
Buy the dipDown 1%+ · hold 5d548+0.39%+0.23%+0.15%−0.11% to +0.41%$11.72 / $32.06No edge
Buy the dipDown 1%+ · hold 20d257+0.84%+0.92%−0.08%−0.78% to +0.62%$9.18 / $32.06No edge
Buy the dipDown 2%+ · hold 1d302+0.18%+0.05%+0.13%−0.12% to +0.38%$3.59 / $32.06No edge
Buy the dipDown 2%+ · hold 5d219+0.60%+0.23%+0.36%−0.15% to +0.89%$6.63 / $32.06No edge
Buy the dipDown 2%+ · hold 20d128+1.10%+0.92%+0.18%−0.98% to +1.35%$5.72 / $32.06No edge
Buy the dipDown 3%+ · hold 1d94+0.24%+0.05%+0.19%−0.35% to +0.74%$2.80 / $32.06No edge
Buy the dipDown 3%+ · hold 5d72+0.63%+0.23%+0.40%−0.73% to +1.53%$3.28 / $32.06No edge
Buy the dipDown 3%+ · hold 20d45+0.83%+0.92%−0.09%−2.44% to +2.26%$2.70 / $32.06No edge
Buy after a losing streak3 down days · hold 1d516+0.20%+0.05%+0.15%+0.01% to +0.28%$5.76 / $32.06Suggestive — not reliable
Buy after a losing streak3 down days · hold 5d409+0.49%+0.23%+0.26%−0.01% to +0.52%$12.14 / $32.06No edge
Buy after a losing streak4 down days · hold 1d201+0.36%+0.05%+0.31%+0.08% to +0.54%$4.55 / $32.06Suggestive — not reliable
Buy after a losing streak4 down days · hold 5d179+1.04%+0.23%+0.81%+0.39% to +1.23%$12.77 / $32.06Passed testing
Buy after a losing streak5 down days · hold 1d73+0.56%+0.05%+0.52%−0.04% to +1.08%$3.41 / $32.06No edge
Buy after a losing streak5 down days · hold 5d66+1.17%+0.23%+0.94%+0.26% to +1.62%$4.75 / $32.06Suggestive — not reliable
Gap and go0.5%+ gap · buy869+0.07%−0.006%+0.07%−0.01% to +0.15%$2.36 / $10.49No edge
Fade the gap0.5%+ gap · short869−0.10%−0.03%−0.07%−0.15% to +0.01%$0.54 / $10.49No edge
Buy the gap down0.5%+ gap · buy718−0.04%−0.006%−0.04%−0.15% to +0.07%$0.97 / $10.49No edge
Gap down and go0.5%+ gap · short718+0.005%−0.03%+0.04%−0.07% to +0.15%$1.39 / $10.49No edge
Gap and go1%+ gap · buy250+0.13%−0.006%+0.14%−0.09% to +0.36%$1.98 / $10.49No edge
Fade the gap1%+ gap · short250−0.17%−0.03%−0.14%−0.36% to +0.09%$0.94 / $10.49No edge
Buy the gap down1%+ gap · buy277−0.03%−0.006%−0.02%−0.24% to +0.19%$1.31 / $10.49No edge
Gap down and go1%+ gap · short277−0.01%−0.03%+0.02%−0.19% to +0.24%$1.37 / $10.49No edge
Gap and go2%+ gap · buy51+0.21%−0.006%+0.21%−0.62% to +1.05%$1.63 / $10.49No edge
Fade the gap2%+ gap · short51−0.25%−0.03%−0.21%−1.05% to +0.62%$1.29 / $10.49No edge
Buy the gap down2%+ gap · buy61+0.003%−0.006%+0.009%−0.65% to +0.67%$1.47 / $10.49No edge
Gap down and go2%+ gap · short61−0.04%−0.03%−0.009%−0.67% to +0.65%$1.43 / $10.49No edge
Only buy above the 200-dayhold 5d1,102+0.16%+0.23%−0.07%−0.23% to +0.09%$6.38 / $32.06No edge
Buy below the 200-dayhold 5d348+0.10%+0.23%−0.13%−0.49% to +0.23%$2.40 / $32.06No edge
Only buy above the 200-dayhold 20d328+0.97%+0.92%+0.05%−0.51% to +0.61%$23.08 / $32.06No edge
Buy below the 200-dayhold 20d116+0.60%+0.92%−0.32%−1.60% to +0.97%$2.90 / $32.06No edge
Only buy above the 200-dayhold 60d119+2.72%+2.75%−0.03%−1.70% to +1.63%$21.42 / $32.06No edge
Buy below the 200-dayhold 60d53+2.51%+2.75%−0.23%−2.99% to +2.52%$5.08 / $32.06No edge
Golden crosshold 20d15+1.64%+0.92%+0.72%−1.12% to +2.55%$2.87 / $32.06Not enough data
Golden crosshold 60d15+3.22%+2.75%+0.48%−3.60% to +4.55%$3.33 / $32.06Not enough data
Golden crosshold 120d14+7.11%+5.58%+1.53%−5.22% to +8.28%$4.73 / $32.06Not enough data
Sell in May and go awayMay–Oct vs Nov–Apr33 yrs——−2.94%−7.17% to +1.30%—No edge

Tap a row to load it into the card above. Figures are percentages per trade at 2 bp per round trip. "Comparison" is each rule's baseline: simply holding for the same number of days, or for gap rules the fund's open-to-close move on any day (shorted, for short rules). For sell in May, "Fired" is years and "Difference" is May–October minus November–April. "$1 became" counts Treasury bill interest on the rule's idle cash.

How this works

Data through 27 Sep 2026 · refreshed weekly on Sundays.

The comparison

A rule that made money in a rising market proves nothing on its own. So each rule's average trade is compared with simply holding the same fund for the same length of time, starting from every day in the history, signal or not. The number that matters is the difference between the two.

Gap rules trade from the open to the close, so they are compared with the fund's ordinary open-to-close move on any day (shorted, for the short versions). Sell in May compares May to October with the following November to April.

Average trade versus money made

A better average trade is not the same as more money. A rule that sits in cash most of the time can win on the average trade and still grow far less than holding the fund throughout. So every result also shows what $1 grew to following the rule, trade after trade and after costs, against $1 simply held. The rule's growth is shown two ways: with idle cash earning the 3-month Treasury bill rate on each day out of the market, which is the fairer comparison, and with idle cash earning nothing.

One position at a time

If a rule fires again while a trade is still open, the new signal is skipped. Overlapping trades are not separate bets, and counting them as if they were makes a result look more certain than it is.

Two halves of history

Each fund's history is split at its midpoint, and a rule has to stay ahead in each half on its own, judged at 90% confidence in one direction. A pattern found in the whole period will always look good on the whole period; the halves are a check on that. The ranges shown for each half are 80% ranges, which is the same test: if a half's 80% range sits above zero, it passes.

The 95% range

The difference over the whole period comes with a 95% range: where the true figure probably lies, given how noisy the trades were, including the noise in the comparison itself. If the range crosses zero, the rule may have done nothing at all. The bar on each result shows this.

Many tests, so a higher bar

We ran 148 tests. Run that many and some will pass by luck, so we raise the bar with a standard correction for the number of tests, called Benjamini-Hochberg. A rule that clears the bar on its own but not after the correction is marked suggestive, which means not reliable.

Tests counted in the correction: 124 at 0 bp, 124 at 2 bp, 124 at 10 bp.

Benjamini-Hochberg at a 5% false discovery rate, applied separately at each cost level. A short gap rule is the exact mirror of its long twin (both it and its baseline pay the same cost), so it is not counted twice.

Entries, exits and costs

Close rules assume you trade at the closing price of the day the signal fires. Gap rules trade at that day's open, since a gap is only known once the market opens, and they use data from 2004 on.

Trading costs are charged at 0, 2 and 10 basis points per round trip; pick one above. For close rules only the rule pays them. For gap rules the comparison is itself a daily trade and pays the same cost, so their verdict does not change with cost, only their growth does. Taxes are not included. Past results do not predict future ones.

What the verdicts mean

  • Passed testingIts average trade beat the comparison over the whole period, with the 95% range above zero; it stayed ahead in each half of history on its own; and it survived the correction for the number of tests. A historical result, not a prediction, and not the same as making more money than holding.
  • Suggestive — not reliableOn its own it looked different from the comparison, but not once we allow for how many rules we tested, or not in both halves of history.
  • No edgeThe difference is within noise.
  • Not enough dataToo few trades over the whole period, or in one half of it, to judge.

Data

TradingView daily bars, dividend-adjusted. The page shows only statistics computed from them, never the prices. Results computed Sep 28, 2026 (UTC).

FundFromToTrading days
S&P 500 (SPY)Jan 29, 1993Sep 25, 20268,472
Nasdaq-100 (QQQ)Mar 10, 1999Sep 25, 20266,930
Russell 2000 (IWM)May 26, 2000Sep 25, 20266,622
Dow Jones (DIA)Jan 20, 1998Sep 25, 20267,216

Get the Sunday recap

The week's stock reviews, movers and the weekend board in one email. Free.

Subscribing signs you up for the free YieldTerminal Sunday recap, one email a week. Educational only, not financial advice. Unsubscribe any time.

Educational only. Not investment advice. Nothing here is a recommendation to buy or sell anything.

See the full disclaimer.