A Data Science Central Community
This pattern was found on recent price activity for the 500 stocks that are part of the S&P 500 index. For each day between 4/24 and 5/23, I looked at companies that experienced the most extreme returns - among these 500 companies - comparing today with yesterday close.
Then I looked at the daily performance the following day (again comparing day-to-day close prices), for companies who ranked either #1 or #500 today. Companies that ranked #1 today also experienced (on average) a boost in stock price the next day. The boost was more substantial for companies experiencing a 7.5% (or more) price increase today. And the return boost on the next day was statistically significant, and quite large. So big indeed, that the total (non compound) return based on this predictive signal would have been 20% over 30 days, vs. 4.5% for the overall performance of the S&P 500 index itself.
By statistically significant, I mean that
The return the following day, for these companies, was positive 15 times out of 20.
Stock trading advice and caveats
These numbers were computed on a small time period, and it happened during a growth (bull market) period. However, I believe that
Sometimes, when a pattern stops working because of over-use, reversing the strategy (swapping buy and sell, e.g. after one week with 5 very bad daily returns) allows you to continue enjoying good return for a few more weeks, until once again you need to reverse the strategy, creating consecutive, periodic cycles where either the strategy or the reverse strategy is used. Indeed I would expect this pattern not to work anymore by the time you read this article, as everyone will try to exploit it. But maybe the reverse strategy will work!
Strategy reversal to continue enjoying good returns over a longer time period
You might be able to further increase the return by considering smaller time windows for buy/sell: intraday, or even high frequency, rather than one buy/sell cycle per day. However, the return on a smaller time window is usually smaller, and the profit can more easily be eaten by
Note that by focusing on the S&P 500, we are eliminating much of the stock market volatility. We also work with very liquid, fluid stocks: this reduces the risk of being victim of manipulations, and guarantees that our buy/sell transactions can be achieved at the desired price. You can narrow down on stocks with price above $10 to stay in an even more robust, predictable environment. You can also check whether looking at extreme daily returns per business category might increase the lift. The s&p 500 data is broken down into about 10 main categories.
It is a good idea to do some simulations where you introduce a bit of noise in your data, to check how sensitive your algorithm is to price variations. Also, you should not just rely on back testing, but also do walk forward to check whether a strategy will work in the future. This amounts to performing sound cross-validation before actually using the strategy. We will soon publish a new coefficient, much more robust than metrics that are currently used, to measure the power of any predictive system, to help you better identify the best strategies.
How to get stock price data?
You can get months of daily prices at once for all the five hundred S&P 500 stocks, from StockHistoricalData. You need to provide the list of all 500 stocks in question. That list, with stock symbols and business category for each S&P 500 company, is available in our spreadsheet as well as on Wikipedia.
On a different note, can you sell stock price forecast to stock traders? How would you price these forecasts? What would you do with unhappy clients aggressively asking refunds when your forecast fail?