Yuval,
More of a refinement of ranking methods than a substitution for using ranks. You could sort the predicted returns of any model (using machine learning or whatever). Then use the sorted returns to create a rank. A rank where a stock with a rank of 100 has the largest predicted returns over the rebalance period and a rank of 0 has the smallest predicted returns (probably a negative number).
Perhaps this is what P123 will be doing to create a rank with AI/ML but yāall are pretty secretive and we have never had any interaction with your AI expert in the forum.
Anyway, you could then predict the transaction costs for selling the lowest-ranked stock you are holding and buying the highest ranked stock you do not hold. Going ahead and making the trade if and only if: (the predicted returns of the purchased stock over the rebalance period) - (predicted return of the lowest-ranking held stock) - (transaction costs for making the trade) is greater than zero āgiving you a positive net expected value for the trade. Or set a threshold above zero for this equation before making a trade
Your posts make me think you are probably doing some of this already by looking at the slippage. Your calculations could be made more exact by using the predicted returns in your calculations.
The data will be pretty noisy but if there is little bias in the data it should be a modest improvement over just using ranks in a heuristic way based on backtests. Using ranks or RankPos does workāon averageāin backtests using inexact slippage data and no information on the expected or predicted returns. This new method would incorporate a little more information including how well the ticker is expected to do and a more exact slippage calculations (which you already use I think).
Even if you were to make no changes from what you are doing now, you could probably run a machine learning algorithm alongside of what you are doing and make a quick calculation of whether there is a positive expected value in making the trade. Especially, if you are already doing slippage calculations.
Maybe just red-flag some transactions. Like not selling a stock to buy a stock with RankPos 15 with low liquidity. I.e., not a higher-ranked stock with a greater predicted return and incurring a high transaction cost.
Applying this methodology could prove particularly insightful for managing large Volume Weighted Average Price (VWAP) transactions, potentially mitigating the adverse market impact of trades executed towards the dayās end that do not contribute net positive value. In other words not making trades at the end of that day that you calculate would have little positive expected value due to the market impact of your trades earlier in the day. Making a smaller VWAP order in the morning or closing the VWAP order later in the day based on the market impact you have seen during the day. You could calculate when or if you might want to close a VWAP trade. You could even do the calculation of when you might want to consider closing a VWAP order proactively in the morning.
Not sure this helps. Just an idea that loosely addresses your question of how machine learning could add to (but not replace) using ranking systems.
BTW, I donāt see this as an answer to how do Prado might make trade. He seems to use more technical time-series data and likes to classify the trades using his ātriple-barrierā approachāas you point out.
Jim