SIGNAL TESTING
Does buying fear actually work?
Two gauges claim to spot the moments when fear is a buying opportunity: CNN’s Fear & Greed Index and our own BATS score. We ran the same tests on both, over the same 15+ years of S&P 500 history, and put the results side by side. Every rule we ran is on this page, including the ones that lost.
The short answer
Five questions, each answered for both gauges. The last column says who did better. The rest of the page shows the working behind each row.
| Question | CNN Fear & Greed | BATS | Yardstick | Better |
|---|---|---|---|---|
| Loading backtest… | ||||
Test 1 — What happened after a low reading
The simplest test, with no selling and no rules. Take every day a gauge was low and look at where the S&P 500 stood later. If a gauge is any good, stocks should have done better than usual after its low readings.
| Which readings | CNN Fear & Greed | BATS | Gap |
|---|
The amber tick on each bar is what the S&P 500 did after any ordinary day. A bar that reaches past the tick beat an ordinary day.
And after a high reading? Did stocks do worse?
This is the reverse question. If a high reading were a reason to sell, stocks should have done worse than usual afterwards. So compare each number with the ordinary day in the bottom row. A number below it means the warning came true. A number at or above it means there was no warning at all.
| Which readings | CNN Fear & Greed | BATS | Did it warn? |
|---|
Show every zone of each gauge
CNN Fear & Greed, zone by zone
For every day CNN was in the zone, the average S&P 500 change afterwards. The small percentage is how often the S&P 500 was higher.
| Zone | Days | 1W | 1M | 3M | 6M | 12M |
|---|
BATS, zone by zone
The same test with the eight zones from the main BATS gauge. The two lowest zones are rare, so treat their numbers with care.
| Zone | Days | 1W | 1M | 3M | 6M | 12M |
|---|
Day counts are lower than on the home page because this test only covers the years where CNN data exists. BATS’s own history starts earlier.
Test 2 — Trading rules, side by side
Now turn each gauge into a rule that buys and sells, and compare it with simply holding. Each rule below is run twice, once on each gauge, so the two columns are always the same idea.
How a rule can win its trades and still earn less. A rule only earns while it is invested, and these rules sit in cash most of the time. So read the rows in two groups.
“Trades won” and “average gain per trade” tell you how good the signal was. “$1 grew to” tells you how the whole plan did, waiting time included. A gauge can win the first group and lose the second.
“Gain per year while invested” joins the two. It asks how fast the money grew during the time it was actually in stocks, which is the fair way to compare a rule that is invested half the time with one that is invested a fifth of the time.
| CNN Fear & Greed | BATS | Buy and hold |
|---|
Growth of $1 since 2011. Flat stretches are time spent in cash.
Does it help when both gauges agree?
Days are split three ways: both gauges in their buy zone at once, only CNN, and only BATS. The numbers are the S&P 500’s average change afterwards, with how often it was higher.
Other rules we tested
Variations on the same ideas, plus a plain trend rule that uses neither gauge. Buy and hold is the first row for comparison.
| Rule | $1 grew to | Per year | Time invested | Trades | Won | Avg gain per trade | Worst drop |
|---|
MACD crossover signals
The buy and sell signals on the Divergences page, run against S&P 500 history: buy when the MACD line (12, 26) crosses above its 9-period signal line after at least 10 closed bars below it, sell on the mirror-image cross after at least 10 bars above. The position changes at the close of the bar the cross is first visible on, which is the same information as acting at the next bar’s open. Three variants sit alongside it: the same cross with no 10-bar minimum, the 10-bar rule with a 200-day trend filter, and the 10-bar rule on weekly bars.
| Variant | CAGR | vs Buy & Hold | Max drawdown | Trades | Win rate | Avg trade | Avg hold |
|---|
Last 12 daily signals — 10-bar rule
| Buy | Sell | Entry | Exit | Return | Days held |
|---|
Show every rule in one table, with all the growth curves
Every rule on this page, on the same trading days. Nothing is left out.
| Rule | $1 grew to | Per year | Time invested | Trades | Won | Avg gain per trade | Worst drop |
|---|
Growth of $1 for every rule. Click a name to hide or show its line.