How to Focus on Stocks within Sectors with the highest XXX

Hi,

I’m aiming to zero in on sectors or industries with the highest long-term growth potential or upward earnings revisions. After identifying these, I’d like to apply a ranking system to them.

Does anyone have any advice or suggestions on how to approach this?

Thanks a lot!

One way is to include a rule in your universe limiting yourself to industries with high, say, upward earnings revisions. The rule could be: FRank ("Aggregate (`TotRevisions4W`,#industry)", #all, #desc) > 75. You can then apply a ranking system to the stocks in this universe.

Thank you. I wasn't aware of this feature. However, I continue to get a syntax error with no matter how I adjust this formula. Does it work for you in the screener or universe sections?

Yes, it works as a rule in my universe or screen. Are you copying it exactly? It's important to use ` instead of ' and to not use curly quotes. The diagonal single quote is usually found to the left of 1 and under the esc key.

I missed the Frank when copying over and when added, missing the ")". Thanks for confirming, and I apologize for that. Now, I need help with studying custom universes of standard factors like quality, value, momentum, etc.

I want to see if AI can identify the top-performing stocks among the cheapest ones. However, custom universes don’t support rating and ranking, which are essential for a comprehensive view of value, for example. Do you know of any workaround for this?

Thank you very much.

Custom universes do support ranking by using FRank. If you want a more composite ranking, you can add FRanks. For example, if you want the top 1/4 stocks according to earnings yield, free cash flow yield, and dividend yield, you can use FRank (`FRank ("EarnYield") + FRank ("FCFYield") + FRank ("Yield")`) > 75. If you want to weight those factors, simply add weights, e.g. FRank (`0.5 * FRank ("EarnYield") + 0.25 * FRank ("FCFYield") + 0.25 * FRank ("Yield")`) > 75 The stocks this produces should be more or less the same as those produced by a ranking system with three nodes weighted accordingly, with N/As negative. If you want N/As more or less neutral, use Eval (EarnYield = NA, 50, FRank ("EarnYield")).

1 Like