Universe(OTC) is not equal to inverse of Universe(NOOTC)

Today (July 24, 2013) there are 6911 companies in All Fundamentals.

Screening for Universe(OTC)=0 gives 4707 companies, and Universe(OTC)=1 gives 2204 companies. This adds ups nicely to 6911.

However, screening for Universe(NOOTC)=1 gives 4701 companies, and Universe(NOOTC)=0 gives 2210 companies. This does add up correctly to 6911, but the numbers should be equal to the numbers for OTC above.

Screening with “Universe(OTC)=0 & Universe(NOOTC)=0” shows the 6 companies that cause the difference. This screen should not return any companies.

I just ran into the same issue as the original poster, and since there’s no reply, I thought I’d give it a bump. I realize that this is really old, so maybe there’s something really obvious that the OP and I are missing.

Here’s how it manifested for me: I wanted to check whether it’s always true that S&P 1500 stocks are exchange-listed. I thought that would be an index inclusion criterion, but I wasn’t sure. So, I started with the SPALL universe and applied a universe filter that required NOOTC to be false. I expected to get no passing companies. This was true. Good! But then, just to be sure, I tried the same thing as of 5 years ago. Reran the universe and now I got 4 stocks passing. Why would that be? Here’s the screenshot:

Then, just to come at it from another angle, I changed the rule from universe(NOOTC) = False to universe(OTC) = True. And found that instead of 4 stocks, I got no hits. This seems correct, except that it contradicts the previous result. Here’s that screenshot:


To sum up, I think every active US stock must be contained in exactly one of OTC or NOOTC. As an aside, I’ve also confirmed that being listed on a US exchange is indeed an inclusion requirement for the S&P 1500 (see here: https://www.spglobal.com/spdji/en/documents/methodologies/methodology-sp-us-indices.pdf)

No OTC Exchange is intended to be an investable base universe for Research, so it’s based on United States (incl. ADRs & dual listed) instead of United States (all listed stocks) where the latter includes stocks without financials. (Compare the definitions of No OTC Exchange and Over The Counter.) To invert Over The Counter, one must create a universe based on United States (all listed stocks) with rule !Universe(OTC). No OTC Exchange is a subset of this universe due to its narrower starting universe.

While those four stocks are included in Over The Counter, they are excluded from No OTC Exchange since there’s no financial data available on FactSet for that observation date. You would have to use !Universe(OTC) instead of Universe(NOOTC) to avoid the additional exclusion of the latter.

Thanks, Aaron, for the explanation of why OTC <> NOT(NOOTC). That’s very helpful.

However, I still see a problem with these 4 companies. I don’t believe that Gulfport Energy, for example, as of 5 years ago, was an OTC company. The company being incorporated in TX and HQ’ed in OK, GPOR was also not an ADR. They were in the S&P small-cap index, then moved up into the mid-cap 400, then moved down again into the small-cap 600, before finally being deleted from the S&P indices. Being listed on a US exchange was a requirement for index inclusion. Please refer to p.6 of the S&P doc I linked to previously. And filing financial statements is obviously a requirement for being listed. So, they did. See here.

So, even though I accept that there can be a reason for a stock failing to be included in OTC, yet being in NOOTC, that reason doesn’t seem to apply to GPOR.

This appears to be a data error on FactSet’s end. All financials are associated with the current GPOR, and the previous listing has no data.