Thanks, Jim. There are some good ways to integrate ranking-system stock-picking with the subtraction of transaction costs from the expected returns. This has been a large focus of my research and trading in the past year. I tried to get at this in my latest blog post. Essentially you match your position weight to the rank-and-transaction-cost-based expected return by creating a rank-based or rankpos-based formula and then multiplying that by (r - c) / r where r is the expected return of an average stock and c is the formula for the round-trip transaction cost. For the actual purchase of stocks you use a buy rule that does something similar: FOrder(“rank-based formula for expected return - transaction cost”) <= x, where you want to buy the top x stocks.
I love ranking systems, but I am looking forward to also trying a ML-based non-rank-based system for stock-picking based on a return prediction algorithm. I realize that ranking isn’t the only game in town, but I prefer to wait for P123 to roll out its machine-learning interface before exploring it on my own.
Also, I have been pushing P123 to implement formula-based slippage, where users will be able to input their own formulas for slippage in place of the variable slippage formula. This has the potential to improve backtesting a great deal.