Revised M-Score

I read and tested Yuvals blog post about M-Score. When I screen the universe I trade with the screener Yuval made, the revised M-Score seems to filter out more bad apples than the original M-Score, very impressed.

If I want to trythe revised M-Score in a simulation, what is the best approach?

Still trying to learn all the tricks of this platform :slight_smile:

2 Likes

You can use the text editor to copy and paste screen rules in the buy rules of a simulation, but change ShowVar to SetVar; or you can do the same in a universe which you can then use in a simulation. Just be sure to put some sort of limit on @RevisedMScore, e.g. add a rule like @RevisedMScore < 1.61

Thank you, that works.

In the screener I can use FRank, ex. frank(β€œ@RevisedMScore”)>97

but I get a fault message when simulating, is there a workaround for that?

Odd that you can’t use a temporary variable in FRank in a simulation but you can in a screen . . .

The workaround is to use custom formulas instead of temporary variables.

1 Like

Amazing work @yuvaltaylor I was reading and one question was arising on my mind. Do you think that the Revised Version could work properly in MicroCap environment and Europe for example? Or do you see any limitiations?

Thanks in advance

Thanks for sharing. I had been thinking about modifying Beneish a little due to some disagreements. I will read more on this and try it this week. @yuvaltaylor :raised_hands:t3:

I use it all the time for microcaps and in Europe too. What I do is I look at the maximum revised Beneish score over the last three years. For some ranking systems I have an upper limit of 3.0, for others an upper limit of 3.9, for others somewhere in between. Any stock that exceeds the limit, I don't touch (for long positions, of course).

1 Like

And do you get better results putting it in the buy rules or in Universe for example?

I don't know. I moved the rules to my universes recently.

2 Likes

Which formula do you use to take maximum revised Beneish score over the last three years?

I have a custom formula for that. Let's say you call your revised Beneish score $fraudscore. Then the formula would be something alone the lines of Max ($fraudscore, FHist ("$fraudscore", 26), FHist ("$fraudscore", 52), FHist ("$fraudscore", 78), FHist ("$fraudscore", 104), FHist ("$fraudscore", 156)). You could sample more or less frequently if you want.

1 Like

Thanks so much for the inputs. I will try to test it in my models.

Something like this should work too FHistMax("$fraudscore", 12, 13)

3 Likes