I am running a stock trading system based on traditional factors (value, momentum, etc). I generate a combined factor score for each stock on every day at the close, and at the open of the next day, I trade to hold positions in the top 30% absolute value scores (long the most positive 15%, and short the most negative 15%).
Currently, if a stock drops out of the top 30% strongest absolute scores, I liquidate the position. Then if it re-enters, I have to trade back into the whole position. The result is that there's a lot of trading activity around the 70th percentile:
Is there a smarter way to do this?