I will be short. I think that in small caps and microcaps we should have a counter of the total N/A that there are in ranking system for each stock in particular.
This is in order to exclude stocks with so much N/A in number or % in our rules, screeners etc.
The main sources of NAs are: negative net income, no analyst coverage, short history and/or no revenue. (Am I missing anything?) I've found it helpful to test how companies that fall in these categories perform in my ranking systems using the screener. Maybe that could solve your problem as well?
We also have the Sector/Industry issue where factors not relevant are coded as NA and thereby confused with missing. The Financial/Non-Financial divide where there are sector specific factors that are important for each.
You can get the counts of N/As for each stock by going to your ranking system, pressing the "Ranks" tab, and under "Columns" choosing "include composite & factor ranks." Just a warning, though: any nodes with zero weight will be counted as N/A in this column. If you want to exclude all stocks with too many N/As, download the result, sort by # NA's, and make a List that includes those stocks with too many. Let's say you call the list "toomanynas"; you can then put in your universe rules !InList("toomanynas"). That will exclude all those stocks from your universe.
Thanks for suggestion Yuval. I really appreciate it and is a nice way to see kind of transactions involved in a process. However this procedure is not practical from my point of view. With this strategy I will reach to simulate the impact of N/A in a certain strategy but how to implement that in a future live strategy...cause this list would be dinamic and changing. For this reason I suggest the enhancement.
Is there any fast way to see when we are simulating in a ranking system if one certain factor is plenty of N/A for the most part of stocks? @yuvaltaylor@marco
And how can we see how many stocks are in every decile or bucket in a certain ranking system?
In addition to seeing the average number of stocks per bucket over a given time period, I’d love to see how often a bucket is completely empty during rebalancing. These zero-stock weeks can distort the compounding calculation—especially in the middle of the rank performance test, where NAs (and the associated empty buckets) tend to cluster.
One option might be to impute the average or median return of the universe for any week when a bucket is empty—if dithering isn’t used to ensure a more even distribution across buckets. There are several straightforward ways this could be addressed.
From a modeling standpoint, the training data is biased as it stands. Imputing returns for empty buckets would go a long way toward reducing that bias.
If this were implemented, users like ScifoSpace (and myself) would likely feel more confident using features with a higher proportion of NAs. Personally, I might not even feel the need to check the NA count. It could also justify relaxing the NA threshold used in AI/ML pre-training workflows, since the impact of NAs would be greatly reduced.
Are your simulations improving doing that?cause can increase the "garbage" allowed to pass...on the other hand if the ranking system is robust garbage have been trimmed before...it s just a thought...I will give it a try
Try it and see. Depends on the rule. A stock having no analyst coverage might not necessarily mean it is garbage in my opinion. It also depends on how many buy rules you have. I have a lot so if a stock survives one rule but it is garbage it will likely get caught by another rule.