Hi everyone. I would like to find stocks that have  negative PE ratios. For somereason, my current implementation returns an empty universe. Can someone please explain what I am doing wrong? Thank you!

 

def CoarseFilter(self, coarse):
        if self.Time.month == self.lastMonth:
            return Universe.Unchanged
        
        course = [x for x in coarse if x.HasFundamentalData and x.DollarVolume > 10000000]
        course = sorted(course, key=lambda x: x.DollarVolume, reverse=False) 
        return [i.Symbol for i in course[:500]]
        
    
    def FineFilter(self, fine):
        if self.Time.month == self.lastMonth:
            return Universe.Unchanged
        self.lastMonth = self.Time.month
        
        fine = [x for x in fine if x.ValuationRatios.PERatio < 0]
        fine = sorted(fine, key=lambda x: x.ValuationRatios.PERatio, reverse=True)
        self.symbols = [x.Symbol for x in fine[:25]]
        return self.symbols

Author