Hi everyone,
I am new to qunatopian, I have been trying to use pipeline for getting stocks that have highest difference in price between (today open) and (yesterday close). Unfortunately i am keep getting following error "TypeError: zipline.pipeline.pipeline.add() expected a value of type zipline.pipeline.term.Term for argument 'term', but got abc.ABCMeta instead."
Below is my script:
from quantopian.algorithm import attach_pipeline, pipeline_output
from quantopian.pipeline import Pipeline
from quantopian.pipeline.data.builtin import USEquityPricing
from quantopian.pipeline.factors import CustomFactor
def initialize(context):
pipe = Pipeline()
pipe = attach_pipeline(pipe, name='my_pipeline')
gap = top_gainers
pipe.add(gap, 'gap')
schedule_function(rebalance, date_rule=date_rules.every_day(),time_rule=time_rules.market_open())
class top_gainers(CustomFactor):
inputs = [USEquityPricing.open,USEquityPricing.close]
window_length = 2
def compute(self, today, assets, out, open, close):
out[:] = open[-1,:] - close[0,:]
return top_gainers()
def rebalance(context, data):
results = pipeline_output('my_pipeline')
print results.head(5)
Any help will be useful,
thank you very much in advance =)