Overall Statistics |
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return -0.908% Drawdown 0.000% Expectancy 0 Net Profit -0.010% Sharpe Ratio -7.937 Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.006 Beta -0.913 Annual Standard Deviation 0.001 Annual Variance 0 Information Ratio -14.025 Tracking Error 0.001 Treynor Ratio 0.007 Total Fees $1.00 |
import numpy as np class MyAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2018,6,15) #Set Start Date self.SetEndDate(2018,6,18) #Set End Date self.SetCash(100000) # Account value self.AddEquity("SPY", Resolution.Second) self.AddUniverse(self.CoarseSelectionFunction) self.Schedule.On(self.DateRules.EveryDay("SPY"), self.TimeRules.BeforeMarketClose("SPY", 10), self.TradeBeforeMarketClose) def CoarseSelectionFunction(self, coarse): # price > 5 and volume > 500k and sector data available selected = [x for x in coarse if (float(x.Price) >= 5 and x.Volume > 5000000) ] # this is our universe self.Debug("selected:" + str(len(selected))) # subscribe to these stocks, add list of symbols to self self.MySymbols = [] for x in selected: self.MySymbols.append(self.AddEquity(x.Symbol.Value, Resolution.Minute).Symbol) # return the list of symbols for consistency with "fine", but they are already saved in self.MySymbols[] return [ x.Symbol for x in selected ] # trade routine def TradeBeforeMarketClose(self): try: self.Debug("Selected symbols in universe: " + str(len(self.MySymbols))) except: return self.MarketOrder("SPY", 100) return # order notifications def OnOrderEvent(self, fill): order = self.Transactions.GetOrderById(fill.OrderId) self.Debug("{0} - {1}:TEST: {2}".format(self.Time, order.Type, fill))