from quantopian.pipeline import Pipeline
from quantopian.research import run_pipeline
from quantopian.pipeline.factors import Returns, MarketCap
from quantopian.pipeline.data import USEquityPricing, Fundamentals
from quantopian.pipeline.filters import QTradableStocksUS, StaticAssets
from quantopian.pipeline.classifiers.fundamentals import Sector
def make_pipeline():
# Pipeline factors
close_price = USEquityPricing.close.latest
market_cap = MarketCap()
# Pipeline Filters
QTU = QTradableStocksUS()
top_500_market_cap = market_cap.top(500)
QTU_top_500 = QTU & top_500_market_cap
has_pricing_data = close_price.notnull()
return Pipeline(
# columns takes a dict of {'name of factor goes here': factor_variable} arguments (usually)
columns={'close_price': close_price},
# screen takes filter arguments
screen=QTU_top_500 & has_pricing_data
)
run_pipeline(make_pipeline(), '2016-1-1', '2017-1-1')