Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
how do I select stock based on percent increase

I'm still trying to work on learning python, but this part I'm stuck on. I want to screen all stocks from the Nasdaq and NYSE based on a price range and percent increase from previous close to current time. Is there any way to go about doing this with the universe limit of 255? Thanks

3 responses

Hey Ro,

So if you want to filter stocks by exchange you can use get_fundamentals but this will filter out ETFs. Check out my notebook here for examples on using get_fundamentals.

Check out the Pandas docs for information filtering DataFrames, the object that is returned by get_fundamentals and is used ubiquitously on Quantopian. Here is a good Pandas tutorial.

That all being said, we do enforce a limit on the number of securities in a universe. I'd recommend doing as much filtering as possible in get_fundamentals. An alternative is to use DollarVolumeUniverse which automatically gets the highest value securities by Dollar-Volume. Here are the docs for setting your universe

I hope that helps you get started!

Disclaimer

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.

@James Christopher I'm trying to do something similar, my desired algorithm has nothing to do with the state of the company, it is solely momentum based. How can I go about this using just percent increase? Additionally, would limiting the contents to a certain stock price range be possible?

Andrew

If you want to do a momentum based strategy the best I can recommend is to use the DollarVolumeUniverse I linked too above. Grab the price history for the securities price_histories = history(20, "1d", "price") and to get the momentum which we will define as: the latest price / the oldest price, you can iterate through your securities:

for security price_histories:  
    momentum = price_histories[security][-1] / price_histories[security][0]  

There are other ways to do this like applying the division to the whole dataframe, but this is a really good way to get started and see what is actually happening in a more "normal" context. Once you calculate the momentum you can store it or use it immediately.

I hope that helps. Check out these other momentum strategies (some are harder to follow than others):

Momentum Quick and dirty

Cross sectional momentum <=== more advanced

Good luck