Get a more buy-driven strategy? - Screen backtest

In the screen backtest, a rebalance happens after the time specified in “Rebalance Frequency,” and a stock is replaced if the “Rank Tolerance” limit is exceeded.

Is it possible to use rules that, for example, result in only switching to new stocks if the rank of new stocks is “rank > 90,” so that the strategy is not driven by the fact that a stock must be sold in order to switch, but that the stock with a lower rating is switched because a better stock has arrived?

Buy-driven strategies are not possible in screens. But you can do a pretty neat approximation of a buy-driven strategy in a simulation. It’s not perfect, but it’s here: https://www.portfolio123.com/performance.jsp?portid=1652284.

If you look at the charts, you’ll see that it always holds between 15 and 17 stocks and that it’s very close to 100% invested. But there is a little more variation here than in your normal simulation.

Take a look at the Trading System. The key elements are as follows:

  • Leverage less than one (0.9). This is so that there’s a slight cash buffer, since otherwise this simulation will tend to go into the red without it.
  • Formula weight rebalancing. This is so that the number of positions is a little flexible. The simulation won’t really work without this.
  • Position weight formula = 1. This keeps all buys at the same proportion.
  • Allow 100% deviation for exposure after rebalance. This means you fill up the holdings with the number of stocks you want. Notice that this simulation only holds 15 stocks at a time but that I’m allowing for 100 stocks in the ideal number of positions. This allows you to ALWAYS buy the top 6 stocks, no matter how many you’re holding.
  • Sell rule is PosCnt > n and RankPos > n, where n is the ideal number of positions. This gets you to sell any excess stocks.

We are planning to offer buy-driven simulations in the future, but in the meantime, this is as close as I can get.