Bull Rhythm

Research and development

How the strategies on this site were found: every test run on the way, including the many ideas that did not work. All of it is a backtest, the rules applied to past prices after the fact, with trading costs included.

Overview

Key findings

How every test was run

Where it ended up

The tests produced the strategies on this site, each tracked every trading day since its go-live date. Each one’s page shows its full record. The figures in this research come from the research runs, averaged over every possible rebuild day, so they differ from the single record shown on each strategy’s page.

The strategies that came out of the research
StrategyIts rules
Core MomentumThe 500 most traded US stocks with positive free cash flow; buy the 15 with the strongest 12-1 momentum, at most 2 per sector, equal amounts; rebuild monthly.
Quality MomentumCore Momentum plus gross margin higher than a year ago and nothing up over 40% in the last month; 10 stocks weighted by momentum; rebuild monthly.
Weekly Quality MomentumQuality Momentum, rebuilt every week.
Weekly LeadersWeekly Quality Momentum weighted by momentum squared, never less than 3% in any of the 10 stocks.
Weekly Full Stack (15)Weekly Leaders with 15 stocks, only the top half of gross-margin improvers, no new buys in the week before a stock's expected results, and less money in stocks that move with the biggest holding.
Broad Momentum 30The 500 most traded US stocks with positive free cash flow; buy the 30 with the strongest 12-1 momentum, at most 3 per sector, equal amounts; rebuild monthly.
Quality Momentum (every 2 weeks)Quality Momentum, rebuilt every other week.
Weekly Leaders (max 25%)Weekly Leaders with no stock above 25% of the book.

The tests, in order

Each test changed one thing and compared it with what came before. Open a test for the question, what was tried and the result. “Kept” means the change went into the strategies; “Did not work” means it was dropped. SPY, the S&P 500 fund, is the yardstick throughout. In the charts, green marks the option the strategies went on to use and grey is SPY.

1. Where it started: momentum in single stocks Kept

The question: ETF rankings found no edge, so does momentum work on individual stocks, where it is best documented?

What was tested:

  • 12-month return skipping the latest month (12-1)
  • weighted alpha
  • risk-adjusted momentum
  • last month's losers
  • all ~2,000 liquid stocks vs the 250-1,000 most traded

What happened: Across all ~2,000 liquid stocks momentum was weak and no portfolio beat SPY. Among the 250-1,000 most traded, plain 12-month momentum beat SPY in both halves and survived removing the ten biggest winners, though it crashed in 2021 (-35% while SPY made +22%). Weighted alpha was weaker than plain 12-month momentum, and skipping the latest month helped.

2. Which measure of trend picks the best stocks? Kept

The question: Do ready-made stock metrics pick better stocks than 12-month momentum computed from prices?

What was tested:

  • 12-1 momentum
  • 6-1 momentum
  • 3-month momentum
  • risk-adjusted 12-1
  • stored 120/60/30-day weighted alpha
  • stored acceleration, composite score, overall rank

What happened: Top 50 of the 500 most traded, equal weight, monthly. Plain 12-1 momentum made +582.4% (Sharpe 0.76) against SPY's +241.7%. Stored 120-day weighted alpha made +277.3%, the composite score +188.4%, and the shorter readings were worse again. Risk-adjusted momentum made less (+467.8%) but fell 10 points less (-38.4% vs -48.8%).

Total return 2017-2026
Total return 2017-202612-1 momentum+582%Risk-adjusted 12-1+468%6-1 momentum+412%Weighted alpha 120d+277%Composite score+188%Weighted alpha 60d+144%3-month momentum+109%Weighted alpha 30d+68.5%SPY+242%
Show these numbers as a table
Total return 2017-2026
TestedTotal return 2017-2026
12-1 momentum+582%
Risk-adjusted 12-1+468%
6-1 momentum+412%
Weighted alpha 120d+277%
Composite score+188%
Weighted alpha 60d+144%
3-month momentum+109%
Weighted alpha 30d+68.5%
SPY+242%
3. Is it the ranking or just the stock pool? Kept

The question: Out of the same 500 stocks, how much of the return comes from the momentum ranking itself?

What was tested:

  • best 50 by 12-1 momentum
  • all 500 held equally (no ranking)
  • worst 50 by 12-1 momentum

What happened: Out of the same 500 names, weighted the same way: the best 50 made +515.4%, holding all 500 made +168.6%, and the worst 50 made +1.9% over nine years. The ranking is doing the work, not the universe.

Total return 2017-2026 (month-end figures)
Total return 2017-2026 (month-end figures)Best 50 (momentum leaders)+515%All 500, no ranking+169%Worst 50+1.9%SPY+242%
Show these numbers as a table
Total return 2017-2026 (month-end figures)
TestedTotal return 2017-2026 (month-end figures)
Best 50 (momentum leaders)+515%
All 500, no ranking+169%
Worst 50+1.9%
SPY+242%
4. Trend filters and other ways to shrink the fall Did not work

The question: Can a 200-day trend rule or a calmer book cut the 49% worst fall without killing the return?

What was tested:

  • only while SPY is above its 200-day average
  • only stocks above their own 200-day average
  • both 200-day rules
  • inverse-volatility weights
  • drop the most volatile fifth
  • 100 names instead of 50
  • 20% volatility target

What happened: The 200-day rule, the best idea in the ETF work, was destructive on stocks: holding only while SPY was above its 200-day average made +113.6% instead of +582.4%, and the worst fall got deeper (-55.6%). Every version cost more return than the drawdown it saved, because the winners are exactly the stocks that run far above their averages. Inverse-volatility weights were the one cheap improvement (+549.5%, worst fall -40.9%).

Total return 2017-2026
Total return 2017-202612-1, as it stands+582%Inverse-volatility weights+550%Own 200-day only+402%100 names+338%Drop most volatile fifth+258%20% volatility target+210%SPY above 200-day only+114%Both 200-day rules+86.4%SPY+242%
Show these numbers as a table
Total return 2017-2026
TestedTotal return 2017-2026
12-1, as it stands+582%
Inverse-volatility weights+550%
Own 200-day only+402%
100 names+338%
Drop most volatile fifth+258%
20% volatility target+210%
SPY above 200-day only+114%
Both 200-day rules+86.4%
SPY+242%
5. How far back should momentum look? Mixed

The question: Is 12 months the right look-back, or would 3 to 24 months do better?

What was tested:

  • momentum over 3, 6, 9, 12, 18 and 24 months, with and without skipping the last month
  • weighted alpha over 30 to 504 sessions

What happened: The Sharpe forms a hill: too short is noise, too long is stale. The peak sits between six and twelve months; past 18 months every version gets worse and worst falls pass -55%. The best horizon was not stable between the two halves (the first half preferred shorter, the second longer), so the horizon was later re-tested on the final strategies (test 25).

Total return (window from 2018-09-28), momentum skipping the last month (SPY: +191.0% over this shorter span)
Total return (window from 2018-09-28), momentum skipping the last month (SPY: +191.0% over this shorter span)3 months+239%6 months+394%9 months+360%12 months+293%18 months+270%24 months+218%SPY+191%
Show these numbers as a table
Total return (window from 2018-09-28), momentum skipping the last month (SPY: +191.0% over this shorter span)
TestedTotal return (window from 2018-09-28), momentum skipping the last month (SPY: +191.0% over this shorter span)
3 months+239%
6 months+394%
9 months+360%
12 months+293%
18 months+270%
24 months+218%
SPY+191%
6. What defines the stock pool Kept

The question: Does the window used to measure trading volume (and the $10M floor) matter?

What was tested:

  • dollar-volume windows of 5, 20, 30, 60, 120 and 252 sessions
  • a 60-session median
  • floor and ranking on different windows
  • three months of eligibility

What happened: Anything from a week to six months lands in the same place (Sharpe 0.68 to 0.77); only the year-long window is clearly worse (+385.2%). The $10M floor never binds for the 500 most traded. The one change worth keeping: a stock must have cleared the floor three months running, which gave +606.8% at Sharpe 0.78, the best of the round.

Total return 2017-2026
Total return 2017-20265 sessions+569%20 sessions (stored)+562%30 sessions+585%60 sessions+526%120 sessions+497%252 sessions+385%20 sessions + 3 months eligibility+607%SPY+242%
Show these numbers as a table
Total return 2017-2026
TestedTotal return 2017-2026
5 sessions+569%
20 sessions (stored)+562%
30 sessions+585%
60 sessions+526%
120 sessions+497%
252 sessions+385%
20 sessions + 3 months eligibility+607%
SPY+242%
7. Seven ways to raise the Sharpe Mixed

The question: On prices alone, can any lever lift the risk-adjusted return above SPY's?

What was tested:

  • inverse-volatility weights
  • risk-adjusted momentum
  • blended rank
  • 75 or 100 names
  • correlation caps
  • four weekly sleeves
  • volatility targets 20/25/30%
  • drop the most extreme fifth
  • closest to 52-week high
  • calmest of the top 100/150
  • quarterly rebuild

What happened: Baseline +635.2% at Sharpe 0.79, worst fall -49.4%. Only the volatility target raised the Sharpe: at 20% it matched SPY's 0.83 (+449.6%, worst fall -38.9%). Everything else bought a smaller fall with a bigger cut in return; ranking by closeness to the 52-week high made a calm book that simply did not earn (+123.9%). On prices alone the Sharpe stopped at about SPY's.

Sharpe ratio
Sharpe ratioBase 12-1, top 500.79Inverse-volatility weights0.80Risk-adjusted momentum0.80100 names0.71Correlation cap 0.70.74Four weekly sleeves0.74Volatility target 20%0.83Quarterly rebuild0.69Closest to 52-week high0.60SPY0.83
Show these numbers as a table
Sharpe ratio
TestedSharpe ratio
Base 12-1, top 500.79
Inverse-volatility weights0.80
Risk-adjusted momentum0.80
100 names0.71
Correlation cap 0.70.74
Four weekly sleeves0.74
Volatility target 20%0.83
Quarterly rebuild0.69
Closest to 52-week high0.60
SPY0.83
8. Company data: quality, sectors and valuation Kept

The question: With fundamentals, sectors and valuation available, can filters fix the risk?

What was tested:

  • at most 5/8/10/15 per sector
  • drop the dearest fifth (sales multiple, EV/EBITDA)
  • cheapest 50 of the strongest 100/150
  • profitable last quarter
  • positive free cash flow
  • debt below median
  • S&P 500 members only

What happened: Quality pays and cheapness does not. Positive free cash flow alone cut the worst fall from -49.4% to -34.1%; with at most five per sector the book made +420.0% at Sharpe 0.92 with a -32.5% worst fall, against SPY's +241.7%, 0.83 and -33.7%: the first rule in the study to beat SPY on all three. Every valuation filter lost money, and the real S&P 500 was a worse pool (+250.5% vs +608.3%).

Sharpe ratio
Sharpe ratioBase (test 7 book)0.78Max 5 per sector0.77Drop dearest fifth (sales)0.72Cheapest 50 of top 1000.60Profitable0.74Positive free cash flow0.80Debt below median0.59S&P 500 only0.71Free cash flow + max 5 per sector0.92SPY0.83
Show these numbers as a table
Sharpe ratio
TestedSharpe ratio
Base (test 7 book)0.78
Max 5 per sector0.77
Drop dearest fifth (sales)0.72
Cheapest 50 of top 1000.60
Profitable0.74
Positive free cash flow0.80
Debt below median0.59
S&P 500 only0.71
Free cash flow + max 5 per sector0.92
SPY0.83
9. Was it real? A fair re-test and four new data sets Mixed

The question: If the filters are chosen on 2017-21 only and then scored on unseen 2022-26, does an edge survive, and do insider, fund-holder, industry or sales data help?

What was tested:

  • fair greedy filter search on 2017-21 only
  • strongest industries first
  • insider buying/selling filters
  • 13F fund holders rising
  • sales growth
  • costs of 0.25% and 0.50% a side
  • 30 or 75 names
  • mid-month rebuild

What happened: Chosen fairly, the search picked different filters and scored Sharpe 0.77 on 2022-26 against SPY's 0.73: a real but much smaller edge than test 8 showed (0.97). None of the four new data sets improved test 8's rule; ranking industries first, the best ETF idea, was worse in every version. The rule survived 0.25% costs and a mid-month rebuild, but at 0.50% a side its Sharpe fell to 0.77, below SPY's 0.83.

Sharpe ratio, whole period
Sharpe ratio, whole periodTest 8 rule0.92+ 13F holders rising0.91+ revenue up on a year0.84+ no heavy insider selling0.82Industries first + free cash flow0.85Holding 30 names0.97At 0.50% a side0.77SPY0.83
Show these numbers as a table
Sharpe ratio, whole period
TestedSharpe ratio, whole period
Test 8 rule0.92
+ 13F holders rising0.91
+ revenue up on a year0.84
+ no heavy insider selling0.82
Industries first + free cash flow0.85
Holding 30 names0.97
At 0.50% a side0.77
SPY0.83
10. Fewer names Kept

The question: Does holding fewer than 50 stocks (with at most 2 per sector) do better?

What was tested:

  • 10, 15, 20, 25, 30, 40, 50 names
  • 15/20 names with 3 per sector or no cap
  • higher costs
  • mid-month rebuild
  • 1/volatility weights

What happened: Fewer names was the biggest improvement since test 8: 15 names made +1163.8% at Sharpe 1.07 (worst fall -34.1%), 20 names +761.4% at 1.03, against 50 names' +420.0%. Chosen on 2017-21 alone, 15 names scored 1.11 on 2022-26 against SPY's 0.76. The sector cap is essential: with no cap the 15-name book fell -45.0%.

Total return 2017-2026
Total return 2017-202610 names+1,633%15 names+1,164%20 names+761%25 names+675%30 names+559%40 names+484%50 names+420%SPY+251%
Show these numbers as a table
Total return 2017-2026
TestedTotal return 2017-2026
10 names+1,633%
15 names+1,164%
20 names+761%
25 names+675%
30 names+559%
40 names+484%
50 names+420%
SPY+251%
11. More cash flow is not better Did not work

The question: Is a stronger free-cash-flow screen (yield, margin, consistency, growth) better than just 'positive'?

What was tested:

  • top half / top third by free cash flow yield
  • free cash flow margin above 10%
  • positive free cash flow four quarters running
  • free cash flow up on a year
  • blended momentum + free cash flow-yield ranks
  • free cash flow yield alone, no momentum (control)

What happened: Nothing beat plain 'positive' over the whole period (+420.0%). The yield filters were an era effect: poor in 2017-21 (Sharpe about 0.6), excellent in 2022-26 (about 1.1). The control with no momentum made +273.3%: momentum does the work, cash flow is a safety screen.

Total return 2017-2026
Total return 2017-2026free cash flow just positive+420%Top half by free cash flow yield+278%Top third by free cash flow yield+252%free cash flow margin > 10%+369%Positive 4 quarters running+295%free cash flow up on a year+362%70% momentum / 30% free cash flow yield+342%free cash flow yield alone (no momentum)+273%SPY+251%
Show these numbers as a table
Total return 2017-2026
TestedTotal return 2017-2026
free cash flow just positive+420%
Top half by free cash flow yield+278%
Top third by free cash flow yield+252%
free cash flow margin > 10%+369%
Positive 4 quarters running+295%
free cash flow up on a year+362%
70% momentum / 30% free cash flow yield+342%
free cash flow yield alone (no momentum)+273%
SPY+251%
12. Half stocks, half ETFs Mixed

The question: Does mixing the stock book with the earlier ETF niche book give a smoother ride?

What was tested:

  • 70/30, 50/50 and 30/70 stock/ETF mixes
  • with and without 1.5x borrowing on the ETF book
  • a 20-name book in four weekly sleeves + ETF book

What happened: The two books move together only partly (correlation 0.63). Half the 20-name stock book and half the unlevered ETF book made +419.7% at Sharpe 1.11 with a -20.7% worst fall, ahead of SPY in both halves; it was the smoothest result in the study and was paper-traded for a time. It was not carried into the live strategies, which aim for maximum stock return without ETF blends.

Worst fall
Worst fall20-name stocks alone-32.6%70% stocks / 30% ETF-25.6%50% / 50%-20.7%30% / 70%-15.7%ETF book alone-13.8%SPY-33.7%
Show these numbers as a table
Worst fall
TestedWorst fall
20-name stocks alone-32.6%
70% stocks / 30% ETF-25.6%
50% / 50%-20.7%
30% / 70%-15.7%
ETF book alone-13.8%
SPY-33.7%
13. Does the trading day matter? Mixed

The question: Was test 10's month-end result a lucky day?

What was tested:

  • each book run on all 21 trading days of the month
  • four weekly sleeves
  • 10 to 50 names

What happened: Yes, partly. The same 15-name rule had a Sharpe anywhere from 0.88 to 1.08 depending on the day, and month-end (1.08) was near the top. Averaged over all days, fewer names still earned more but by less, and the fair size chosen on 2017-21 was 30 names. From here on every result is the average over every rebuild day.

Total return, average of all 21 trading days
Total return, average of all 21 trading days10 names+1,307%15 names+935%20 names+647%25 names+557%30 names (3 per sector)+526%50 names (5 per sector)+396%SPY+248%
Show these numbers as a table
Total return, average of all 21 trading days
TestedTotal return, average of all 21 trading days
10 names+1,307%
15 names+935%
20 names+647%
25 names+557%
30 names (3 per sector)+526%
50 names (5 per sector)+396%
SPY+248%
14. Signal, patience, size and speed Kept

The question: Averaged over every trading day: which signal, should winners be held longer, how many names, monthly or weekly?

What was tested:

  • 12-1, 9-1, 6-1, 3-1, 12-0 momentum
  • closeness to 52-week high
  • blends
  • sell buffers (rank 20/30/45)
  • 5, 8, 10, 12, 15 names
  • weekly rebuild

What happened: 12-1 won (+934.7% for 15 names); 9-1 and 12-0 were close, 6-1 and 3-1 fell away, and the 52-week-high rule made +141.0%. Every sell buffer lowered the return. Fewer names multiplied the money (5 names +2547.5%, 10 names +1307.1%) but deepened the fall (5 names -55.1%). Weekly matched monthly on money with half the day-to-day spread.

Total return, 15 names, average of all days
Total return, 15 names, average of all days12-1 momentum+935%9-1+864%12-0 (no skip)+881%6-1+605%3-1+308%Average of 12-1 and 6-1 ranks+688%Closeness to 52-week high+141%12-1, sell past rank 30+772%SPY+248%
Show these numbers as a table
Total return, 15 names, average of all days
TestedTotal return, 15 names, average of all days
12-1 momentum+935%
9-1+864%
12-0 (no skip)+881%
6-1+605%
3-1+308%
Average of 12-1 and 6-1 ranks+688%
Closeness to 52-week high+141%
12-1, sell past rank 30+772%
SPY+248%
15. Nine more ideas on the 10-name book Mixed

The question: What makes the 10-name book earn more, and what cuts its falls?

What was tested:

  • bigger pool (1,000/1,500)
  • momentum beyond the market
  • rank or momentum weights
  • hot-sector allowance
  • stop-losses
  • crash guards
  • skip lottery spikes
  • net income / gross margin / net margin up
  • company size

What happened: Three ideas helped in both halves: money in proportion to momentum (+2691.8% vs +1307.1%), gross margin up on a year (+1621.0%, the best single filter) and skipping stocks up over 40% last month (+1478.9%). Stacked: +4492.6% at Sharpe 1.19, worst fall -48.5%. Every stop-loss and crash guard gave up hundreds of percent without reducing the worst fall, and a bigger pool made half as much.

Total return, average of all days
Total return, average of all daysBase: 10 names, equal weight+1,307%Momentum weights+2,692%Gross margin up on a year+1,621%Skip names up >40% last month+1,479%1,000 most traded+605%Ranked by return beyond market+991%Stop 15% below cost+805%To T-bills if down 10% in a month+597%Net income up on a year+924%Larger half by market value+434%SPY+248%
Show these numbers as a table
Total return, average of all days
TestedTotal return, average of all days
Base: 10 names, equal weight+1,307%
Momentum weights+2,692%
Gross margin up on a year+1,621%
Skip names up >40% last month+1,479%
1,000 most traded+605%
Ranked by return beyond market+991%
Stop 15% below cost+805%
To T-bills if down 10% in a month+597%
Net income up on a year+924%
Larger half by market value+434%
SPY+248%
16. Robustness checks: luck, hindsight or one lucky stock? Kept

The question: Is the stacked book real, or luck, hindsight or one rocket stock?

What was tested:

  • re-scoring with drifting weights and full costs
  • removing AXTI and the five biggest winners
  • fair stack chosen on 2017-21 only
  • 300 random books from the same filtered candidates
  • 10,000 reshuffled histories
  • each January, pick the best rule so far and use it for the year

What happened: Realistic scoring cost only about 5-10% of the gain. Without the five biggest winners the 10-name stack still made +1733.8%; chosen fairly on 2017-21, the stack made +452.3% on 2022-26 against SPY's +73.5%. 300 random books had a median of +241.7% and none reached the stack's +4492.6%; 98.7% of 10,000 reshuffled histories beat SPY; picking each January the best rule so far made +6148.9% (by return) or +3314.3% (by Sharpe).

Total return 2017-2026
Total return 2017-2026The stack (10 names)+4,493%Stack without 5 biggest winners+1,734%Walk-forward, chosen on return+6,149%Walk-forward, chosen on Sharpe+3,314%Random books: best of 300+2,068%Random books: median+242%Bootstrap: unlucky 5th percentile+557%SPY+248%
Show these numbers as a table
Total return 2017-2026
TestedTotal return 2017-2026
The stack (10 names)+4,493%
Stack without 5 biggest winners+1,734%
Walk-forward, chosen on return+6,149%
Walk-forward, chosen on Sharpe+3,314%
Random books: best of 300+2,068%
Random books: median+242%
Bootstrap: unlucky 5th percentile+557%
SPY+248%
17. Sixteen more ideas Mixed

The question: What else improves the stack: weights, margin measures, sales, smoothness, volume, industries, timing?

What was tested:

  • momentum squared
  • weight caps 20/25/35%
  • other gross-margin measures
  • sales accelerating
  • reaction to results
  • spike filter at 30%/50%
  • smooth or accelerating momentum
  • volume rising
  • industry filters
  • mid-month loser check
  • every two weeks
  • 5 names / 15 names / split

What happened: Five ideas made more money in both halves: rebuilding every two weeks (+6160.1%, Sharpe 1.26, the same worst fall), momentum squared (+10480.3% but -59.6%), 5 names (+8537.4%), half 5/half 15 names, and 5 names above SPY's 200-day/15 below. Capping a stock at 25% kept +3576.8% with a smaller fall. Other margin measures, sales acceleration, smooth momentum, volume, industry filters and mid-month checks did not help.

Total return, average of all days
Total return, average of all daysTest 15 stack+4,493%Momentum squared+10,480%Every two weeks+6,160%5 names+8,537%Capped at 25% a name+3,577%Gross margin rising faster+1,261%+ sales accelerating+1,670%+ 8 of 11 months up+2,425%+ industry rising+3,912%Mid-month sell below rank 30+4,314%SPY+248%
Show these numbers as a table
Total return, average of all days
TestedTotal return, average of all days
Test 15 stack+4,493%
Momentum squared+10,480%
Every two weeks+6,160%
5 names+8,537%
Capped at 25% a name+3,577%
Gross margin rising faster+1,261%
+ sales accelerating+1,670%
+ 8 of 11 months up+2,425%
+ industry rising+3,912%
Mid-month sell below rank 30+4,314%
SPY+248%
18. Speed and concentration Kept

The question: Combining the winners: how often to rebuild, and how hard to lean into the leaders?

What was tested:

  • monthly, three-weekly, two-weekly, weekly
  • momentum to the power 1, 1.5, 2, 3
  • 3, 5, 7 names
  • caps at 25%/35%
  • trims, sector limits, breadth cash guard, price floors, pool sizes

What happened: Rebuilding more often raised return and Sharpe without deepening the fall: monthly +4492.6%, two-weekly +6160.1%, weekly +6596.3% (momentum weights). Momentum squared rebuilt weekly made +21700.6% at Sharpe 1.35, but concentration is risk, not skill: higher powers or fewer names raise return and worst fall together (momentum squared about -60%). A breadth-based cash guard again gave up return without reducing the worst fall.

Total return, momentum weights, 10 names
Total return, momentum weights, 10 namesMonthly+4,493%Every three weeks+4,869%Every two weeks+6,160%Weekly+6,596%Weekly, momentum squared+21,701%SPY+248%
Show these numbers as a table
Total return, momentum weights, 10 names
TestedTotal return, momentum weights, 10 names
Monthly+4,493%
Every three weeks+4,869%
Every two weeks+6,160%
Weekly+6,596%
Weekly, momentum squared+21,701%
SPY+248%
19. Why the 500 most traded? Kept

The question: Is the edge about size, index membership or how heavily a stock trades?

What was tested:

  • 300, 400, 450, 550, 600, 750 most traded
  • 500 largest by market value
  • the real S&P 500
  • rising trading rank
  • placebo: 500th-1,000th most traded
  • $10/$20 price floors

What happened: It is trading activity. On the same 7 rebuild days the 500 most traded made +4731.3%; the 500 largest by value +1540.4%, the S&P 500 +509.1%, and the placebo tier (500th-1,000th most traded) +197.8%, below SPY. 400-500 is a plateau and the return fades beyond 500. This is the study's biggest caveat: everything found lives in the 500 most traded stocks.

Total return, monthly reference, 7 rebuild days
Total return, monthly reference, 7 rebuild days500 most traded+4,731%400 most traded+4,829%450 most traded+5,117%550 most traded+3,923%600 most traded+3,494%300 most traded+2,605%750 most traded+2,137%500 largest by value+1,540%S&P 500+509%Placebo: 500th-1,000th+198%SPY+248%
Show these numbers as a table
Total return, monthly reference, 7 rebuild days
TestedTotal return, monthly reference, 7 rebuild days
500 most traded+4,731%
400 most traded+4,829%
450 most traded+5,117%
550 most traded+3,923%
600 most traded+3,494%
300 most traded+2,605%
750 most traded+2,137%
500 largest by value+1,540%
S&P 500+509%
Placebo: 500th-1,000th+198%
SPY+248%
20. Pushing the weekly book Mixed

The question: On the weekly momentum-squared book, which refinements help, and is weekly the right speed?

What was tested:

  • top half of gross-margin improvers
  • no new buys in the week before expected results
  • 5 or 15 names
  • 35% cap, 3% floor
  • every 3 sessions, daily
  • 12-0 and other signal timings
  • weights on 6-1/3-1
  • correlation-aware weights
  • insider and 13F filters
  • stop-like trims

What happened: Top-half margin improvers (+27113.5%), skipping the week before results (+26814.4%, Sharpe 1.39) and correlation-aware weights (+23200.3%) worked in both halves; 5 names made +32783.2%. Weekly is the peak: every 3 sessions earned less and daily fell 66%. Insider filters hurt badly (+1420.9%, -72.5% fall) because insiders sell into big runs. A 3% floor (+17127.2%, -49.0%) traded some money for a smaller fall.

Total return, weekly book
Total return, weekly bookWeekly reference (mom. squared, 10)+21,701%+ top-half margin improvers+27,114%No buys week before results+26,814%Correlation-aware weights+23,200%5 names+32,783%3% floor per name+17,127%Every 3 sessions+17,454%Daily+8,459%12-0 signal+14,034%+ insider bought+1,421%SPY+248%
Show these numbers as a table
Total return, weekly book
TestedTotal return, weekly book
Weekly reference (mom. squared, 10)+21,701%
+ top-half margin improvers+27,114%
No buys week before results+26,814%
Correlation-aware weights+23,200%
5 names+32,783%
3% floor per name+17,127%
Every 3 sessions+17,454%
Daily+8,459%
12-0 signal+14,034%
+ insider bought+1,421%
SPY+248%
21. Stacking the winners, and the hardest checks for over-fitting Kept

The question: Do the winners add up, and is the result overfitted or dependent on one sector?

What was tested:

  • full stack at 5/10/15 names with caps or a 3% floor
  • results-timing variants
  • pool by trading intensity
  • sensitivity map of 48 books
  • deflated Sharpe
  • capacity
  • every three-year window
  • every start month
  • leave one sector out
  • probability of backtest overfitting (PBO)

What happened: The winners add up: the full stack made +34785.1% with 10 names (Sharpe 1.41); the 15-name version with a 3% floor made +13333.2% at -45.6%. The sensitivity map is a smooth slope, after allowing for how many rules were tried, the chance of a real edge is 0.98, and every start month from 2017 to 2023 beat SPY. But without technology the book kept only 8% of its return, and the a standard over-fitting test (0.5953 on a 0-to-1 scale) says that picking between the fine-tuned versions is mostly luck.

Total return, weekly reference with one sector removed
Total return, weekly reference with one sector removedAll sectors+21,701%Without Industrials+28,223%Without Financials+25,925%Without Healthcare+20,591%Without Energy+17,997%Without Consumer Cyclical+15,040%Without Technology+1,784%SPY+248%
Show these numbers as a table
Total return, weekly reference with one sector removed
TestedTotal return, weekly reference with one sector removed
All sectors+21,701%
Without Industrials+28,223%
Without Financials+25,925%
Without Healthcare+20,591%
Without Energy+17,997%
Without Consumer Cyclical+15,040%
Without Technology+1,784%
SPY+248%
22. Which kinds of idea work again and again? Kept

The question: Across 174 tests in test 14-28, which kinds of idea work again and again?

What was tested:

  • every test sorted into a family and scored: more money in both halves (hit), one half (mixed), safer, or miss

What happened: Real: avoiding buys just before results (5 of 5 hits), rebuilding faster (76%), combining winners (71%), weighting towards leaders (69%), fewer stocks (64%). Not real: other momentum signals (5%), holding longer, stop-losses, market timing, insider/fund data, sector rules (all 0%). The five strategies were built only from the real families, with mid-plateau settings.

Hit rate (share of tests that made more money in both halves)
Hit rate (share of tests that made more money in both halves)Avoid buys before results100%Rebuild faster76%Combine winners71%Weight to leaders69%Fewer stocks64%Gross-margin variants33%Different stock pools12%Other momentum signals5%Stop-losses0%Market timing0%
Show these numbers as a table
Hit rate (share of tests that made more money in both halves)
TestedHit rate (share of tests that made more money in both halves)
Avoid buys before results100%
Rebuild faster76%
Combine winners71%
Weight to leaders69%
Fewer stocks64%
Gross-margin variants33%
Different stock pools12%
Other momentum signals5%
Stop-losses0%
Market timing0%
23. Market timing and market breadth guards Did not work

The question: Can a market signal (SPY's 200-day EMA, other averages, breadth of every stock) move money to T-bills before the falls?

What was tested:

  • SPY 200-day EMA/SMA, bands, month-end, Faber 10-month, golden cross
  • QQQ trend
  • own-curve trend
  • drawdown exits
  • volatility targets 30-60%
  • A/D line, McClellan, High-Low index, new highs/lows, share above 50/200-day, Zweig thrust
  • leaders' breadth
  • split market (Hindenburg-style)

What happened: Every market-timing rule kept only 20-70% of the money without cutting the worst fall in both halves: on Weekly Quality Momentum, SPY's 200-day EMA made +2890.7% instead of +6596.3% with the same -46.4% fall. Momentum crashes happen while SPY is flat, and shocks are over before the gate fires. Only volatility targeting (50%: -41.3% instead of -46.5%) and the split-market rule (+7185.3%, -34.8%) cut the fall.

Total return, Weekly Quality Momentum
Total return, Weekly Quality MomentumNo filter+6,596%SPY above 200-day EMA+2,891%SPY above 200-day SMA+3,053%Golden/death cross+3,042%QQQ above 200-day EMA+3,497%Own curve above 200-day EMA+2,001%A/D line above 200-day EMA+3,601%Volatility target 50%+4,101%Split market, half out+7,185%SPY+248%
Show these numbers as a table
Total return, Weekly Quality Momentum
TestedTotal return, Weekly Quality Momentum
No filter+6,596%
SPY above 200-day EMA+2,891%
SPY above 200-day SMA+3,053%
Golden/death cross+3,042%
QQQ above 200-day EMA+3,497%
Own curve above 200-day EMA+2,001%
A/D line above 200-day EMA+3,601%
Volatility target 50%+4,101%
Split market, half out+7,185%
SPY+248%
24. Is a guard worth what it costs? The fixed-mix yardstick Mixed

The question: Does any guard beat simply holding a fixed share in T-bills, and can guards be made cheaper?

What was tested:

  • fixed 90/10, 80/20, 70/30 in T-bills or the S&P 500
  • froth and take-profit rules
  • QQQ short hedges
  • crash brake
  • guards parking money in SPY, a basket, TLT or gold
  • borrowing back
  • votes of several warnings
  • trimming only stretched stocks

What happened: Any guard falls less and earns less, so the fair comparison is against a fixed mix. SPY's 200-day EMA was 8 points a year worse than simply holding less. The split-market rule and the volatility target beat a fixed mix; the cheapest unlevered guard is half into T-bills when two of three warnings agree (volatility, split market, froth): on Weekly Quality Momentum 60.1% a year at -38.6% vs 60.2% at -46.5% unguarded. Trimming only stretched stocks was worse than cutting the whole book.

A year (CAGR), Weekly Quality Momentum
A year (CAGR), Weekly Quality MomentumNo guard+60.2%90% / 10% T-bills+54.5%80% / 20% T-bills+48.7%70% / 30% T-bills+42.9%SPY above 200-day EMA+46.4%Volatility target 50%+52.0%Split market, half out+61.7%2-of-3 vote, half into T-bills+60.1%SPY+15.0%
Show these numbers as a table
A year (CAGR), Weekly Quality Momentum
TestedA year (CAGR), Weekly Quality Momentum
No guard+60.2%
90% / 10% T-bills+54.5%
80% / 20% T-bills+48.7%
70% / 30% T-bills+42.9%
SPY above 200-day EMA+46.4%
Volatility target 50%+52.0%
Split market, half out+61.7%
2-of-3 vote, half into T-bills+60.1%
SPY+15.0%
25. Is 12-1 the right horizon for the final strategies? Kept

The question: Would 3-1, 4-1, 6-1 or 9-1 momentum, or blends, do better than 12-1 in the five strategies?

What was tested:

  • 3-1, 4-1, 6-1, 9-1, 12-1 momentum
  • 12-1 + 6-1 blend
  • 12-1 + 6-1 + 3-1 blend

What happened: 12-1 was best for all five original strategies tested (the first five on this site) on yearly return, Sharpe and worst fall. Weekly Quality Momentum: 20% a year at 3-1, 29% at 6-1, 48% at 9-1, 60% at 12-1. Chosen on 2017-21 alone, 12-1 is the pick for four of five; 9-1 is the only close second, and blends land between their parts.

A year (CAGR), Weekly Quality Momentum
A year (CAGR), Weekly Quality Momentum3-1+20.0%4-1+19.0%6-1+29.0%9-1+48.0%12-1+60.0%Blend 12-1 + 6-1+52.0%Blend 12-1 + 6-1 + 3-1+51.0%SPY+15.0%
Show these numbers as a table
A year (CAGR), Weekly Quality Momentum
TestedA year (CAGR), Weekly Quality Momentum
3-1+20.0%
4-1+19.0%
6-1+29.0%
9-1+48.0%
12-1+60.0%
Blend 12-1 + 6-1+52.0%
Blend 12-1 + 6-1 + 3-1+51.0%
SPY+15.0%

Protecting against losses

Two ways to fall less were tested on all 8 strategies: keeping a fixed share of the account in T-bills, and moving money into T-bills only when a warning signal fires. Each part below opens for its heat maps and full results.

Fixed T-bill splits, from 100/0 to 10/9010 splits on all 8 strategies: largest drop and return a year

The simplest protection: keep a fixed share of the account in T-bills and the rest in the strategy. The map shows every split in steps of 10 for all 8 strategies. A split makes the largest drop smaller and the return lower in close proportion: for Core Momentum, a 50/50 split took the largest drop from −36.3% to −19.1% and the return from 29.4% to 16.5% a year. That steady rate is the price of protection the warning signals below are measured against.

Largest drop: green is a smaller drop, red a bigger one. Tap, click or hover over a square for its loss protection and profit given up against 100% in the strategy.

Swipe sideways to see all 8 strategies.

Fixed T-bill splits: each strategy’s largest drop and return a year with each split
SplitCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
100% strategy, no T-bills
90% strategy, 10% T-bills
80% strategy, 20% T-bills
70% strategy, 30% T-bills
60% strategy, 40% T-bills
50% strategy, 50% T-bills
40% strategy, 60% T-bills
30% strategy, 70% T-bills
20% strategy, 80% T-bills
10% strategy, 90% T-bills
Show the numbers as a table

Largest drop, by split

Each strategy’s largest drop with each fixed T-bill split
SplitCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
100% strategy, no T-bills−36.3%−48.5%−46.5%−49.0%−45.6%−33.5%−48.1%−45.9%
90% strategy, 10% T-bills−33.0%−44.4%−42.5%−45.0%−41.8%−30.4%−44.0%−41.7%
80% strategy, 20% T-bills−29.7%−40.1%−38.4%−40.8%−37.8%−27.2%−39.8%−37.3%
70% strategy, 30% T-bills−26.2%−35.7%−34.1%−36.5%−33.7%−23.9%−35.4%−32.8%
60% strategy, 40% T-bills−22.7%−31.1%−29.6%−31.9%−29.4%−20.7%−30.8%−28.1%
50% strategy, 50% T-bills−19.1%−26.4%−25.0%−27.1%−25.0%−17.3%−26.0%−23.4%
40% strategy, 60% T-bills−15.4%−21.4%−20.3%−22.1%−20.3%−13.9%−21.1%−18.7%
30% strategy, 70% T-bills−11.6%−16.3%−15.4%−16.9%−15.4%−10.5%−16.0%−14.2%
20% strategy, 80% T-bills−7.7%−10.9%−10.4%−11.4%−10.4%−7.0%−10.8%−9.5%
10% strategy, 90% T-bills−3.7%−5.5%−5.1%−5.8%−5.2%−3.4%−5.4%−4.8%

Return a year, by split

Each strategy’s return a year with each fixed T-bill split
SplitCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
100% strategy, no T-bills29.4%53.4%60.2%77.8%72.9%22.4%58.6%56.6%
90% strategy, 10% T-bills26.9%48.6%54.5%70.3%65.6%20.6%53.1%51.3%
80% strategy, 20% T-bills24.4%43.6%48.7%62.6%58.3%18.7%47.5%45.9%
70% strategy, 30% T-bills21.8%38.6%42.9%54.9%51.0%16.8%41.8%40.4%
60% strategy, 40% T-bills19.2%33.5%37.1%47.2%43.7%14.8%36.1%35.0%
50% strategy, 50% T-bills16.5%28.3%31.2%39.5%36.6%12.8%30.4%29.5%
40% strategy, 60% T-bills13.8%23.2%25.4%31.8%29.5%10.8%24.8%24.0%
30% strategy, 70% T-bills11.0%18.0%19.6%24.3%22.5%8.8%19.1%18.6%
20% strategy, 80% T-bills8.2%12.8%13.8%16.9%15.7%6.7%13.5%13.1%
10% strategy, 90% T-bills5.4%7.7%8.1%9.6%9.0%4.6%8.0%7.8%

Every warning signal tested

52 warning signals that move money into T-bills when they fire were tested on all 8 strategies. Any rule that holds T-bills part of the time will usually fall less and earn less, so what matters is the deal: how much smaller the largest drop became, and how much return was given up for it.

The simplest way to fall less is to hold a fixed share of the account in T-bills. For each strategy, that sets a price for protection: how much yearly return a T-bill split gives up for each point of smaller drop. Each signal is measured against that price.

The heat maps show one number per strategy and signal: the edge over a fixed T-bill split, in percentage points of return a year. It is the signal’s return change minus what a T-bill split would have cost for the same protection. Green means the signal protected more cheaply than holding T-bills (the deeper, the better), grey means about the same, red means a worse deal or no protection. ★ marks free protection (a smaller drop and a higher return), ✕ marks no protection (the drop did not get smaller). Tap, click or hover over a square for its loss protection and profit given up.

The outcome: the Hindenburg-style split-market signal, built from all US stocks, was green for every strategy, on average 23 points a year better than a T-bill split, with free protection for every. A few volatility targets were green for some strategies. Nearly every other signal was red: a worse deal than simply holding T-bills.

Edge over a fixed T-bill split, points of return a year:8 or more better3 to 8 better0.5 to 3 betterabout the same0.5 to 3 worse3 to 10 worsemore than 10 worse★ free protection✕ no protection
At a glance: the signals that protected at all13 signals on all 8 strategies, best first

Each square: the edge over a fixed T-bill split for that strategy, in points of return a year. Tap, click or hover over a square for its loss protection and profit given up.

Swipe sideways to see all 8 strategies and the average.

The signals that protected at all: edge over a fixed T-bill split, points of return a year, by strategy
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)Average
Hindenburg-style split: this site’s signal → half out for 30 days (all US stocks)+22.6
Volatility target 60%, checked weekly, in 25% steps+2.9
Volatility target 40% (20-day, never above 100%)+1.8
Volatility target 50%, checked weekly, in 25% steps+0.9
Volatility target 40%, checked weekly, in 25% steps-0.2
Volatility target 40% (60-day, never above 100%)-0.3
Hindenburg-style split: 2.5% new highs AND 2.5% new lows → half out for 30 days (500 most traded)-0.3
Volatility target 30% (60-day, never above 100%)-2.5
Narrow rally: SPY up 20 days but A/D line down → half out-3.0
High-Low index: out below 30, back above 50-4.3
200-day EMA, only half to cash-4.7
Below 200-day EMA AND volatility over 25% → out-5.1
More new lows than new highs (10-day) → out-5.6
The Hindenburg-style signal: when to get out, when to get back in264 versions on all 8 strategies

The one signal that worked for all 8 strategies was the Hindenburg-style split market: on the same day, many US stocks make a new 52-week high and many make a new 52-week low, while SPY is still above its 50-day average. The market is splitting apart under a rising index. This site’s version also requires the split to be broad: more than 3.0% of companies worth over $300 million at new highs and more than 2.0% at new lows, and at least 3 sectors at each end. As first tested, half the account moved into T-bills when it fired and came back 30 trading days after the last firing. Neither number was tuned.

To find the best timing, 264 versions were tested on all 8 strategies: 6 ways to get out, 11 ways to get back in and 4 sizes. Every version is traded one session after the reading, because the count of new highs and lows needs every stock’s closing price, so the earliest possible trade is the next close. That delay changes the rule as tested only a little: an edge of +21.9 points a year instead of +22.6. Since late 2017 the signal fired on 59 days, in 16 separate episodes.

What the tests found

  • When to get back in decides almost everything. Coming back 30 sessions after the last firing scored +21.9 points a year on average. 20 sessions scored +12.4 and 45 sessions +12.4. Waiting 90 sessions or more gave up more return than the protection was worth.
  • Waiting for the market to heal does not work. The four “healing” re-entry rules scored between -4.0 and +3.4. They bring the money back within days, often just before the real fall: in late 2021 the damage came weeks after the first firing.
  • Waiting a few sessions before getting out helped. Going out at the next close (as tested) scored +21.9; waiting 2 sessions +24.2; waiting 5 sessions +26.0, with the same protection and more return kept. Markets often bounce in the first days after a firing. The gain is smaller and less certain than the re-entry’s: it rests on only 16 episodes. Waiting for a second firing kept more return but protected less.
  • Size matters less than timing. Moving 50% scored +21.9, 75% +25.3 and everything +27.0. A bigger move protects more in a real fall and costs more in every false alarm.
  • The timing is real, but there are few events. Sliding the same T-bill spells to 200 sets of random dates never matched the real signal (the rule as tested beat 100% of them). Still, there are only 16 episodes: four real falls (autumn 2018, February 2020, late 2021, April 2022) and several false alarms, mostly in 2023 to 2025.
  • Chosen on 2017 to 2021, tested on 2022 to 2026. Picking each strategy’s best version on the first half alone, then running it on the second half, gave a smaller largest drop for 7 of 8 strategies and a higher Sharpe ratio for 8 of 8, and more total return for 8 of 8. Count on the protection more than on extra return.

Each square below uses the same scale as the maps above: the edge over a fixed T-bill split, in points of return a year. Tap, click or hover over a square for its loss protection and profit given up.

When to get back in

Out at the next close after the first firing, half the account. Each row is a re-entry rule.

Swipe sideways to see all 8 strategies and the average.

When to get back in: edge over a fixed T-bill split, points of return a year, by strategy
RuleCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)Average
10 sessions after the last firing+4.7
20 sessions after the last firing+12.4
30 sessions after the last firing (as tested)+21.9
45 sessions after the last firing+12.4
60 sessions after the last firing+9.3
90 sessions after the last firing+0.8
120 sessions after the last firing-1.2
When the McClellan oscillator is back above zero-1.5
When new lows are back under 1% of stocks+3.4
When new highs outnumber new lows (10-day average)-4.0
When SPY is back above its 20-day average+1.3

When to get out

Back 30 sessions after the last firing, half the account. Each row is an exit rule.

Swipe sideways to see all 8 strategies and the average.

When to get out: edge over a fixed T-bill split, points of return a year, by strategy
RuleCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)Average
At the next close after the first firing (as tested)+21.9
2 sessions after the first firing+24.2
5 sessions after the first firing+26.0
Only after a second firing within 30 sessions+20.8
Only if SPY closes below its 50-day average within 30 sessions+10.8
Only if the McClellan oscillator turns negative within 30 sessions+22.3

How much to move into T-bills

Out at the next close after the first firing, back 30 sessions after the last firing.

Swipe sideways to see all 8 strategies and the average.

How much to move into T-bills: edge over a fixed T-bill split, points of return a year, by strategy
RuleCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)Average
25% of the account+13.6
50% of the account (as tested)+21.9
75% of the account+25.3
All of the account+27.0

Every exit with every re-entry

Half the account. Each square is the average over the 8 strategies; rows are the ways to get out, columns the ways to get back in.

Swipe sideways to see every re-entry rule.

Every exit rule against every re-entry rule, half the account: edge over a fixed T-bill split, points of return a year, averaged over the 8 strategies
Get out10 sessions20 sessions30 sessions45 sessions60 sessions90 sessions120 sessionsMcClellan above zeroNew lows under 1%More highs than lowsSPY above 20-dayAverage
Out: Next close (as tested)+5.4
Out: 2 sessions later+8.8
Out: 5 sessions later+10.4
Out: After a second firing+6.9
Out: SPY below its 50-day+3.3
Out: McClellan negative+6.0

Every episode, with the rule as tested

The day it first fired, the close at which half the account moved into T-bills, the close at which it came back, and how each strategy moved in between. Green: the strategy fell while half the money was safe, so the signal helped. Red: the strategy rose, so the signal cost return. Averaged over every rebuild day.

Every Hindenburg-style episode since 2017 and each strategy’s move while half the account was in T-bills
First firedHalf outBack inSessionsFiringsSPYCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
2017-11-072017-11-082017-12-293523.5% (the signal cost return)−1.1% (the signal helped)−3.8% (the signal helped)−1.8% (the signal helped)−1.8% (the signal helped)−2.0% (the signal helped)0.3% (the signal cost return)−3.6% (the signal helped)−2.1% (the signal helped)
2018-08-152018-08-162018-11-13625−3.8% (the signal helped)−10.9% (the signal helped)−14.1% (the signal helped)−13.4% (the signal helped)−14.2% (the signal helped)−13.9% (the signal helped)−8.2% (the signal helped)−13.5% (the signal helped)−14.2% (the signal helped)
2019-07-222019-07-232019-09-163820.0%−4.2% (the signal helped)−6.5% (the signal helped)−7.7% (the signal helped)−8.7% (the signal helped)−7.9% (the signal helped)−2.0% (the signal helped)−7.0% (the signal helped)−6.4% (the signal helped)
2020-01-292020-01-302020-03-18332−26.8% (the signal helped)−28.6% (the signal helped)−20.3% (the signal helped)−24.8% (the signal helped)−19.2% (the signal helped)−22.3% (the signal helped)−26.5% (the signal helped)−21.0% (the signal helped)−25.6% (the signal helped)
2021-11-182021-11-192022-02-23646−9.7% (the signal helped)−23.0% (the signal helped)−19.5% (the signal helped)−21.2% (the signal helped)−29.9% (the signal helped)−24.7% (the signal helped)−19.0% (the signal helped)−18.9% (the signal helped)−18.4% (the signal helped)
2022-04-082022-04-112022-05-24301−10.5% (the signal helped)−10.1% (the signal helped)−4.0% (the signal helped)−4.4% (the signal helped)−2.2% (the signal helped)−4.6% (the signal helped)−10.4% (the signal helped)−3.6% (the signal helped)−5.1% (the signal helped)
2022-11-072022-11-082023-02-015728.0% (the signal cost return)−3.4% (the signal helped)−4.6% (the signal helped)−8.4% (the signal helped)−3.9% (the signal helped)−0.7% (the signal helped)−0.6% (the signal helped)−5.3% (the signal helped)−10.2% (the signal helped)
2023-04-122023-04-132023-07-1261158.3% (the signal cost return)12.6% (the signal cost return)28.2% (the signal cost return)23.6% (the signal cost return)37.1% (the signal cost return)33.3% (the signal cost return)7.7% (the signal cost return)24.9% (the signal cost return)23.0% (the signal cost return)
2023-11-102023-11-132023-12-283128.7% (the signal cost return)17.4% (the signal cost return)23.8% (the signal cost return)27.1% (the signal cost return)41.6% (the signal cost return)36.9% (the signal cost return)13.2% (the signal cost return)25.4% (the signal cost return)26.4% (the signal cost return)
2024-06-182024-06-202024-08-214322.8% (the signal cost return)1.0% (the signal cost return)3.3% (the signal cost return)5.6% (the signal cost return)6.3% (the signal cost return)5.8% (the signal cost return)0.5% (the signal cost return)4.7% (the signal cost return)6.4% (the signal cost return)
2024-11-182024-11-192025-02-034921.6% (the signal cost return)7.4% (the signal cost return)6.0% (the signal cost return)12.8% (the signal cost return)10.0% (the signal cost return)8.8% (the signal cost return)5.6% (the signal cost return)10.7% (the signal cost return)12.4% (the signal cost return)
2025-02-072025-02-102025-03-28334−7.9% (the signal helped)−17.9% (the signal helped)−23.4% (the signal helped)−19.2% (the signal helped)−19.0% (the signal helped)−15.8% (the signal helped)−14.1% (the signal helped)−20.4% (the signal helped)−19.4% (the signal helped)
2025-07-312025-08-012025-09-153016.3% (the signal cost return)11.7% (the signal cost return)23.4% (the signal cost return)28.4% (the signal cost return)29.2% (the signal cost return)28.4% (the signal cost return)8.3% (the signal cost return)25.7% (the signal cost return)28.4% (the signal cost return)
2025-10-292025-10-302025-12-243861.8% (the signal cost return)−8.4% (the signal helped)−9.3% (the signal helped)−10.6% (the signal helped)−17.3% (the signal helped)−13.7% (the signal helped)−2.7% (the signal helped)−11.7% (the signal helped)−9.6% (the signal helped)
2026-02-032026-02-042026-03-27362−7.3% (the signal helped)−6.8% (the signal helped)−1.0% (the signal helped)9.2% (the signal cost return)13.6% (the signal cost return)11.2% (the signal cost return)−5.6% (the signal helped)6.9% (the signal cost return)7.9% (the signal cost return)
2026-05-112026-05-122026-08-106155.0% (the signal cost return)−12.4% (the signal helped)−30.5% (the signal helped)−29.2% (the signal helped)−29.8% (the signal helped)−24.5% (the signal helped)−4.8% (the signal helped)−32.1% (the signal helped)−19.1% (the signal helped)

Chosen on 2017 to 2021, tested on 2022 to 2026

For each strategy, the version that made the most money in 2017 to 2021 among those that cut that half’s largest drop by 2 points or more, then run unchanged on 2022 to 2026. Total return, largest drop and Sharpe ratio in 2022 to 2026, without and with the signal.

Each strategy’s version chosen on 2017 to 2021 and its results in 2022 to 2026
StrategyChosen on 2017 to 2021Total returnLargest drop, no signalWith the signalSharpe
Core Momentum5 sessions after the first firing; back 30 sessions after the last firing; 100%301% → 547%−33.9% →▼ −21.5% (smaller than without the signal)1.08 → 1.76
Quality MomentumOnly after a second firing within 30 sessions; back 30 sessions after the last firing; 100%880% → 1,353%−46.0% →▼ −39.7% (smaller than without the signal)1.28 → 1.83
Weekly Quality MomentumOnly after a second firing within 30 sessions; back 30 sessions after the last firing; 100%1,104% → 1,424%−45.4% →▼ −42.4% (smaller than without the signal)1.36 → 1.80
Weekly LeadersOnly after a second firing within 30 sessions; back 30 sessions after the last firing; 100%1,759% → 2,079%−47.7% →▼ −45.9% (smaller than without the signal)1.41 → 1.80
Weekly Full Stack (15)Only after a second firing within 30 sessions; back 30 sessions after the last firing; 100%1,576% → 1,732%−41.1% →▼ −35.2% (smaller than without the signal)1.51 → 1.92
Broad Momentum 305 sessions after the first firing; back 30 sessions after the last firing; 100%173% → 289%−27.2% →▼ −17.4% (smaller than without the signal)0.99 → 1.63
Quality Momentum (every 2 weeks)Only after a second firing within 30 sessions; back 30 sessions after the last firing; 100%1,079% → 1,465%−45.3% →▼ −38.0% (smaller than without the signal)1.36 → 1.85
Weekly Leaders (max 25%)Only after a second firing within 30 sessions; back 30 sessions after the last firing; 100%929% → 1,050%−39.4% →▲ −43.7% (bigger than without the signal)1.35 → 1.70

Random-date check: the rule as tested scored +21.9 points a year. The same spells in T-bills, slid to 200 sets of random dates, scored -6.2 at the median and +5.0 at best one time in twenty; the real signal beat 100% of them. Backtest results, November 2017 to September 2026, every rebuild day averaged, 0.10% on every move, traded at the close after the reading.

Every detection, and did each one pay?

Readings run from 2017-09-18 to 2026-10-09 (2,278 trading days): a 52-week high or low needs a full year of prices first. The signal fired on 59 days in 16 episodes. Many firing days fall inside one episode, and a firing while half the account is already in T-bills only extends the stay, so the rule moved money 16 times.

There is no single official definition of the Hindenburg Omen, so every tool counts differently. Versions built the same way fire about as often: the classic conditions on all US stocks 91 days, a published tracker 119 days over the same years, and the classic New York Stock Exchange version 88 days.

Of the 16 times the rule moved half the account into T-bills, 11 helped 6 or more of the 8 strategies, including every real fall in the period, and 4 were false alarms that cost money while the market kept rising (April to July 2023, November to December 2023, November 2024 to February 2025, August to September 2025). Over the whole record every strategy ended with more money and a smaller worst fall with the rule: avoiding the crashes compounds forward and outweighed the false alarms.

Each time the rule moved money: half in T-bills against staying fully invested

Points of the account, after the 0.10% cost of each move. Green: the move helped; red: it cost money.

Each time the rule moved half the account into T-bills: the result for each strategy
Half out to back inSPYCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)Helped
2017-11-15 to 2017-12-29+4.6%−0.46 (cost money)+1.97 (helped)+0.44 (helped)+0.74 (helped)+1.52 (helped)−1.28 (cost money)+1.45 (helped)+1.00 (helped)6 of 8
2018-08-23 to 2018-11-13-4.4%+5.60 (helped)+6.64 (helped)+9.28 (helped)+10.03 (helped)+10.37 (helped)+4.84 (helped)+9.52 (helped)+10.03 (helped)8 of 8
2019-07-30 to 2019-09-16-0.2%+1.24 (helped)+3.60 (helped)+5.38 (helped)+5.69 (helped)+6.81 (helped)+0.76 (helped)+4.12 (helped)+3.93 (helped)8 of 8
2020-02-06 to 2020-03-18-28.1%+13.08 (helped)+10.92 (helped)+11.89 (helped)+9.57 (helped)+11.20 (helped)+12.79 (helped)+12.81 (helped)+11.83 (helped)8 of 8
2021-11-29 to 2022-02-23-8.9%+10.63 (helped)+6.42 (helped)+9.23 (helped)+12.68 (helped)+10.52 (helped)+8.50 (helped)+9.67 (helped)+7.11 (helped)8 of 8
2022-04-19 to 2022-05-24-11.5%+6.61 (helped)+7.45 (helped)+6.36 (helped)+7.55 (helped)+8.08 (helped)+6.61 (helped)+8.69 (helped)+6.00 (helped)8 of 8
2022-11-15 to 2023-02-01+3.6%+1.32 (helped)+2.84 (helped)+5.43 (helped)+4.05 (helped)+2.37 (helped)+0.19 (helped)+4.70 (helped)+6.74 (helped)8 of 8
2023-04-20 to 2023-07-12+8.7%−5.56 (cost money)−17.99 (cost money)−10.04 (cost money)−16.94 (cost money)−15.18 (cost money)−3.75 (cost money)−8.89 (cost money)−9.81 (cost money)0 of 8
2023-11-20 to 2023-12-28+5.4%−5.27 (cost money)−6.49 (cost money)−11.28 (cost money)−20.52 (cost money)−17.45 (cost money)−4.04 (cost money)−7.99 (cost money)−9.11 (cost money)0 of 8
2024-06-27 to 2024-08-21+2.6%+0.25 (helped)+0.40 (helped)−0.71 (cost money)−0.19 (cost money)+0.38 (helped)+0.18 (helped)+0.22 (helped)−0.64 (cost money)5 of 8
2024-11-26 to 2025-02-03-0.1%−2.03 (cost money)−1.47 (cost money)−4.41 (cost money)−2.85 (cost money)−2.13 (cost money)−1.15 (cost money)−4.99 (cost money)−4.04 (cost money)0 of 8
2025-02-18 to 2025-03-28-8.9%+12.01 (helped)+15.27 (helped)+14.40 (helped)+17.23 (helped)+14.75 (helped)+8.99 (helped)+15.28 (helped)+14.89 (helped)8 of 8
2025-08-08 to 2025-09-15+3.7%−3.04 (cost money)−6.98 (cost money)−9.10 (cost money)−8.80 (cost money)−8.69 (cost money)−2.21 (cost money)−8.35 (cost money)−7.89 (cost money)0 of 8
2025-11-06 to 2025-12-24+3.3%+1.97 (helped)+2.70 (helped)+1.44 (helped)+5.07 (helped)+4.80 (helped)−0.56 (cost money)+5.49 (helped)+1.97 (helped)7 of 8
2026-02-11 to 2026-03-27-8.1%+3.69 (helped)+1.39 (helped)+0.83 (helped)−1.94 (cost money)−0.99 (cost money)+3.89 (helped)+2.64 (helped)+1.23 (helped)6 of 8
2026-05-19 to 2026-08-10+5.6%+3.42 (helped)+15.40 (helped)+10.35 (helped)+11.30 (helped)+10.09 (helped)+0.18 (helped)+13.83 (helped)+5.14 (helped)8 of 8

The whole record, with and without the rule

Return a year and worst fall, and $10,000 put in on November 1, 2017, to the close of 2026-10-09: the same calculation as each strategy’s page with the Hindenburg rule box ticked.

Each strategy with and without the rule
StrategyWithout: a year / worst fallWith the rule$10,000 without$10,000 with
Core Momentum34.0% / −35.4%42.4% / −25.5%$136,665$234,620
Quality Momentum65.6% / −50.8%77.4% / −33.9%$905,295$1,676,087
Weekly Quality Momentum70.2% / −44.7%81.5% / −29.8%$1,159,964$2,053,642
Weekly Leaders94.8% / −47.2%108.2% / −32.2%$3,866,901$6,997,143
Weekly Full Stack (15)82.0% / −41.3%94.3% / −29.4%$2,107,886$3,779,374
Broad Momentum 3023.3% / −32.5%29.1% / −21.9%$64,725$97,774
Quality Momentum (every 2 weeks)60.1% / −47.3%74.8% / −36.0%$669,379$1,466,416
Weekly Leaders (max 25%)65.1% / −42.2%75.5% / −34.2%$883,197$1,518,529

Compared with the NYSE versions

  • This site’s version: All US common stocks and ADRs over $5 (not over the counter); more than 2.5% at a new 52-week closing high and more than 2.5% at a new 52-week closing low on the same day; SPY above its 50-day average; more than 3.0% of companies worth over $300 million at new highs and more than 2.0% at new lows; at least 3 sectors (each with 20+ stocks) with more than 2.0% of their stocks at new highs and at least 3 with more than 2.0% at new lows.
  • All US stocks, classic conditions: All US stocks over $5; new highs and new lows each at least 2.2%; new highs no more than twice new lows; the McClellan oscillator below zero; SPY above its 50-day average (the version breadth trackers publish).
  • NYSE classic: Every issue listed on the New York Stock Exchange, including preferred shares, closed-end funds and ETFs; intraday 52-week highs and lows; each at least 2.2% of issues traded; new highs no more than twice new lows; the NYSE McClellan oscillator below zero; the market higher than 50 sessions earlier.
  • NYSE classic, confirmed: NYSE classic days with a second NYSE classic day within 36 sessions.
  • NYSE, 2.5% conditions: More than 2.5% new highs and new lows with SPY above its 50-day average, on NYSE-listed stocks only, without the $300 million and sector checks.
Firing days by year for each version
Firing days by year2017201820192020202120222023202420252026Total
This site’s version25224517411759
All US stocks, classic conditions01034651221181291
NYSE classic2181531577151588
NYSE classic, confirmed2171430567141583
NYSE, 2.5% conditions2143527166131482
The Trading Tools (published)7171141035271619119

Each version run through this site’s rule, on every strategy’s whole record. Helped and hurt: times the rule moved money that helped, or cost, 6 or more of the 8 strategies. The last two columns: the average change in return a year and in the worst fall, in points, with the rule against without it.

Each version through this site’s rule
VersionFiring daysMovesHelpedHurtDays half outMore moneyReturn a yearWorst fall
This site’s version591611427%8 of 8+11.0+12.3
All US stocks, classic conditions91149532%8 of 8+4.8+12.0
NYSE classic882112834%6 of 8+0.7+6.0
NYSE classic, confirmed831610528%8 of 8+2.5+5.3
NYSE, 2.5% conditions822010734%6 of 8+2.5+12.4

This site’s all-stock version protected best. The classic NYSE version fires about as often but in different weeks and added little; confirmed NYSE clusters helped every strategy, but less.

Show every detection

Episodes (a new one after more than 30 trading days without a firing)

Every episode
First firingLast firingFiring days
2017-11-072017-11-142
2018-08-152018-10-015
2019-07-222019-08-012
2020-01-292020-02-032
2021-11-182022-01-076
2022-04-082022-04-081
2022-11-072022-12-152
2023-04-122023-05-2515
2023-11-102023-11-132
2024-06-182024-07-092
2024-11-182024-12-162
2025-02-072025-02-124
2025-07-312025-07-311
2025-10-292025-11-106
2026-02-032026-02-112
2026-05-112026-06-255

Every firing day

Every day the signal fired
DateStocks countedNew highsNew lowsHighsLows
2017-11-073,946222995.63%2.51%
2017-11-143,9472151025.45%2.58%
2018-08-154,0081251453.12%3.62%
2018-09-064,0321921074.76%2.65%
2018-09-114,0212111035.25%2.56%
2018-09-274,0441221083.02%2.67%
2018-10-014,0511361293.36%3.18%
2019-07-223,8831051122.70%2.88%
2019-08-013,8811051602.71%4.12%
2020-01-293,911196995.01%2.53%
2020-02-033,894140983.60%2.52%
2021-11-185,6092051853.65%3.30%
2021-11-195,6051491992.66%3.55%
2021-11-225,5851572282.81%4.08%
2021-11-235,5801732113.10%3.78%
2022-01-065,5452221794.00%3.23%
2022-01-075,5442281854.11%3.34%
2022-04-085,4661961853.59%3.38%
2022-11-074,9503551377.17%2.77%
2022-12-154,8032651485.52%3.08%
2023-04-124,4972671355.94%3.00%
2023-04-144,5042751616.11%3.57%
2023-04-184,5003281497.29%3.31%
2023-04-214,4832871216.40%2.70%
2023-04-244,4772821186.30%2.64%
2023-05-014,4713231387.22%3.09%
2023-05-034,4532822746.33%6.15%
2023-05-044,4472523855.67%8.66%
2023-05-084,4682851266.38%2.82%
2023-05-094,4642901706.50%3.81%
2023-05-104,4673121656.98%3.69%
2023-05-114,4562792616.26%5.86%
2023-05-124,4542641945.93%4.36%
2023-05-164,4502461955.53%4.38%
2023-05-254,4412511325.65%2.97%
2023-11-104,0922231065.45%2.59%
2023-11-134,0841891134.63%2.77%
2024-06-183,9531901234.81%3.11%
2024-07-093,9551631234.12%3.11%
2024-11-183,8792211065.70%2.73%
2024-12-163,8982031195.21%3.05%
2025-02-073,8861321263.40%3.24%
2025-02-103,888190994.89%2.55%
2025-02-113,8781661034.28%2.66%
2025-02-123,8831711324.40%3.40%
2025-07-313,9351171162.97%2.95%
2025-10-294,0761981864.86%4.56%
2025-10-304,0651331533.27%3.76%
2025-11-034,0621521373.74%3.37%
2025-11-064,0141552023.86%5.03%
2025-11-074,0231811044.50%2.59%
2025-11-104,0382671136.61%2.80%
2026-02-034,09847318311.54%4.47%
2026-02-114,09445012610.99%3.08%
2026-05-114,2412501425.89%3.35%
2026-05-124,2321511283.57%3.02%
2026-05-134,2262101654.97%3.90%
2026-06-224,2592631296.18%3.03%
2026-06-254,2413981089.38%2.55%

Definitions and published counts:

Summary: the best rule in these tests

Summary: the best rule in these tests
SignalOn the same day, more than 2.5% of US stocks over $5 close at a new 52-week high and more than 2.5% close at a new 52-week low, while SPY closes above its 50-day average. The split must also be broad: more than 3.0% of the companies worth over $300 million at new highs and more than 2.0% at new lows (market cap at the previous month’s last trading day), and at least 3 sectors with more than 2.0% of their stocks at new highs and at least 3 with more than 2.0% at new lows (counting sectors with 20 or more stocks that day). The day it fires is day 0; it is known after that day’s close.
Get outHalf of the account moves into T-bills at the close of day 6 after the first firing.
Get back inThe full position returns at the close of day 31 after the last firing. Each new firing restarts the count.

Across the 8 strategies, this rule raised the return by 10.8 percentage points a year on average and made the largest drop 11.6 points smaller, an edge of +26.0 points a year over a fixed T-bill split. The drop was smaller in both halves of the period for all 8 strategies. Half the account was in T-bills on 28% of trading days, over 16 episodes.

Why the signal checks companies over $300 million and 3 sectors

Counting every US stock over $5 lets small companies, or one corner of the market, make a split on their own. In April 2024 that happened: the new highs came mostly from small companies, few larger companies were at new highs, the market kept rising, and moving half the account into T-bills cost every strategy money. On the first day of that warning, only 0.46% of companies worth over $300 million were at a new high.

The signal therefore also requires more than 3.0% of the companies worth over $300 million at new highs and more than 2.0% at new lows, and at least 3 sectors with more than 2.0% of their stocks at each end. Every result on this page uses it.

The re-entry 31 days after the last firing is the most reliable part of the rule. Waiting until day 6 to get out is less certain, as it rests on only 16 episodes. Moving more than half scored higher (75%: +31.4, 100%: +34.9) but costs more in every false alarm. Backtest results; past results do not predict future results.

Warning signals by type

Each group’s heat map uses the same scale. Below it, “Show the numbers as a table” gives each strategy’s largest drop and return a year with every signal. Moving averages are written as, for example, “200-day EMA”: the average price over the last 200 trading days, weighted toward the most recent days.

The market’s trend15 signals; green squares: 1 of 120

Rules based on the S&P 500 (or Nasdaq-100) price against its moving average, the most common timing signals. When the market is below its average, money moves to T-bills.

Swipe sideways to see all 8 strategies and the average.

The market’s trend: edge over a fixed T-bill split, points of return a year, by strategy
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)Average
200-day EMA, only half to cash-4.7
Below 200-day EMA AND volatility over 25% → out-5.1
Market calm: SPY 20-day volatility under 30%-7.3
SPY 10% off its high → out until back above 50-day EMA-9.7
50-day above 200-day (golden/death cross)-11.7
SPY 200-day EMA AND QQQ 200-day EMA both below → out-12.1
QQQ (Nasdaq-100) above its 200-day EMA-14.1
200-day EMA with a 2% band (out 2% below, back 2% above)-14.1
Breadth: over 40% of stocks above their 200-day-14.3
SPY above its 200-day EMA-14.3
SPY above its 100-day EMA-14.8
SPY above its 200-day simple average-15.2
200-day EMA read once a month (month-end)-17.3
10-month average, month-end (Faber 2007)-21.8
SPY above its 50-day EMA-30.3
Show the numbers as a table

Largest drop, by strategy

The market’s trend: each strategy’s largest drop with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal−36.3%−48.5%−46.5%−49.0%−45.6%−33.5%−48.1%−45.9%
200-day EMA, only half to cash▼ −35.6% (smaller than without the signal)▼ −48.4% (smaller than without the signal)▼ −46.3% (smaller than without the signal)▼ −48.3% (smaller than without the signal)▼ −42.6% (smaller than without the signal)▼ −29.3% (smaller than without the signal)▼ −47.6% (smaller than without the signal)▼ −43.9% (smaller than without the signal)
Below 200-day EMA AND volatility over 25% → out▼ −36.0% (smaller than without the signal)▼ −48.4% (smaller than without the signal)▼ −46.1% (smaller than without the signal)▼ −48.1% (smaller than without the signal)▼ −40.5% (smaller than without the signal)▼ −29.3% (smaller than without the signal)▼ −47.3% (smaller than without the signal)▼ −42.7% (smaller than without the signal)
Market calm: SPY 20-day volatility under 30%−36.3% (about the same)▲ −50.8% (bigger than without the signal)−46.5% (about the same)▼ −48.6% (smaller than without the signal)▼ −41.5% (smaller than without the signal)▼ −30.8% (smaller than without the signal)▲ −48.5% (bigger than without the signal)▲ −47.3% (bigger than without the signal)
SPY 10% off its high → out until back above 50-day EMA▲ −36.9% (bigger than without the signal)▲ −53.2% (bigger than without the signal)▲ −47.7% (bigger than without the signal)▲ −50.8% (bigger than without the signal)▼ −42.2% (smaller than without the signal)▼ −30.4% (smaller than without the signal)▲ −52.0% (bigger than without the signal)▲ −47.4% (bigger than without the signal)
50-day above 200-day (golden/death cross)▼ −36.1% (smaller than without the signal)▼ −46.8% (smaller than without the signal)▼ −45.5% (smaller than without the signal)▼ −48.9% (smaller than without the signal)−45.6% (about the same)−33.5% (about the same)▼ −46.6% (smaller than without the signal)▼ −42.2% (smaller than without the signal)
SPY 200-day EMA AND QQQ 200-day EMA both below → out▲ −37.4% (bigger than without the signal)▲ −51.1% (bigger than without the signal)▲ −46.8% (bigger than without the signal)▲ −51.1% (bigger than without the signal)▲ −45.9% (bigger than without the signal)▼ −31.5% (smaller than without the signal)▲ −49.4% (bigger than without the signal)▲ −46.2% (bigger than without the signal)
QQQ (Nasdaq-100) above its 200-day EMA▲ −36.8% (bigger than without the signal)▲ −52.7% (bigger than without the signal)▲ −48.8% (bigger than without the signal)▲ −55.1% (bigger than without the signal)▲ −46.7% (bigger than without the signal)▼ −28.9% (smaller than without the signal)▲ −51.7% (bigger than without the signal)▲ −48.9% (bigger than without the signal)
200-day EMA with a 2% band (out 2% below, back 2% above)▲ −39.5% (bigger than without the signal)▲ −50.9% (bigger than without the signal)▼ −46.1% (smaller than without the signal)▼ −48.0% (smaller than without the signal)▼ −43.0% (smaller than without the signal)▲ −34.5% (bigger than without the signal)▲ −48.2% (bigger than without the signal)▼ −43.9% (smaller than without the signal)
Breadth: over 40% of stocks above their 200-day▲ −39.5% (bigger than without the signal)▲ −53.6% (bigger than without the signal)▲ −48.3% (bigger than without the signal)▲ −51.1% (bigger than without the signal)▼ −41.6% (smaller than without the signal)▼ −29.6% (smaller than without the signal)▲ −52.4% (bigger than without the signal)▲ −47.6% (bigger than without the signal)
SPY above its 200-day EMA▲ −37.4% (bigger than without the signal)▲ −49.6% (bigger than without the signal)▼ −46.4% (smaller than without the signal)▲ −50.5% (bigger than without the signal)▼ −45.5% (smaller than without the signal)▼ −32.6% (smaller than without the signal)▲ −48.2% (bigger than without the signal)▼ −44.8% (smaller than without the signal)
SPY above its 100-day EMA▼ −33.7% (smaller than without the signal)▲ −50.6% (bigger than without the signal)▲ −47.6% (bigger than without the signal)▲ −50.9% (bigger than without the signal)▼ −40.7% (smaller than without the signal)▼ −26.4% (smaller than without the signal)▲ −50.3% (bigger than without the signal)▲ −48.2% (bigger than without the signal)
SPY above its 200-day simple average▼ −34.8% (smaller than without the signal)▲ −51.3% (bigger than without the signal)▲ −48.4% (bigger than without the signal)▲ −55.3% (bigger than without the signal)▲ −45.9% (bigger than without the signal)▼ −29.2% (smaller than without the signal)▲ −50.9% (bigger than without the signal)▲ −47.8% (bigger than without the signal)
200-day EMA read once a month (month-end)▲ −37.3% (bigger than without the signal)▲ −51.8% (bigger than without the signal)▼ −46.4% (smaller than without the signal)▼ −48.7% (smaller than without the signal)▼ −40.6% (smaller than without the signal)▼ −32.9% (smaller than without the signal)▲ −48.6% (bigger than without the signal)▼ −45.5% (smaller than without the signal)
10-month average, month-end (Faber 2007)▲ −38.7% (bigger than without the signal)▲ −53.5% (bigger than without the signal)▲ −47.2% (bigger than without the signal)▲ −50.9% (bigger than without the signal)▼ −43.0% (smaller than without the signal)▼ −33.4% (smaller than without the signal)▲ −50.1% (bigger than without the signal)▲ −47.8% (bigger than without the signal)
SPY above its 50-day EMA▲ −38.7% (bigger than without the signal)▲ −57.6% (bigger than without the signal)▲ −55.5% (bigger than without the signal)▲ −59.3% (bigger than without the signal)▲ −47.2% (bigger than without the signal)▼ −29.6% (smaller than without the signal)▲ −58.0% (bigger than without the signal)▲ −57.8% (bigger than without the signal)

Return a year, by strategy

The market’s trend: each strategy’s return a year with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal29.4%53.4%60.2%77.8%72.9%22.4%58.6%56.6%
200-day EMA, only half to cash▼ 24.0% (lower than without the signal)▼ 46.2% (lower than without the signal)▼ 54.0% (lower than without the signal)▼ 70.4% (lower than without the signal)▼ 65.5% (lower than without the signal)▼ 18.0% (lower than without the signal)▼ 51.7% (lower than without the signal)▼ 50.6% (lower than without the signal)
Below 200-day EMA AND volatility over 25% → out▼ 22.5% (lower than without the signal)▼ 44.6% (lower than without the signal)▼ 52.8% (lower than without the signal)▼ 68.6% (lower than without the signal)▼ 64.5% (lower than without the signal)▼ 17.5% (lower than without the signal)▼ 50.5% (lower than without the signal)▼ 49.8% (lower than without the signal)
Market calm: SPY 20-day volatility under 30%▼ 22.4% (lower than without the signal)▼ 44.2% (lower than without the signal)▼ 52.4% (lower than without the signal)▼ 67.7% (lower than without the signal)▼ 64.1% (lower than without the signal)▼ 17.6% (lower than without the signal)▼ 50.0% (lower than without the signal)▼ 49.2% (lower than without the signal)
SPY 10% off its high → out until back above 50-day EMA▼ 22.3% (lower than without the signal)▼ 42.9% (lower than without the signal)▼ 52.5% (lower than without the signal)▼ 67.9% (lower than without the signal)▼ 62.7% (lower than without the signal)▼ 17.1% (lower than without the signal)▼ 48.4% (lower than without the signal)▼ 49.6% (lower than without the signal)
50-day above 200-day (golden/death cross)▼ 19.4% (lower than without the signal)▼ 39.2% (lower than without the signal)▼ 47.3% (lower than without the signal)▼ 60.4% (lower than without the signal)▼ 56.8% (lower than without the signal)▼ 14.8% (lower than without the signal)▼ 45.2% (lower than without the signal)▼ 44.9% (lower than without the signal)
SPY 200-day EMA AND QQQ 200-day EMA both below → out▼ 21.1% (lower than without the signal)▼ 41.2% (lower than without the signal)▼ 49.4% (lower than without the signal)▼ 63.8% (lower than without the signal)▼ 59.3% (lower than without the signal)▼ 15.7% (lower than without the signal)▼ 46.8% (lower than without the signal)▼ 46.5% (lower than without the signal)
QQQ (Nasdaq-100) above its 200-day EMA▼ 21.8% (lower than without the signal)▼ 41.7% (lower than without the signal)▼ 49.5% (lower than without the signal)▼ 63.7% (lower than without the signal)▼ 59.2% (lower than without the signal)▼ 16.5% (lower than without the signal)▼ 46.9% (lower than without the signal)▼ 46.2% (lower than without the signal)
200-day EMA with a 2% band (out 2% below, back 2% above)▼ 17.1% (lower than without the signal)▼ 36.5% (lower than without the signal)▼ 46.0% (lower than without the signal)▼ 61.0% (lower than without the signal)▼ 56.4% (lower than without the signal)▼ 12.6% (lower than without the signal)▼ 42.5% (lower than without the signal)▼ 42.5% (lower than without the signal)
Breadth: over 40% of stocks above their 200-day▼ 19.5% (lower than without the signal)▼ 39.3% (lower than without the signal)▼ 47.2% (lower than without the signal)▼ 61.1% (lower than without the signal)▼ 58.0% (lower than without the signal)▼ 15.6% (lower than without the signal)▼ 44.0% (lower than without the signal)▼ 44.5% (lower than without the signal)
SPY above its 200-day EMA▼ 18.1% (lower than without the signal)▼ 37.8% (lower than without the signal)▼ 46.4% (lower than without the signal)▼ 60.8% (lower than without the signal)▼ 56.5% (lower than without the signal)▼ 13.2% (lower than without the signal)▼ 43.4% (lower than without the signal)▼ 43.3% (lower than without the signal)
SPY above its 100-day EMA▼ 17.9% (lower than without the signal)▼ 37.4% (lower than without the signal)▼ 45.0% (lower than without the signal)▼ 57.7% (lower than without the signal)▼ 54.9% (lower than without the signal)▼ 13.3% (lower than without the signal)▼ 42.3% (lower than without the signal)▼ 42.1% (lower than without the signal)
SPY above its 200-day simple average▼ 20.6% (lower than without the signal)▼ 40.3% (lower than without the signal)▼ 47.3% (lower than without the signal)▼ 60.3% (lower than without the signal)▼ 56.5% (lower than without the signal)▼ 15.4% (lower than without the signal)▼ 44.8% (lower than without the signal)▼ 44.9% (lower than without the signal)
200-day EMA read once a month (month-end)▼ 16.3% (lower than without the signal)▼ 34.1% (lower than without the signal)▼ 41.0% (lower than without the signal)▼ 54.0% (lower than without the signal)▼ 50.7% (lower than without the signal)▼ 12.2% (lower than without the signal)▼ 39.2% (lower than without the signal)▼ 39.4% (lower than without the signal)
10-month average, month-end (Faber 2007)▼ 15.3% (lower than without the signal)▼ 32.0% (lower than without the signal)▼ 38.6% (lower than without the signal)▼ 50.0% (lower than without the signal)▼ 47.0% (lower than without the signal)▼ 11.6% (lower than without the signal)▼ 36.9% (lower than without the signal)▼ 37.2% (lower than without the signal)
SPY above its 50-day EMA▼ 16.0% (lower than without the signal)▼ 31.9% (lower than without the signal)▼ 35.7% (lower than without the signal)▼ 48.1% (lower than without the signal)▼ 47.1% (lower than without the signal)▼ 11.7% (lower than without the signal)▼ 34.3% (lower than without the signal)▼ 35.0% (lower than without the signal)
The strategy’s own trend and drops5 signals; green squares: 0 of 40

Rules based on the strategy’s own value: step aside when it falls below its own moving average, or after a set fall from its high.

Swipe sideways to see all 8 strategies and the average.

The strategy’s own trend and drops: edge over a fixed T-bill split, points of return a year, by strategy
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)Average
Own 20% off its high → half out until back above 50-day EMA-9.0
Own curve above its 50-day EMA-22.0
Own curve above its 200-day EMA-24.9
Own curve above its 100-day EMA-29.5
Own 25% off its high → out until back above 50-day EMA-32.7
Show the numbers as a table

Largest drop, by strategy

The strategy’s own trend and drops: each strategy’s largest drop with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal−36.3%−48.5%−46.5%−49.0%−45.6%−33.5%−48.1%−45.9%
Own 20% off its high → half out until back above 50-day EMA▲ −37.7% (bigger than without the signal)▲ −49.5% (bigger than without the signal)▲ −48.4% (bigger than without the signal)▼ −48.9% (smaller than without the signal)▼ −42.5% (smaller than without the signal)▲ −33.8% (bigger than without the signal)▼ −47.5% (smaller than without the signal)▲ −48.8% (bigger than without the signal)
Own curve above its 50-day EMA▲ −37.1% (bigger than without the signal)▲ −51.9% (bigger than without the signal)▲ −51.8% (bigger than without the signal)▲ −50.1% (bigger than without the signal)▲ −47.3% (bigger than without the signal)▲ −37.6% (bigger than without the signal)▼ −47.7% (smaller than without the signal)▲ −54.4% (bigger than without the signal)
Own curve above its 200-day EMA▲ −38.0% (bigger than without the signal)▲ −59.7% (bigger than without the signal)▲ −53.2% (bigger than without the signal)▲ −55.2% (bigger than without the signal)▲ −49.8% (bigger than without the signal)▲ −34.0% (bigger than without the signal)▲ −56.2% (bigger than without the signal)▲ −53.9% (bigger than without the signal)
Own curve above its 100-day EMA▲ −45.2% (bigger than without the signal)▲ −59.1% (bigger than without the signal)▲ −55.0% (bigger than without the signal)▲ −52.0% (bigger than without the signal)▼ −44.2% (smaller than without the signal)▲ −40.2% (bigger than without the signal)▲ −59.8% (bigger than without the signal)▲ −54.3% (bigger than without the signal)
Own 25% off its high → out until back above 50-day EMA▲ −49.5% (bigger than without the signal)▲ −65.4% (bigger than without the signal)▲ −67.0% (bigger than without the signal)▲ −59.0% (bigger than without the signal)▼ −41.8% (smaller than without the signal)▲ −35.3% (bigger than without the signal)▲ −64.8% (bigger than without the signal)▲ −64.6% (bigger than without the signal)

Return a year, by strategy

The strategy’s own trend and drops: each strategy’s return a year with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal29.4%53.4%60.2%77.8%72.9%22.4%58.6%56.6%
Own 20% off its high → half out until back above 50-day EMA▼ 23.0% (lower than without the signal)▼ 44.6% (lower than without the signal)▼ 50.3% (lower than without the signal)▼ 64.3% (lower than without the signal)▼ 62.4% (lower than without the signal)▼ 18.1% (lower than without the signal)▼ 49.8% (lower than without the signal)▼ 48.5% (lower than without the signal)
Own curve above its 50-day EMA▼ 16.1% (lower than without the signal)▼ 38.0% (lower than without the signal)▼ 39.3% (lower than without the signal)▼ 51.2% (lower than without the signal)▼ 48.7% (lower than without the signal)▼ 11.7% (lower than without the signal)▼ 42.0% (lower than without the signal)▼ 37.2% (lower than without the signal)
Own curve above its 200-day EMA▼ 19.1% (lower than without the signal)▼ 33.2% (lower than without the signal)▼ 40.6% (lower than without the signal)▼ 54.6% (lower than without the signal)▼ 54.2% (lower than without the signal)▼ 14.6% (lower than without the signal)▼ 37.6% (lower than without the signal)▼ 40.9% (lower than without the signal)
Own curve above its 100-day EMA▼ 12.4% (lower than without the signal)▼ 32.6% (lower than without the signal)▼ 36.6% (lower than without the signal)▼ 49.5% (lower than without the signal)▼ 47.7% (lower than without the signal)▼ 9.5% (lower than without the signal)▼ 34.5% (lower than without the signal)▼ 34.8% (lower than without the signal)
Own 25% off its high → out until back above 50-day EMA▼ 18.0% (lower than without the signal)▼ 34.9% (lower than without the signal)▼ 37.5% (lower than without the signal)▼ 50.6% (lower than without the signal)▼ 54.5% (lower than without the signal)▼ 14.7% (lower than without the signal)▼ 35.9% (lower than without the signal)▼ 37.2% (lower than without the signal)
Volatility targets6 signals; green squares: 23 of 48

Hold less of the strategy when its recent day-to-day swings are large, so the portfolio’s swings stay near a set level.

Swipe sideways to see all 8 strategies and the average.

Volatility targets: edge over a fixed T-bill split, points of return a year, by strategy
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)Average
Volatility target 60%, checked weekly, in 25% steps+2.9
Volatility target 40% (20-day, never above 100%)+1.8
Volatility target 50%, checked weekly, in 25% steps+0.9
Volatility target 40%, checked weekly, in 25% steps-0.2
Volatility target 40% (60-day, never above 100%)-0.3
Volatility target 30% (60-day, never above 100%)-2.5
Show the numbers as a table

Largest drop, by strategy

Volatility targets: each strategy’s largest drop with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal−36.3%−48.5%−46.5%−49.0%−45.6%−33.5%−48.1%−45.9%
Volatility target 60%, checked weekly, in 25% steps▼ −35.4% (smaller than without the signal)▼ −43.2% (smaller than without the signal)▼ −39.7% (smaller than without the signal)▼ −45.6% (smaller than without the signal)▼ −37.3% (smaller than without the signal)▼ −30.5% (smaller than without the signal)▼ −42.1% (smaller than without the signal)▼ −42.6% (smaller than without the signal)
Volatility target 40% (20-day, never above 100%)▼ −34.7% (smaller than without the signal)▼ −41.4% (smaller than without the signal)▼ −38.8% (smaller than without the signal)▼ −42.3% (smaller than without the signal)▼ −36.3% (smaller than without the signal)▼ −29.0% (smaller than without the signal)▼ −39.9% (smaller than without the signal)▼ −41.7% (smaller than without the signal)
Volatility target 50%, checked weekly, in 25% steps▼ −34.7% (smaller than without the signal)▼ −42.6% (smaller than without the signal)▼ −41.3% (smaller than without the signal)▼ −43.0% (smaller than without the signal)▼ −36.8% (smaller than without the signal)▼ −30.4% (smaller than without the signal)▼ −41.8% (smaller than without the signal)▼ −44.0% (smaller than without the signal)
Volatility target 40%, checked weekly, in 25% steps▼ −34.8% (smaller than without the signal)▼ −38.3% (smaller than without the signal)▼ −36.5% (smaller than without the signal)▼ −42.8% (smaller than without the signal)▼ −35.2% (smaller than without the signal)▼ −28.9% (smaller than without the signal)▼ −37.1% (smaller than without the signal)▼ −40.5% (smaller than without the signal)
Volatility target 40% (60-day, never above 100%)▼ −35.6% (smaller than without the signal)▼ −41.3% (smaller than without the signal)▼ −38.3% (smaller than without the signal)▼ −41.8% (smaller than without the signal)▼ −36.7% (smaller than without the signal)▼ −32.8% (smaller than without the signal)▼ −40.1% (smaller than without the signal)▼ −40.4% (smaller than without the signal)
Volatility target 30% (60-day, never above 100%)▼ −34.1% (smaller than without the signal)▼ −36.9% (smaller than without the signal)▼ −34.0% (smaller than without the signal)▼ −35.7% (smaller than without the signal)▼ −34.3% (smaller than without the signal)▼ −30.7% (smaller than without the signal)▼ −35.1% (smaller than without the signal)▼ −35.6% (smaller than without the signal)

Return a year, by strategy

Volatility targets: each strategy’s return a year with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal29.4%53.4%60.2%77.8%72.9%22.4%58.6%56.6%
Volatility target 60%, checked weekly, in 25% steps▼ 27.0% (lower than without the signal)▼ 50.6% (lower than without the signal)▼ 54.8% (lower than without the signal)▼ 72.0% (lower than without the signal)▼ 70.5% (lower than without the signal)▼ 21.1% (lower than without the signal)▼ 54.3% (lower than without the signal)▼ 53.4% (lower than without the signal)
Volatility target 40% (20-day, never above 100%)▼ 27.1% (lower than without the signal)▼ 47.8% (lower than without the signal)▼ 52.3% (lower than without the signal)▼ 63.9% (lower than without the signal)▼ 64.4% (lower than without the signal)▼ 20.9% (lower than without the signal)▼ 52.4% (lower than without the signal)▼ 49.5% (lower than without the signal)
Volatility target 50%, checked weekly, in 25% steps▼ 27.0% (lower than without the signal)▼ 48.4% (lower than without the signal)▼ 52.0% (lower than without the signal)▼ 69.1% (lower than without the signal)▼ 64.6% (lower than without the signal)▼ 20.3% (lower than without the signal)▼ 52.7% (lower than without the signal)▼ 49.9% (lower than without the signal)
Volatility target 40%, checked weekly, in 25% steps▼ 25.7% (lower than without the signal)▼ 46.2% (lower than without the signal)▼ 49.3% (lower than without the signal)▼ 54.5% (lower than without the signal)▼ 58.4% (lower than without the signal)▼ 20.2% (lower than without the signal)▼ 49.5% (lower than without the signal)▼ 45.2% (lower than without the signal)
Volatility target 40% (60-day, never above 100%)▼ 25.8% (lower than without the signal)▼ 45.9% (lower than without the signal)▼ 49.5% (lower than without the signal)▼ 62.6% (lower than without the signal)▼ 62.0% (lower than without the signal)▼ 20.5% (lower than without the signal)▼ 49.5% (lower than without the signal)▼ 46.5% (lower than without the signal)
Volatility target 30% (60-day, never above 100%)▼ 22.4% (lower than without the signal)▼ 39.4% (lower than without the signal)▼ 42.4% (lower than without the signal)▼ 47.9% (lower than without the signal)▼ 50.1% (lower than without the signal)▼ 19.0% (lower than without the signal)▼ 42.5% (lower than without the signal)▼ 39.3% (lower than without the signal)
Market breadth: all US stocks10 signals; green squares: 10 of 80

Measures of how many stocks are rising or falling, built from every US stock over $5: the advance/decline line, the McClellan oscillator, new highs against new lows, and the share of stocks above their moving averages. It includes a version of the Hindenburg Omen, a well-known warning introduced by Jim Miekka in the 1990s: a split market, in which many stocks make new 52-week highs and many make new 52-week lows at the same time while the index is still rising. Here it fires when, on any day in the last 30 sessions, more than 2.5% of US stocks over $5 made a new high and more than 2.5% a new low, with SPY above its 50-day average, and moves half the account into T-bills for 30 trading days.

Swipe sideways to see all 8 strategies and the average.

Market breadth: all US stocks: edge over a fixed T-bill split, points of return a year, by strategy
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)Average
Hindenburg-style split: this site’s signal → half out for 30 days (all US stocks)+22.6
More new lows than new highs (10-day) → out-5.6
McClellan oscillator: out below -50, back above 0-9.6
A/D line above its 200-day EMA-10.4
A/D line above its 50-day EMA-11.5
High-Low index: out below 30, back above 50-17.6
Share above 50-day: out below 30%, back above 50%-19.2
Share above 200-day below 40% → out; back on a Zweig thrust or above 50%-19.7
Share above 200-day: out below 40%, back above 50%-20.7
McClellan summation index rising (above its 20-day avg)-39.3
Show the numbers as a table

Largest drop, by strategy

Market breadth: all US stocks: each strategy’s largest drop with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal−36.3%−48.5%−46.5%−49.0%−45.6%−33.5%−48.1%−45.9%
Hindenburg-style split: this site’s signal → half out for 30 days (all US stocks)▼ −28.0% (smaller than without the signal)▼ −38.2% (smaller than without the signal)▼ −34.4% (smaller than without the signal)▼ −36.0% (smaller than without the signal)▼ −31.4% (smaller than without the signal)▼ −23.3% (smaller than without the signal)▼ −37.3% (smaller than without the signal)▼ −36.4% (smaller than without the signal)
More new lows than new highs (10-day) → out▲ −36.5% (bigger than without the signal)▲ −55.0% (bigger than without the signal)▲ −49.8% (bigger than without the signal)▲ −51.7% (bigger than without the signal)▼ −43.5% (smaller than without the signal)▼ −30.4% (smaller than without the signal)▲ −53.6% (bigger than without the signal)▲ −52.8% (bigger than without the signal)
McClellan oscillator: out below -50, back above 0▼ −34.6% (smaller than without the signal)▼ −47.8% (smaller than without the signal)▼ −45.7% (smaller than without the signal)▼ −47.4% (smaller than without the signal)▼ −40.8% (smaller than without the signal)▼ −29.3% (smaller than without the signal)▼ −46.4% (smaller than without the signal)▼ −43.5% (smaller than without the signal)
A/D line above its 200-day EMA▲ −36.8% (bigger than without the signal)▲ −50.4% (bigger than without the signal)▲ −47.0% (bigger than without the signal)▲ −51.5% (bigger than without the signal)▼ −43.7% (smaller than without the signal)▼ −29.1% (smaller than without the signal)▲ −50.5% (bigger than without the signal)▲ −47.3% (bigger than without the signal)
A/D line above its 50-day EMA▼ −36.1% (smaller than without the signal)▲ −52.0% (bigger than without the signal)▲ −47.7% (bigger than without the signal)▼ −48.0% (smaller than without the signal)▼ −40.5% (smaller than without the signal)▼ −30.3% (smaller than without the signal)▲ −49.6% (bigger than without the signal)▲ −48.0% (bigger than without the signal)
High-Low index: out below 30, back above 50▲ −45.8% (bigger than without the signal)▲ −60.5% (bigger than without the signal)▲ −54.0% (bigger than without the signal)▲ −56.9% (bigger than without the signal)▲ −49.6% (bigger than without the signal)▲ −39.4% (bigger than without the signal)▲ −57.2% (bigger than without the signal)▲ −57.8% (bigger than without the signal)
Share above 50-day: out below 30%, back above 50%▲ −37.5% (bigger than without the signal)▲ −56.5% (bigger than without the signal)▲ −53.2% (bigger than without the signal)▲ −56.4% (bigger than without the signal)▲ −46.7% (bigger than without the signal)▼ −28.3% (smaller than without the signal)▲ −54.3% (bigger than without the signal)▲ −58.1% (bigger than without the signal)
Share above 200-day below 40% → out; back on a Zweig thrust or above 50%▲ −40.0% (bigger than without the signal)▲ −53.5% (bigger than without the signal)▲ −51.6% (bigger than without the signal)▲ −56.3% (bigger than without the signal)▼ −45.5% (smaller than without the signal)▼ −30.1% (smaller than without the signal)▲ −53.7% (bigger than without the signal)▲ −51.8% (bigger than without the signal)
Share above 200-day: out below 40%, back above 50%▲ −40.0% (bigger than without the signal)▲ −53.5% (bigger than without the signal)▲ −51.6% (bigger than without the signal)▲ −56.3% (bigger than without the signal)▼ −45.5% (smaller than without the signal)▼ −30.0% (smaller than without the signal)▲ −53.7% (bigger than without the signal)▲ −51.8% (bigger than without the signal)
McClellan summation index rising (above its 20-day avg)▲ −43.8% (bigger than without the signal)▲ −51.9% (bigger than without the signal)▼ −45.4% (smaller than without the signal)▲ −49.6% (bigger than without the signal)▲ −47.9% (bigger than without the signal)▲ −38.7% (bigger than without the signal)▼ −47.4% (smaller than without the signal)▲ −50.7% (bigger than without the signal)

Return a year, by strategy

Market breadth: all US stocks: each strategy’s return a year with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal29.4%53.4%60.2%77.8%72.9%22.4%58.6%56.6%
Hindenburg-style split: this site’s signal → half out for 30 days (all US stocks)▲ 37.5% (higher than without the signal)▲ 63.3% (higher than without the signal)▲ 69.0% (higher than without the signal)▲ 87.1% (higher than without the signal)▲ 79.8% (higher than without the signal)▲ 27.9% (higher than without the signal)▲ 67.8% (higher than without the signal)▲ 63.8% (higher than without the signal)
More new lows than new highs (10-day) → out▼ 27.9% (lower than without the signal)▼ 50.8% (lower than without the signal)▼ 57.8% (lower than without the signal)▼ 75.9% (lower than without the signal)▼ 70.0% (lower than without the signal)▼ 21.3% (lower than without the signal)▼ 55.2% (lower than without the signal)▼ 54.3% (lower than without the signal)
McClellan oscillator: out below -50, back above 0▼ 21.4% (lower than without the signal)▼ 41.5% (lower than without the signal)▼ 46.6% (lower than without the signal)▼ 61.4% (lower than without the signal)▼ 56.0% (lower than without the signal)▼ 15.5% (lower than without the signal)▼ 45.4% (lower than without the signal)▼ 44.4% (lower than without the signal)
A/D line above its 200-day EMA▼ 22.6% (lower than without the signal)▼ 43.0% (lower than without the signal)▼ 49.9% (lower than without the signal)▼ 65.5% (lower than without the signal)▼ 61.2% (lower than without the signal)▼ 17.3% (lower than without the signal)▼ 47.8% (lower than without the signal)▼ 47.1% (lower than without the signal)
A/D line above its 50-day EMA▼ 22.5% (lower than without the signal)▼ 41.0% (lower than without the signal)▼ 47.8% (lower than without the signal)▼ 62.4% (lower than without the signal)▼ 55.8% (lower than without the signal)▼ 15.6% (lower than without the signal)▼ 45.6% (lower than without the signal)▼ 45.2% (lower than without the signal)
High-Low index: out below 30, back above 50▼ 23.4% (lower than without the signal)▼ 45.3% (lower than without the signal)▼ 52.7% (lower than without the signal)▼ 69.2% (lower than without the signal)▼ 64.8% (lower than without the signal)▼ 17.9% (lower than without the signal)▼ 50.5% (lower than without the signal)▼ 49.0% (lower than without the signal)
Share above 50-day: out below 30%, back above 50%▼ 21.4% (lower than without the signal)▼ 40.0% (lower than without the signal)▼ 47.2% (lower than without the signal)▼ 62.0% (lower than without the signal)▼ 57.2% (lower than without the signal)▼ 16.3% (lower than without the signal)▼ 45.2% (lower than without the signal)▼ 42.9% (lower than without the signal)
Share above 200-day below 40% → out; back on a Zweig thrust or above 50%▼ 18.7% (lower than without the signal)▼ 37.9% (lower than without the signal)▼ 44.9% (lower than without the signal)▼ 58.3% (lower than without the signal)▼ 56.0% (lower than without the signal)▼ 14.7% (lower than without the signal)▼ 42.4% (lower than without the signal)▼ 42.0% (lower than without the signal)
Share above 200-day: out below 40%, back above 50%▼ 18.0% (lower than without the signal)▼ 37.0% (lower than without the signal)▼ 43.8% (lower than without the signal)▼ 56.8% (lower than without the signal)▼ 54.7% (lower than without the signal)▼ 14.2% (lower than without the signal)▼ 41.3% (lower than without the signal)▼ 40.8% (lower than without the signal)
McClellan summation index rising (above its 20-day avg)▼ 9.1% (lower than without the signal)▼ 15.9% (lower than without the signal)▼ 19.8% (lower than without the signal)▼ 27.3% (lower than without the signal)▼ 24.3% (lower than without the signal)▼ 6.4% (lower than without the signal)▼ 18.9% (lower than without the signal)▼ 16.9% (lower than without the signal)
Market breadth: the 500 most traded stocks10 signals; green squares: 5 of 80

The same breadth measures, built only from the strategies’ own stock pool.

Swipe sideways to see all 8 strategies and the average.

Market breadth: the 500 most traded stocks: edge over a fixed T-bill split, points of return a year, by strategy
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)Average
Hindenburg-style split: 2.5% new highs AND 2.5% new lows → half out for 30 days (500 most traded)-0.3
High-Low index: out below 30, back above 50-4.3
Share above 50-day: out below 30%, back above 50%-18.0
A/D line above its 200-day EMA-22.0
McClellan oscillator: out below -50, back above 0-24.1
Share above 200-day: out below 40%, back above 50%-27.3
Share above 200-day below 40% → out; back on a Zweig thrust or above 50%-28.4
McClellan summation index rising (above its 20-day avg)-28.4
More new lows than new highs (10-day) → out-28.9
A/D line above its 50-day EMA-30.8
Show the numbers as a table

Largest drop, by strategy

Market breadth: the 500 most traded stocks: each strategy’s largest drop with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal−36.3%−48.5%−46.5%−49.0%−45.6%−33.5%−48.1%−45.9%
Hindenburg-style split: 2.5% new highs AND 2.5% new lows → half out for 30 days (500 most traded)▼ −35.4% (smaller than without the signal)▼ −42.0% (smaller than without the signal)▼ −41.6% (smaller than without the signal)▼ −46.6% (smaller than without the signal)▼ −44.9% (smaller than without the signal)−33.5% (about the same)▼ −41.1% (smaller than without the signal)▼ −42.2% (smaller than without the signal)
High-Low index: out below 30, back above 50▲ −46.2% (bigger than without the signal)▲ −56.2% (bigger than without the signal)▲ −48.9% (bigger than without the signal)▲ −49.3% (bigger than without the signal)▼ −41.5% (smaller than without the signal)▲ −40.2% (bigger than without the signal)▲ −53.1% (bigger than without the signal)▲ −51.4% (bigger than without the signal)
Share above 50-day: out below 30%, back above 50%▲ −45.2% (bigger than without the signal)▲ −57.6% (bigger than without the signal)▲ −50.7% (bigger than without the signal)▲ −52.6% (bigger than without the signal)▼ −42.8% (smaller than without the signal)▲ −36.6% (bigger than without the signal)▲ −54.7% (bigger than without the signal)▲ −53.3% (bigger than without the signal)
A/D line above its 200-day EMA▲ −48.4% (bigger than without the signal)▲ −58.2% (bigger than without the signal)▲ −54.7% (bigger than without the signal)▲ −57.7% (bigger than without the signal)▲ −52.0% (bigger than without the signal)▲ −42.1% (bigger than without the signal)▲ −57.7% (bigger than without the signal)▲ −56.0% (bigger than without the signal)
McClellan oscillator: out below -50, back above 0▲ −47.0% (bigger than without the signal)▲ −56.9% (bigger than without the signal)▲ −55.9% (bigger than without the signal)▲ −53.1% (bigger than without the signal)▼ −44.2% (smaller than without the signal)▲ −39.6% (bigger than without the signal)▲ −55.1% (bigger than without the signal)▲ −58.2% (bigger than without the signal)
Share above 200-day: out below 40%, back above 50%▲ −45.8% (bigger than without the signal)▲ −56.8% (bigger than without the signal)▲ −51.7% (bigger than without the signal)▲ −56.6% (bigger than without the signal)▲ −48.3% (bigger than without the signal)▲ −37.5% (bigger than without the signal)▲ −54.8% (bigger than without the signal)▲ −54.4% (bigger than without the signal)
Share above 200-day below 40% → out; back on a Zweig thrust or above 50%▲ −47.0% (bigger than without the signal)▲ −57.2% (bigger than without the signal)▲ −52.2% (bigger than without the signal)▲ −56.9% (bigger than without the signal)▲ −49.1% (bigger than without the signal)▲ −39.3% (bigger than without the signal)▲ −55.3% (bigger than without the signal)▲ −54.7% (bigger than without the signal)
McClellan summation index rising (above its 20-day avg)▼ −33.8% (smaller than without the signal)▼ −44.2% (smaller than without the signal)▼ −39.4% (smaller than without the signal)▼ −43.3% (smaller than without the signal)▼ −32.9% (smaller than without the signal)▼ −28.3% (smaller than without the signal)▼ −40.4% (smaller than without the signal)−45.9% (about the same)
More new lows than new highs (10-day) → out▲ −51.4% (bigger than without the signal)▲ −64.3% (bigger than without the signal)▲ −57.7% (bigger than without the signal)▲ −58.3% (bigger than without the signal)▲ −51.8% (bigger than without the signal)▲ −47.3% (bigger than without the signal)▲ −61.8% (bigger than without the signal)▲ −61.0% (bigger than without the signal)
A/D line above its 50-day EMA▲ −43.1% (bigger than without the signal)▲ −59.7% (bigger than without the signal)▲ −58.2% (bigger than without the signal)▲ −58.8% (bigger than without the signal)▲ −47.2% (bigger than without the signal)▲ −34.6% (bigger than without the signal)▲ −60.0% (bigger than without the signal)▲ −61.1% (bigger than without the signal)

Return a year, by strategy

Market breadth: the 500 most traded stocks: each strategy’s return a year with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal29.4%53.4%60.2%77.8%72.9%22.4%58.6%56.6%
Hindenburg-style split: 2.5% new highs AND 2.5% new lows → half out for 30 days (500 most traded)▼ 28.4% (lower than without the signal)▼ 49.2% (lower than without the signal)▼ 54.6% (lower than without the signal)▼ 70.9% (lower than without the signal)▼ 65.2% (lower than without the signal)▼ 21.6% (lower than without the signal)▼ 53.6% (lower than without the signal)▼ 51.6% (lower than without the signal)
High-Low index: out below 30, back above 50▼ 27.0% (lower than without the signal)▼ 51.5% (lower than without the signal)▲ 60.4% (higher than without the signal)▲ 79.4% (higher than without the signal)▲ 73.6% (higher than without the signal)▼ 20.7% (lower than without the signal)▼ 57.3% (lower than without the signal)▲ 56.7% (higher than without the signal)
Share above 50-day: out below 30%, back above 50%▼ 17.7% (lower than without the signal)▼ 38.6% (lower than without the signal)▼ 47.5% (lower than without the signal)▼ 65.2% (lower than without the signal)▼ 60.2% (lower than without the signal)▼ 13.5% (lower than without the signal)▼ 44.4% (lower than without the signal)▼ 43.7% (lower than without the signal)
A/D line above its 200-day EMA▼ 21.2% (lower than without the signal)▼ 42.7% (lower than without the signal)▼ 48.8% (lower than without the signal)▼ 64.2% (lower than without the signal)▼ 59.4% (lower than without the signal)▼ 15.5% (lower than without the signal)▼ 47.0% (lower than without the signal)▼ 45.6% (lower than without the signal)
McClellan oscillator: out below -50, back above 0▼ 18.7% (lower than without the signal)▼ 38.6% (lower than without the signal)▼ 41.5% (lower than without the signal)▼ 57.1% (lower than without the signal)▼ 51.1% (lower than without the signal)▼ 14.1% (lower than without the signal)▼ 40.9% (lower than without the signal)▼ 39.6% (lower than without the signal)
Share above 200-day: out below 40%, back above 50%▼ 13.8% (lower than without the signal)▼ 33.0% (lower than without the signal)▼ 40.8% (lower than without the signal)▼ 53.3% (lower than without the signal)▼ 49.9% (lower than without the signal)▼ 10.4% (lower than without the signal)▼ 38.3% (lower than without the signal)▼ 37.4% (lower than without the signal)
Share above 200-day below 40% → out; back on a Zweig thrust or above 50%▼ 13.4% (lower than without the signal)▼ 32.8% (lower than without the signal)▼ 40.5% (lower than without the signal)▼ 53.0% (lower than without the signal)▼ 49.4% (lower than without the signal)▼ 10.0% (lower than without the signal)▼ 38.0% (lower than without the signal)▼ 37.2% (lower than without the signal)
McClellan summation index rising (above its 20-day avg)▼ 11.3% (lower than without the signal)▼ 16.7% (lower than without the signal)▼ 18.6% (lower than without the signal)▼ 26.0% (lower than without the signal)▼ 25.3% (lower than without the signal)▼ 8.0% (lower than without the signal)▼ 18.3% (lower than without the signal)▼ 15.7% (lower than without the signal)
More new lows than new highs (10-day) → out▼ 18.3% (lower than without the signal)▼ 37.5% (lower than without the signal)▼ 45.4% (lower than without the signal)▼ 61.2% (lower than without the signal)▼ 57.3% (lower than without the signal)▼ 13.5% (lower than without the signal)▼ 42.4% (lower than without the signal)▼ 42.0% (lower than without the signal)
A/D line above its 50-day EMA▼ 14.0% (lower than without the signal)▼ 32.4% (lower than without the signal)▼ 38.1% (lower than without the signal)▼ 54.8% (lower than without the signal)▼ 53.6% (lower than without the signal)▼ 10.0% (lower than without the signal)▼ 36.0% (lower than without the signal)▼ 35.5% (lower than without the signal)
The momentum leaders themselves6 signals; green squares: 1 of 48

Signals read from the strongest stocks or from a momentum long-short portfolio, which might weaken before the market does.

Swipe sideways to see all 8 strategies and the average.

The momentum leaders themselves: edge over a fixed T-bill split, points of return a year, by strategy
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)Average
Narrow rally: SPY up 20 days but A/D line down → half out-3.0
Leaders: share above 50-day: half out below 50%, back above 60%-7.4
Leaders: over 20% at a 20-day low → out, back under 5%-10.8
Leaders: share above 50-day: out below 40%, back above 60%-16.9
Momentum long-short down 10% in 20 days → out, back when 20-day is positive-17.2
Momentum long-short above its 50-day EMA-18.4
Show the numbers as a table

Largest drop, by strategy

The momentum leaders themselves: each strategy’s largest drop with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal−36.3%−48.5%−46.5%−49.0%−45.6%−33.5%−48.1%−45.9%
Narrow rally: SPY up 20 days but A/D line down → half out▼ −35.7% (smaller than without the signal)▼ −47.1% (smaller than without the signal)▼ −46.1% (smaller than without the signal)▼ −48.3% (smaller than without the signal)▼ −44.6% (smaller than without the signal)▼ −32.5% (smaller than without the signal)▼ −46.3% (smaller than without the signal)▼ −44.8% (smaller than without the signal)
Leaders: share above 50-day: half out below 50%, back above 60%▲ −39.8% (bigger than without the signal)▲ −52.3% (bigger than without the signal)▲ −48.0% (bigger than without the signal)▲ −49.3% (bigger than without the signal)▼ −38.1% (smaller than without the signal)▲ −34.1% (bigger than without the signal)▲ −49.6% (bigger than without the signal)▲ −52.4% (bigger than without the signal)
Leaders: over 20% at a 20-day low → out, back under 5%▼ −35.2% (smaller than without the signal)▲ −49.0% (bigger than without the signal)▼ −44.9% (smaller than without the signal)▲ −51.8% (bigger than without the signal)▼ −42.8% (smaller than without the signal)▼ −28.5% (smaller than without the signal)▼ −44.9% (smaller than without the signal)▲ −49.4% (bigger than without the signal)
Leaders: share above 50-day: out below 40%, back above 60%▲ −47.3% (bigger than without the signal)▲ −55.8% (bigger than without the signal)▲ −50.2% (bigger than without the signal)▲ −49.4% (bigger than without the signal)▼ −40.3% (smaller than without the signal)▲ −42.1% (bigger than without the signal)▲ −51.4% (bigger than without the signal)▲ −55.3% (bigger than without the signal)
Momentum long-short down 10% in 20 days → out, back when 20-day is positive▲ −41.1% (bigger than without the signal)▲ −48.9% (bigger than without the signal)▲ −49.0% (bigger than without the signal)▲ −55.0% (bigger than without the signal)▲ −47.3% (bigger than without the signal)▲ −36.5% (bigger than without the signal)▼ −47.8% (smaller than without the signal)▲ −51.7% (bigger than without the signal)
Momentum long-short above its 50-day EMA▲ −37.1% (bigger than without the signal)▼ −42.0% (smaller than without the signal)▼ −41.6% (smaller than without the signal)▼ −45.5% (smaller than without the signal)▼ −44.9% (smaller than without the signal)−33.5% (about the same)▼ −40.3% (smaller than without the signal)▼ −42.2% (smaller than without the signal)

Return a year, by strategy

The momentum leaders themselves: each strategy’s return a year with each signal
SignalCore MomentumQuality MomentumWeekly Quality MomentumWeekly LeadersWeekly Full Stack (15)Broad Momentum 30Quality Momentum (every 2 weeks)Weekly Leaders (max 25%)
No signal29.4%53.4%60.2%77.8%72.9%22.4%58.6%56.6%
Narrow rally: SPY up 20 days but A/D line down → half out▼ 27.4% (lower than without the signal)▼ 49.1% (lower than without the signal)▼ 56.0% (lower than without the signal)▼ 71.9% (lower than without the signal)▼ 66.4% (lower than without the signal)▼ 20.3% (lower than without the signal)▼ 54.5% (lower than without the signal)▼ 52.0% (lower than without the signal)
Leaders: share above 50-day: half out below 50%, back above 60%▼ 23.7% (lower than without the signal)▼ 46.8% (lower than without the signal)▼ 53.0% (lower than without the signal)▼ 70.8% (lower than without the signal)▼ 65.2% (lower than without the signal)▼ 17.4% (lower than without the signal)▼ 51.9% (lower than without the signal)▼ 48.9% (lower than without the signal)
Leaders: over 20% at a 20-day low → out, back under 5%▼ 20.8% (lower than without the signal)▼ 41.1% (lower than without the signal)▼ 46.8% (lower than without the signal)▼ 65.7% (lower than without the signal)▼ 61.8% (lower than without the signal)▼ 14.9% (lower than without the signal)▼ 46.1% (lower than without the signal)▼ 42.0% (lower than without the signal)
Leaders: share above 50-day: out below 40%, back above 60%▼ 20.2% (lower than without the signal)▼ 41.9% (lower than without the signal)▼ 46.2% (lower than without the signal)▼ 62.2% (lower than without the signal)▼ 57.8% (lower than without the signal)▼ 14.6% (lower than without the signal)▼ 45.3% (lower than without the signal)▼ 41.2% (lower than without the signal)
Momentum long-short down 10% in 20 days → out, back when 20-day is positive▼ 21.8% (lower than without the signal)▼ 43.6% (lower than without the signal)▼ 43.6% (lower than without the signal)▼ 57.9% (lower than without the signal)▼ 54.5% (lower than without the signal)▼ 16.0% (lower than without the signal)▼ 45.6% (lower than without the signal)▼ 40.9% (lower than without the signal)
Momentum long-short above its 50-day EMA▼ 14.8% (lower than without the signal)▼ 32.0% (lower than without the signal)▼ 35.3% (lower than without the signal)▼ 46.0% (lower than without the signal)▼ 42.4% (lower than without the signal)▼ 11.1% (lower than without the signal)▼ 34.7% (lower than without the signal)▼ 32.5% (lower than without the signal)
How it was testedbacktests, every rebuild day averaged, 0.10% on every move

All figures are backtests. Each strategy’s daily value from November 2017 to September 2026 was rebuilt on every possible rebuild day (21 starting days for the monthly strategies, 10 for the two-weekly one, 5 for the weekly ones) and the results averaged, so no figure depends on one lucky day. Each signal was then applied day by day: when it fired, part or all of the money moved into T-bills earning BIL’s return, and every move paid 0.10%. The fixed T-bill splits (90/10, 80/20, 70/30 and 50/50) that set each strategy’s price of protection were built from the same daily values, rebalanced every day, and scored the same way; the price is the average of the four splits. The split map (100/0 down to 10/90) uses the same daily values, with the two parts set back to the target split on every trade day, paying 0.10% on the money moved, the way the split menu on each strategy’s page works, so its figures differ slightly from the daily-rebalanced splits. Because the figures are averaged over every rebuild day, they differ slightly from the single record shown on each strategy’s page.

When the trades are filled

How the site fills its trades

Each strategy makes its decision after the market closes on its rebuild day: the last trading day of the month for the monthly strategies, of every other week for the two-weekly one, and of the week for the weekly ones. It ranks the stocks using that day’s closing prices, so nothing is used that was not known at the time.

The trades are then filled at the next trading day’s closing price, usually a Monday for the weekly strategies. Every buy, sale and resize pays 0.10% of the amount traded. All figures on this site, and in the newsletter, use this method.

The test

Filling at the close of the next day leaves one full trading session between the decision and the trade. To see what that choice is worth, all eight strategies were re-run with exactly the same decisions on the same days, changing only when the trades are filled, from November 1, 2017 to September 21, 2026. As a check, the next-day close version reproduced the published engine to the cent.

Two alternatives were tested. Filling at the decision day’s own close (Friday’s close for the weekly strategies) is a day earlier than the site. It is a best case that cannot be matched exactly, because the decision needs the closing price; in practice it would mean deciding on prices shortly before the close. Filling at the next day’s opening price is what an investor placing orders before the market opens would get.

Return a year, filled at the next day’s close (as on this site), at the decision day’s own close, and at the next day’s open, November 2017 to September 2026
StrategyNext-day close (site)Same-day closeDifferenceNext-day openDifference
Broad Momentum 3023.4%24.1%+0.7 pts23.8%+0.4 pts
Core Momentum34.0%33.5%−0.5 pts33.8%−0.2 pts
Weekly Leaders (max 25%)65.7%61.3%−4.4 pts62.9%−2.8 pts
Quality Momentum (every 2 weeks)60.9%57.0%−4.0 pts56.8%−4.1 pts
Weekly Quality Momentum71.4%64.7%−6.6 pts65.7%−5.6 pts
Quality Momentum67.8%61.4%−6.4 pts62.2%−5.6 pts
Weekly Full Stack (15)83.7%75.5%−8.2 pts75.7%−8.1 pts
Weekly Leaders96.7%84.8%−11.9 pts86.1%−10.6 pts

Return a year, filled at the next day’s close (as on this site), at the decision day’s own close, and at the next day’s open, November 2017 to September 2026. Backtest results.

Return a year: same-day close minus next-day close
Return a year: same-day close minus next-day closeBroad Momentum 30+0.7%Core Momentum-0.5%Weekly Leaders (max 25%)-4.4%Quality Momentum (every 2 weeks)-4.0%Weekly Quality Momentum-6.6%Quality Momentum-6.4%Weekly Full Stack (15)-8.2%Weekly Leaders-11.9%
Show these numbers as a table
Return a year: same-day close minus next-day close
TestedReturn a year: same-day close minus next-day close
Broad Momentum 30+0.7%
Core Momentum-0.5%
Weekly Leaders (max 25%)-4.4%
Quality Momentum (every 2 weeks)-4.0%
Weekly Quality Momentum-6.6%
Quality Momentum-6.4%
Weekly Full Stack (15)-8.2%
Weekly Leaders-11.9%
Return a year: next-day open minus next-day close
Return a year: next-day open minus next-day closeBroad Momentum 30+0.4%Core Momentum-0.2%Weekly Leaders (max 25%)-2.8%Quality Momentum (every 2 weeks)-4.1%Weekly Quality Momentum-5.6%Quality Momentum-5.6%Weekly Full Stack (15)-8.1%Weekly Leaders-10.6%
Show these numbers as a table
Return a year: next-day open minus next-day close
TestedReturn a year: next-day open minus next-day close
Broad Momentum 30+0.4%
Core Momentum-0.2%
Weekly Leaders (max 25%)-2.8%
Quality Momentum (every 2 weeks)-4.1%
Weekly Quality Momentum-5.6%
Quality Momentum-5.6%
Weekly Full Stack (15)-8.1%
Weekly Leaders-10.6%

What it shows

What other research has found

This matches what academic research has found. A stock’s return over the past week or month tends to partly reverse in the short run, the “short-term reversal” effect. And for momentum stocks specifically, the gains tend to arrive overnight and to be partly given back during the trading day, as institutional investors trade against the trend in regular hours.

To match this site’s results, trade at the closing price on the trading day after each rebuild. Figures end on September 21, 2026, so they differ slightly from the live pages. All results are backtests and hypothetical.

What did not work

Read this with care

This is research for education. It is not investment advice, and nothing here is an offer to buy or sell any security. Past results, real or simulated, do not predict future results.