Cool algo Louis. I'm thinking about including consensus earnings estimate data to the algo to see if I can improve on your performance. Building on your hypothesis, companies with bigger earnings misses relative to consensus should see a more negative impact. However, if the miss was driven by one-time items, perhaps it would bounce back quicker.
It looks like the Morningstar Fundemtal data captures unusual items, anyone know of a good 'free' data source for consensus earnings estimate data? Yahoo has it, perhpas someone has some code to scape it historically?