Overall Statistics |
Total Trades 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Net Profit 0% Sharpe Ratio 0 Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio 0 Tracking Error 0 Treynor Ratio 0 Total 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 self.AddUniverse(self.SelectCoarse, self.SelectFine) 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