Overall Statistics Total Trades0Average Win0%Average Loss0%Compounding Annual Return0%Drawdown0%Expectancy0Net Profit0%Sharpe Ratio0Loss Rate0%Win Rate0%Profit-Loss Ratio0Alpha0Beta0Annual Standard Deviation0Annual Variance0Information Ratio0Tracking Error0Treynor Ratio0Total Fees\$0.00
```import numpy as np

### <summary>
### Basic template algorithm simply initializes the date range and cash. This is a skeleton
### framewo

class Fundamentals(QCAlgorithm):

def Initialize(self):
self.SetStartDate(2013,10, 7)  #Set Start Date
self.SetEndDate(2013,10,11)    #Set End Date
self.SetCash(100000)           #Set Strategy Cash
self.UniverseSettings.Resolution = Resolution.Daily

def SelectCoarse(self, coarse):
sorted_coarse = sorted(coarse, key=lambda x: x.DollarVolume, reverse=True)
return [i.Symbol for i in sorted_coarse[:300]]

def SelectFine(self, fine):

# The company's headquarter must in the U.S.
# The stock must be traded on either the NYSE or NASDAQ
# The stock's market cap must be greater than 500 million
selected = [x for x in fine if x.CompanyReference.CountryId == "USA"
and x.ValuationRatios.FCFYield > 0
and x.EarningReports.BasicAverageShares.ThreeMonths * \
x.EarningReports.BasicEPS.TwelveMonths * x.ValuationRatios.PERatio > 5e8]

self.top = [i.Symbol for i in selected[:int(0.1*len(selected))]]
self.bottom = [i.Symbol for i in selected[-int(0.1*len(selected)):]]

return self.bottom+self.top```