from zipline.pipeline import Pipeline from zipline.pipeline.data import USEquityPricing from zipline.pipeline.factors import AverageDollarVolume def make_pipeline(): # Create a screen for the top 10% of dollar-volume equities dollar_volume = AverageDollarVolume(window_length=30) high_dollar_volume = dollar_volume.percentile_between(90, 100) # Create a filter for equities with a positive 30-day return returns = Returns(window_length=30) positive_returns = returns > 0 # Create a filter for equities that pass both screens screen = (high_dollar_volume & positive_returns) # Define a pipeline with the above filters pipe = Pipeline( screen=screen, columns={ 'returns': returns, 'dollar_volume': dollar_volume, } ) return pipeIn the above code, we are creating a pipeline for the top 10% of dollar-volume equities with a positive 30-day return. The pipeline includes filters and columns to generate data that can be used to backtest investment strategies. Package library: `zipline`