Notebook
In [1]:
from quantopian.pipeline import Pipeline
from quantopian.research import run_pipeline
from quantopian.pipeline.data import morningstar as ms
from quantopian.pipeline.classifiers.morningstar import Sector
from quantopian.pipeline.factors import Latest
from quantopian.pipeline.filters.morningstar import Q500US, Q1500US
In [4]:
def make_pipeline():
    # base universe
    # to learn more, visit https://www.quantopian.com/posts/the-q500us-and-q1500us
    universe = Q1500US()
    
    # pipeline factors
    sector = Sector()
    rev_growth = ms.operation_ratios.revenue_growth.latest
    
    # filters
    m_cap = ms.valuation.market_cap.latest.notnull()
    roic = ms.operation_ratios.roic.latest > 0.1
    shares_outstanding = ms.valuation.shares_outstanding.latest.notnull()
    top_rev_growth = rev_growth.top(500, mask = universe)
    
    securities_to_trade = m_cap & roic & shares_outstanding & top_rev_growth
    
    return Pipeline(
        columns={
            'sector': sector,
            'rev_growth': rev_growth
        },
        screen=securities_to_trade
    )
In [5]:
result = run_pipeline(make_pipeline(), '2015-05-05', '2015-05-05')
result
Out[5]:
rev_growth sector
2015-05-05 00:00:00+00:00 Equity(659 [AMAG]) 1.452812 206
Equity(3212 [GILD]) 1.344213 206
Equity(4479 [KATE]) 0.447103 102
Equity(7308 [TARO]) 0.112838 206
Equity(9930 [IT]) 0.121512 311
Equity(18010 [DEPO]) 3.792066 206
Equity(18588 [MANH]) 0.175761 311
Equity(22139 [MCO]) 0.126155 310
Equity(23602 [LCI]) 0.705463 206
Equity(28160 [MDVN]) 1.843643 206
Equity(34395 [LULU]) 0.156428 102
Equity(39773 [CBOE]) 0.173856 103
Equity(39778 [QEP]) 0.289054 309
Equity(42027 [UBNT]) 0.106170 311
Equity(42147 [NLNK]) 59.423063 206
Equity(42270 [KORS]) 0.298842 102
Equity(43201 [FIVE]) 0.244343 102
Equity(44332 [ENTA]) 85.783875 206
Equity(47230 [CLNS]) 4.689527 103
Equity(48384 [QRVO]) 0.376286 311