How we test.
Every chart follows the same rules. This page is the fine print, kept off the charts on purpose.
The rules
- Every idea is compared with the S&P 500 (SPY) or the Dow (DIA) over the same window, dividends included.
- Daily closes, long only, no leverage. Cash earns nothing.
- Rebalancing happens on the first trading day of January unless the rule says otherwise.
- Trading costs of 0.1% per side are charged on every trade.
- Rankings only use data available before the rebalance date.
- Everything is recomputed automatically every week. Numbers move; the rules don't.
Where the data is weak
Prices come from Yahoo Finance. S&P 500 membership is rebuilt from Wikipedia's add and remove history, so companies that were later dropped are candidates up to the day they left. Yahoo has no history for many delisted names, mostly bankruptcies and buyouts, so those are missing. This makes strategies that pick individual stocks look a little better than they really were. A sanity check, buying every stock in our reconstructed universe equally, lands close to the real equal-weight S&P 500 ETF, which is why we publish the charts at all.
Notes by idea
- Buy Last Year's Losers, Chase Last Year's Winners, Own the 10 Biggest: Includes stocks later dropped from the S&P 500 where price history exists (138 of 345). The rest are missing, which can flatter momentum-style ideas.
- Buy Last Year's Losers: Survivorship works against this idea: a stock that fell so far it was deleted from the index (or went to zero) may not appear here, flattering the results. Treat as illustrative.
- Buy Last Year's Losers: 189 universe tickers could not be loaded and were dropped.
- Chase Last Year's Winners: 189 universe tickers could not be loaded and were dropped (survivorship note).
- Own the 10 Biggest: Market cap uses CURRENT shares outstanding at every historical rebalance (yfinance does not serve point-in-time share counts), so the 'biggest' list is tilted toward today's mega-caps. Treat as a size proxy, not the index's own point-in-time ranking.
- Own the 10 Biggest: Shares-outstanding data was missing for many names, so the '10 biggest' were approximated by share PRICE rank for some or all years. This is a rough proxy for market cap.
- Own the 10 Biggest: 189 universe tickers could not be loaded from yfinance and were dropped (survivorship note).
- Missing the Best (and Worst) Days: This is illustrative: nobody can systematically avoid only the worst days or only miss the best. The best and worst days cluster together, usually during volatile periods.
- Sell in May and Go Away: Cash earns 0% here; a real 'cash' position would earn short-term interest, which would help this seasonal strategy in high-rate years.
- Dogs of the Dow: Dividend yield is estimated from trailing 12-month dividends over price; small timing differences vs the exact index-date yield are possible.
- Dogs of the Dow: Dow 30 membership uses the current constituents for all years (no historical Dow reconstruction), so older years carry mild look-ahead in the candidate set.
- The Magnificent 7: This is the definition of hindsight: the “Magnificent 7” label was applied AFTER these names had already won. Picking them in 2015 would have required foresight nobody had.
- The 200-Day Line: Cash earns 0% here; real cash would earn short-term interest, helping the strategy in high-rate stretches. Signals are read at each prior month-end, so there is no look-ahead.
Raw numbers for every idea: JSON API. Educational only, not investment advice.