Devs: middling factors

If you want to keep NAs neutral you should really use Abs(55 - FRank("CapExGr%5Y",#all,#desc,#exclna). Without that, the NAs will always get very low scores.

There's also an alternative method, but it's time consuming. Add three lines to a screen: CapExGr%5Y <> NA, Between (FRank ("CapExGr%5Y", #previous), 90, 100), and showvar(@medcapexgr,fmedian("CapExGr%5Y",#previous)). Backtest it, jot down the results for the showvar and the backtest results, change the between line to 80, 90, then 70, 80 and so on, and create a scatterplot chart with the showvar results and the backtest results. Find a polynomial curve that fits and use that formula, with higher better, as your ranking formula.

There are advantages and disadvantages to both methods. It depends on whether you believe that there is an optimal level of capex growth (say 5%) or whether you think the optimal thing to do is to find companies with middling capex. Capex growth has a pretty normal distribution, but there are other factors with very different distributions. If, for instance, you find a factor whose 90th percentile performance is absolutely horrible but whose 10th percentile performance isn't that bad and whose optimal performance is around the 50th percentile, using ABS(50-x) isn't going to be as good a formula as using a polynomial trend line. You can also combine the two approaches by ignoring the showvar and using 95, 85, 75, 65, and so on in the left column with the backtest results in the right when coming up with your polynomial formula.

2 Likes