The Test Bench › Moving averages › Golden cross › Study 017

Does the Golden Cross Work? Golden and Death Crosses Tested on S&P 500 Stocks

Does a golden cross predict a rally, and a death cross a fall? We tested 12,653 signals across 483 S&P 500 stocks, 2006 to September 2026, over the next 100 trading days (about five months).

STUDY 017

The short answer

After a golden cross in a stock above its 200-day average, the stock rose a median 4.3% over the next 100 trading days, 0.17 percentage points less than on an ordinary day.

After a death cross in a stock below its 200-day average, the stock rose a median 5.3%, 0.07 percentage points less than on an ordinary day.

The largest estimated gap in the four comparisons, in either direction, was 1.20 percentage points; none met our test for a clear difference.

In this test, a golden cross or a death cross showed no clear difference from ordinary days over the next 100 trading days; that is not proof that there is none.

Golden cross: no clear difference from ordinary daysA golden cross is the day the 50-day moving average rises above the 200-day. Many traders read it as a sign of a new uptrend.In stocks above their 200-day average, the next 100 days were 0.17 percentage points worse than ordinary days (not clear).On these stocks, a golden cross did not reliably predict stronger returns over the next 100 days.
Death cross: no clear difference from ordinary daysA death cross is the day the 50-day average falls below the 200-day, read by many traders as a sign of a downtrend.In stocks below their 200-day average, the next 100 days were 0.07 percentage points worse than ordinary days (not clear).On these stocks, a death cross did not reliably predict weaker returns over the next 100 days.
Volatility fell after crosses above the 200-day average, not below itVolatility is how much the price moves from day to day.In stocks above their 200-day average, volatility over the 60 trading days after the signal, against the 60 before, fell 10% after a golden cross and 9% after a death cross, against no change on ordinary days. In stocks below it, it stayed about the same after a death cross, against 5% lower on ordinary days (added after the main results).Volatility measures how much the price moved; it says nothing about which way, and the returns above were no different from ordinary days.

Worked examples and how traders use it: the golden cross explained. The same test for the 200-day average and the 9/21 EMA. Moving-average rules compared as trading strategies: the moving average backtest. The whole series: moving average trading explained.

An event study: it measures what followed each signal. No entry, exit, position size or trading cost is simulated; the backtest of these rules is a separate study. The stocks are today’s S&P 500 members, so companies that failed along the way are missing (survivorship bias).

Read the full study ↓

Full research: method, results and limitations

Every table and assumption behind the summary above

After a golden cross

Calm and volatile compare each stock’s volatility with its own whole-period median, a label that uses hindsight. Over the 200 trading days before the signal, stocks above their 200-day average had moved a median +0.7% to +3.9%, depending on the volatility state. Over the next 100 days they rose a median 4.3%, against +4.5% on an ordinary day; the gap was not clear.

After a death cross

Over the 200 trading days before the signal, stocks below their 200-day average had moved a median −2.7% to +1.8%, depending on the volatility state. Over the next 100 days they rose a median 5.3%, against +5.4% on an ordinary day; the gap was not clear.

Interpretation

The lines stay close to zero: in this test, the signals were not followed by a clear difference from ordinary days over the next 100 days.

The direction of the 200-day average

A check set in advance, from a published claim: SentimenTrader (19 April 2016) reported that on the S&P 500 index, longer-term returns after a golden cross were better when the 200-day average was still falling (lower than five days earlier). We tested the idea on single stocks, with the direction read over 20 trading days, set in advance. Here the comparison is with all ordinary days of the same stocks, and it rests on the main interval only, without the robustness reruns.

After golden crosses with a falling 200-day average, the next 100 days were +0.89 points against ordinary days (−1.45 to +3.43); with a rising one, −1.54 points (−2.99 to −0.29). The order matches SentimenTrader’s finding on the index, but the two intervals overlap, so the test cannot rank them. Only the rising-average interval excludes zero, and only on the main interval.

Volatility and trend around the signal

We added this check after reading the main results, so treat it as a pattern to test again on new data, not a confirmed edge. It asks whether the signal marks a change in how much the price moves, or the start of a steadier trend; it measures no trading profit, and the return comparison above remains the main test. Same stocks, years and signals; the comparison is again with ordinary days of the same stocks on the same side of the 200-day average. The measure is a ratio: volatility (the standard deviation of daily returns) over the 60 trading days after a signal or an ordinary day, divided by the same over the 60 days before; the figures are medians of that ratio, and 1.00 means no change. The chart shows the path on a different scale, 20-day volatility against the stock’s usual level.

Over the 60 trading days after a golden cross in a stock above its 200-day average, volatility was 10% lower than over the 60 before (a median ratio of 0.90), against 1.00 on ordinary days: a difference in the ratio of −0.10 (−0.14 to −0.07), clear under every block length. It fell after 63% of these 5,700 signals, against 49% of ordinary days; and in 403 of the 482 stocks with at least one such signal, the stock’s median ratio after the signal was below its median on its own ordinary days. After a death cross in a stock below its 200-day average, the median ratio was 1.00 against 0.95: +0.04 (+0.01 to +0.08), clear under every block length.

Trendiness compares the net price change over the window with the total distance the price travelled, the sum of its daily moves: near 1, the price moved mainly one way; near 0, back and forth. It shows whether a trend followed. Before a golden cross it was 0.161 against 0.122 on ordinary days (clear under every block length); after it, 0.120 against 0.117 (not clear). Before a death cross, 0.161 against 0.108 (clear under every block length); after it, 0.119 against 0.116 (not clear).

The two other cells answer whether the side of the 200-day average or the direction of the signal drove this. After a golden cross in a stock below its 200-day average, the median ratio was 1.00, against 0.95 on ordinary days (not clear, 537 signals); after a death cross in a stock above it, 0.91 against 1.00 (clear under every block length). Here the side of the 200-day average mattered more than the direction of the cross.

One possible explanation: a stock above its 200-day average is usually in a calmer phase, and a cross there comes at the end of a short swing that then settles; below the average, the turbulence of the decline goes on. The test does not isolate it. It measures how much the price moved; which way it moved is the subject of the results above.

Compared with published tests

Bespoke Investment Group (25 April 2016) reported that, for many stocks and indices, the back-tested returns after a golden cross were unremarkable. In our test, in stocks above their 200-day average the next 100 days were not clearly different from ordinary days.

On the S&P 500 index itself, Arthur Hill at StockCharts (June 2016) found that holding the index only while its 50-day average was above the 200-day returned 8.48% a year from 1991 to 2015, against 7.55% for buying and holding, mostly by stepping aside in bear markets. That is a trading rule on one index; Study 020 runs it on SPY and on these stocks.

How we tested it

Question: after a golden cross or a death cross, does the stock’s median return over the next 100 trading days differ from ordinary days for the same stocks on the same side of the 200-day average?

PartDefinition
IndicatorsThe 50-day and 200-day simple moving averages of the daily close (the app’s SMA50 and SMA200)
Golden crossThe first close on which the 50-day average is above the 200-day, after a close below it
Death crossThe first close on which the 50-day average is below the 200-day, after a close above it
MeasuredFrom the signal day’s close, over the next 100 trading days (about five months)
Compared withEvery eligible day of the same stocks on the same side of the 200-day average
Stocks483 current S&P 500 members, 2006 to September 2026, price returns

The design was set on 15 October 2026 in our internal study record, before any return was read. The stocks, data and years are those of our RSI studies, so the series can be compared on one data set.

The 12,653 signals are not 12,653 independent observations: signals repeat in the same stock, the 100-day windows overlap, and stocks move together. The 95% intervals come from a calendar-block bootstrap that resamples whole stretches of the calendar (2,000 resamples), rerun with several block lengths and designs. A gap is called clear when every interval excluded zero on the same side: our own rule, stricter than a single test, and not proof that a gap will persist in future data. The four comparisons are not adjusted for being tested together, so one clear result among them would be weaker evidence than it looks. At a 100-day horizon the longest blocks leave fewer than 30 in twenty years, so those reruns are rough. Signal days are part of the ordinary-day pool, as in the app’s event study: the comparison is with every eligible day, signals included. Leaving the signal days out of the pool moves each comparison by 0.001 percentage points or less, a small fraction of every interval’s width.

Survivorship bias. This is not the historical index. It is today’s S&P 500 members projected backwards, so companies that failed or left the index after a deep fall are missing. How the bias works and how to avoid it: survivorship bias in backtesting.

Limitations

How to reproduce this

In the Events panel, add a Signal “SMA50 ↑ crosses above SMA200” (both are default columns), wired into EVENT (the block that marks the event days). Choose 1d · Daily, set the horizon to 100 and the Trend to > SMA200, and run it on your own stocks. For the death cross use “↓ crosses below” with the Trend at < SMA200. For the slope check, add a custom SMA with Period 200 and Bars back 20 (the 200-day average as it stood 20 days earlier): “SMA200 > your SMA” means the 200-day average is rising.

Appendix

All results

SignalStocksSignal daysMedian 100-day returnOrdinary daysDifference95% intervalResult
Golden crossAbove 200-day5,772+4.31%+4.48%−0.17 points−1.65 to +0.95not clear
Golden crossBelow 200-day544+6.61%+5.41%+1.20 points−2.53 to +3.84not clear
Death crossAbove 200-day833+4.75%+4.48%+0.27 points−1.37 to +2.08not clear
Death crossBelow 200-day5,504+5.34%+5.41%−0.07 points−1.77 to +1.58not clear

Secondary checks, set in advance

After 50 daysAbove the 200-day averageBelow it
Golden cross−0.23 points (−0.77 to +0.43)+0.50 points (−1.81 to +2.80)
Death cross+0.94 points (−0.45 to +2.12)+0.55 points (−0.44 to +1.46)

Main (63-day) intervals only: these checks were not rerun under the other settings and are not adjusted for being tested together, so an interval here that excludes zero is weaker evidence than a clear result.

Volatility and trend around the signal (added after the main results)

SignalSignal daysVolatility, next 60 ÷ previous 60 daysOrdinary daysDifference95% intervalResult
Golden cross · above 200-day5,7000.9021.005−0.10−0.14 to −0.07clear
Golden cross · below 200-day5371.0030.955+0.05−0.03 to +0.12not clear
Death cross · above 200-day8380.9131.005−0.09−0.12 to −0.06clear
Death cross · below 200-day5,5030.9960.955+0.04+0.01 to +0.08clear
SignalTrendiness, previous 60 daysOrdinary daysResultTrendiness, next 60 daysOrdinary daysResult
Golden cross0.1610.122clear0.1200.117not clear
Death cross0.1610.108clear0.1190.116not clear

Intervals: calendar-block bootstrap over trading dates, blocks of 21, 63, 126, 252 days, 2000 resamples each; the interval shown is the 63-day one.

Volatility split (set in advance; the label uses hindsight)

SignalStateSignal daysDifference95% interval
Golden crossAbove 200-day · calm3,384−0.40 points−1.44 to +0.53
Golden crossAbove 200-day · volatile2,388−0.19 points−3.05 to +2.38
Golden crossBelow 200-day · calm219+1.09 points−2.05 to +3.70
Golden crossBelow 200-day · volatile325+2.08 points−4.03 to +7.67
Death crossAbove 200-day · calm465+0.91 points−0.93 to +3.25
Death crossAbove 200-day · volatile368−1.15 points−3.59 to +2.06
Death crossBelow 200-day · calm1,731+0.85 points−0.73 to +1.92
Death crossBelow 200-day · volatile3,773−0.60 points−2.87 to +1.78

Using this research. The analysis, tables and figures on this page are GU Analyser Ltd’s own work, published under a Creative Commons BY-NC 4.0 licence. You are welcome to quote it, cite it and build on it, with credit and a link. Suggested credit: GU Analyser, The Test Bench, Study 017, linking to guanalyser.com/test-bench/golden-cross-death-cross/. For commercial use, ask us at hello@guanalyser.com.

Rebuild the test

Build the crossover in the Events panel from the default 50-day and 200-day averages, set the trend precondition and the horizon, and measure what followed it on your own stocks.

Create a free account and run your own tests → or read how the SMA is calculated →

The method: how an event study works

These are historical analyses. They are neither advice nor forecasts. They describe what happened on past data under stated, simplified assumptions. Past results do not prove what will happen next, and nothing in the Test Bench is a recommendation to buy or sell an investment. GU Analyser is an analytical and educational tool — no money is ever traded here.