Strange Factor Results

I have been testing a number of different ranking systems/simulations and can’t explain why similar factors give different ranking results.

For example, these two factors give a different ranking:

Book2Price: BookVal(0, QTR , KEEPNA )/SharesFD(0, QTR)/close(0), Higher Values

Pr2BookQ: inbuilt factor, Lower Values

These two factors are just the inverse of each other and should yield similar results. The only difference should be that if book value were negative, the first ranking should correctly rank those with a negative book value at the bottom. However, when I run a screen, I get the following results:

Ticker # NA’s Final Stmt 100% Stock Rank
book2PrQ Pr2BookQ
1
OGZPY[5D][1Y] 0 N 99.97 99.94 99.50
2
SDRL[5D][1Y] 0 Y 99.94 99.36 99.97
3
NBGGY[5D][1Y] 0 Y 99.92 99.97 99.19
4
DB[5D][1Y] 0 Y 99.89 99.52 99.64
5
GNW[5D][1Y] 0 Y 99.86 98.94 99.92
6
AEG[5D][1Y] 0 Y 99.83 99.58 99.22
7
RBS[5D][1Y] 0 Y 99.80 99.80 98.68
8
BCS[5D][1Y] 0 Y 99.80 99.75 98.74
9
SCGLY[5D][1Y] 0 Y 99.75 99.69 98.66
10
MTU[5D][1Y] 0 Y 99.72 99.92 98.24

As you can see, there are different ranks for each factor which maybe explained by some negative book values in the Universe but if I look at the individual components of the calculation for the first stock, OGZPY, I get the following results:

Ticker Name Last Rank MktCap @P2BQ @BkValue @ShFD @bkpSh @close @bk2Pr Pr2BookQ BVPSQ
OGZPY Gazprom PJSC 4.1 99.972 47102.8477 0.2957 159456.5156 11500 12.5878 4.1 3.3819 0.2957 12.5878

Portfolio123 calculates book value per share as 12.5878 but the calculation of book value divided by common shares (fully diluted) yields 13.86 (159456.5156/11500). What is causing that difference. Interestingly, Portfolio123 correctly calculates the book value per share as 0.2957 i.e.(4.1/13.86).

Can anyone help me understand why the ranking results are different for the two factors - is it just due to negative book values and also why is the book value per share calculated as 12.5878 as opposed to 13.86.

Many thanks

Paul

It’s the treatment of NAs, more than likely.

NAs are situations where there is no data in the database, where the calculation results in an error (divide-by-zero errors are common with many ratios), or situations where the code has been set to treat a certain result as meaningless. An example of that is negative enterprise value, which is deemed NA on Portfolio123.

NAs are thrown to the bottom of the rankings by default, but can be put around the median as well. Tied results receive the same ranking.

In this case, I would note that Book2Price cannot result in a divide-by-zero error, but Pr2BookQ can. In fact, there are two penny stocks that return true for BookValQ=0, so that’s your difference right there.