Pick a stock. Backcast goes back over its last two years of trading days, asks {{ rivals|apnumber }} models to forecast from each one using only the prices before it, and checks whether any of them did better than the simplest guess there is: the price later will be the price now.
{{ error|default:'' }}
Or start with {% for example in examples %}{{ example }}{% if not forloop.last %}, {% endif %}{% endfor %}.
On each of the last {{ origins }} trading days, every model sees the prices up to that day and forecasts the close 1, 5 or 20 trading days later. The forecast is scored against a price the model never saw, and nothing is tuned on the test period, so the error is the one you would have had at the time.
A model can win on average and still just be lucky, and the more models you try, the likelier that gets. Hansen's SPA test allows for both. The method page covers the rest.
Across 498 stocks in the S&P 500, no model beat naive by enough to matter. The findings have the numbers and the data.