Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Can anyone tell me why this code is not running?

Unable to run the code

2 responses

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)

Thanks a bunch!!