I'm trying to write a program that takes finds all stocks with P/Es between 9.5 and 14. When the code gets to pe_ratios = earnings_ratios(inputs = [USEquityPricing.close]), it gives an error that says Object() type takes 0 arguments.
Can anyone help me to understand what I'm doing wrong?
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 AverageDollarVolume
from quantopian.pipeline.data.morningstar import earnings_ratios
def initialize(context):
pipe = Pipeline()
attach_pipeline(pipe, name='Pipeline')
pe_ratio =earnings_ratios(inputs=[USEquityPricing.close])
pipe.add(pe_ratio, 'pe_ratio')
pipe.set_screen(pe_ratio < 14.0 and pe_ratio > 9.0)
schedule_function('rebalance', date_rules.month_start)
def rebalance(context, data):
context.Pandas_PE = pipeline_output('Pipeline')
print context.Pandas_PE