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:

Stuttering around 70th percentile

Is there a smarter way to do this?

  • 3
    $\begingroup$ How about not liquidating entirely but only selling proportional to how far you are from entering the top 30%? And likewise for buying. $\endgroup$ Jan 6 '18 at 16:14
  • 1
    $\begingroup$ There could be two thresholds instead of one. When a stock that you don't own has a score that is 30% or less you buy it, but for a stock you already own, you don't sell it until it is 40% or more. This gives you a 10% "buffer" area. $\endgroup$
    – Alex C
    Jan 6 '18 at 18:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.