Should You Use Ranking in Your Strategy?
By Dave Mabe
Here's another excellent question from a reader, Radek R. (name used with permission, question edited lightly for readability)
Radek R.
I have been experimenting with the columns and filtering trades, and it seems to improve the strategy. However, since there are usually more trades than available slots, I am not sure how to select the ranking method
to decide which trades to take. The effect of PositionScore looks quite dramatic, so it would be great if there were a way to automatically select the best ones. Do you think this can be done without repeating the backtest each time?
From your podcast, I heard that you generate a lot of trades at the beginning and then narrow them down with filters. I tried something similar by setting MaxOpenPositions to a high number, allowing me to capture all trades.
My concern is that when I later reduce it to the target number of slots, the columns may no longer be predictive. I would really appreciate your view on this.
Dave:
Let's define rank and what it means in this context. You have a system with more trades than your buying power can handle. Instead of taking all the trades or the first X trades until you run out of buying power, you decide to rank the top X trades by day by some factor and then take those.
I've tried using rank as a way to filter trades in a system, but I always abandon it because it increases complexity, ultimately based on a variable that changes over time: your account size.
First of all, the trades in a system don't care about their relative ranking to one another, so I've always felt a rank used in this way is arbitrary.
Because of that, it doesn't provide a true path to confidence in your system.
Secondly, your account size will change over time. Making decisions about your strategy that rely so much on your account size means you'll be reoptimizing periodically for an arbitrary reason (remember: the market doesn't care about your account size or your feelings.)
Using rank like this is a form of premature optimization.
I prefer to remove any arbitrary constraints and have my backtests assume unlimited buying power. (That is the first step I take before running any backtest.)
That way, you're set up to optimize your trading system for whatever your account size grows to. (And if you're doing this right, your account will be growing a lot.)
If and when you run out of buying power, dig in and figure out at that point how to adjust your system to account for it.
Using rank is trying to address that issue as you optimize, which is the wrong time.
Keep it simple!
Great question, Radek! Thanks for sharing with the group!
-Dave
P.S. Do you have periods of trading success, only to see your strategy give it back? What would it look like to get rid of the biggest losing trades from your strategy?
With MabeKit, you can.