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