Back to Community
Q1500US, Q500US, Default Universe Update - Minimum Market Cap

Recently, we made a change to the Q1500US, the Q500US, and the default_us_equity_universe_mask. The change adds a minimum market cap filter of $500M. The goal behind this change is to add another measure of tradability/liquidity that is more stable than dollar volume. The Q1500US and Q500US will include this new filter by default. This may cause algorithms that use any of these filters to have new results.

We are working on adding a minimum_market_cap argument to the default_us_equity_universe_mask. When that's done, you will be able to achieve the old behavior with:



The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.

9 responses

I am using top 500 by volume AND top 500 by cap AND filter out weird stuff, which seems to works well. It means I may end up with quite a bit fewer than 500, but at least I'm putting money where then market is putting money: if the market is investing loads in etfs, reits and other weird stuff then my universe is smaller.

The Q1500/500 still have filters for average dollar volume and 'weird stuff'. The market cap change was simply an additional filter. Sorry if that wasn't clear!

What's the ETA for 'minimum_market_cap' filter? 500M is too high, I want to be able to override this default cap.

it seems that the only way to use this universe's (Q1500US and Q500US) is via the pipeline, is there a way we can define a list of securities in the IDE by one of these defined index's (and ignoring the pipeline all together)?

@Mike, nope. You have to use pipeline. It's pretty straightforward though, follow the tutorial here:

I have found that pipeline, while good at filtering though securities, is not really built to run during trading hours (or at lease thats what I have been told) which is why i have been developing exclusively in the IDE.

Hi Jamie, any news about the argument minimum_market_cap?

Generally I think that an hard coded value for minimum market cap isn't a good idea. I mean now the value is $500M, but $500M now aren't like $500M ten years ago or ten years in the future.

For example Wesley Gray and Tobias Carlisle suggest in their book Quantitative Value to eliminate all stocks below the 40th percentile breakpoint of the NYSE market capitalization, while O'Shaughnessy prefers and inflation adjusted threshold ( $150M as of December 1994)

Hey guys, I don't have a firm ETA for the minimum_market_cap argument, but we're working on it. It looks like we have a fix in PR, but it still needs to go through testing.

@Mike: I'm a little bit confused by your question. If you want to use the Q1500US which is only updated daily anyway, can't you just use it in pipeline? Even if you didn't want the rest of your algo logic to be in pipeline, you could use the Q1500US in pipeline to get a list of ~1500 securities for the day, and do the rest of the work in a scheduled function.

Generally I think that an hard coded value for minimum market cap isn't a good idea

Yes, it would seem that an absolute level doesn't make sense. From , we have for the S&P500:

The market cap of the index has rose from 172 billion in March 1957 to 925 billion in Dec 1980 and finally to 19 trillion of today.

On a relevant time scale for investing, you shouldn't need to change the default setting, but the data suggest that you might. Also, doesn't market change every day on a per stock basis? How does one prevent lots of unnecessary changes to the universe, for stocks near the threshold?