Unable to run the code
Unable to run the code
Hello,
1 - Indentation issue
2 - can't apply .top on a filter, use it on the factor instead
3 - Filter has no attribute .asc
4 - You forgot the brackets on QTradableStocksUS screen
Here is a corrected version of your code
# Import Pipeline class and datasets
from quantopian.pipeline import Pipeline
from quantopian.pipeline.data import USEquityPricing
from quantopian.pipeline.data.psychsignal import stocktwits
from quantopian.pipeline.data import Fundamentals
import numpy as np
import pandas as pd
import math
from scipy.stats import norm
from quantopian.research import run_pipeline
# Import built-in moving average calculation
from quantopian.pipeline.factors import SimpleMovingAverage
# Import built-in trading universe
from quantopian.pipeline.experimental import QTradableStocksUS
def make_pipeline():
# Create a reference to our trading universe
base_universe = QTradableStocksUS()
# Get latest closing price
close_price = USEquityPricing.close.latest
# Filter stocks as per pe ratio
pe_ratio = Fundamentals.pe_ratio.latest
pe_lt_30 = pe_ratio > 0
top_pe_stocks = pe_ratio.top(10, mask=pe_lt_30)
return Pipeline(
columns={
'close_price': close_price,
'pe_stocks': top_pe_stocks,
},
screen=base_universe,
)
# Execute pipeline created by make_pipeline
# between start_date and end_date
pipeline_output = run_pipeline(
make_pipeline(),
start_date='2018-01-01',
end_date='2019-01-31'
)
# Return Pipeline containing close_price and
# sentiment_score that has our trading universe as screen
# Display last 10 rows
pipeline_output.tail(10)