Overall Statistics |
Total Trades 256 Average Win 1.79% Average Loss -1.58% Compounding Annual Return 8.457% Drawdown 21.000% Expectancy 0.232 Net Profit 55.253% Sharpe Ratio 0.688 Probabilistic Sharpe Ratio 16.721% Loss Rate 42% Win Rate 58% Profit-Loss Ratio 1.13 Alpha 0.064 Beta -0.015 Annual Standard Deviation 0.09 Annual Variance 0.008 Information Ratio -0.243 Tracking Error 0.186 Treynor Ratio -4.119 Total Fees $1092.88 Estimated Strategy Capacity $51000000.00 Lowest Capacity Asset TSLA UNU3P8Y3WFAD |
# Fading The Normalized Gap # https://www.quantconnect.com/project/11953395 # -------------------------------- STOCK = "TSLA"; THRESHOLD = -0.02; # -------------------------------- class FadingTheGap(QCAlgorithm): def Initialize(self): self.SetStartDate(2017, 1, 1) self.SetEndDate(2022, 6, 1) self.SetCash(100000) self.stock = self.AddEquity(STOCK, Resolution.Minute).Symbol self.Schedule.On(self.DateRules.EveryDay(), self.TimeRules.BeforeMarketClose(self.stock, 0), self.ClosingBar) self.Schedule.On(self.DateRules.EveryDay(), self.TimeRules.AfterMarketOpen(self.stock, 1), self.OpeningBar) self.Schedule.On(self.DateRules.EveryDay(), self.TimeRules.AfterMarketOpen(self.stock, 45), self.ClosePositions) self.window = RollingWindow[TradeBar](2) def ClosingBar(self): self.window.Add(self.CurrentSlice[self.stock]) def OpeningBar(self): if self.stock in self.CurrentSlice.Bars: self.window.Add(self.CurrentSlice[self.stock]) if not self.window.IsReady: return norm_delta = self.window[0].Open / self.window[1].Close - 1 if norm_delta < THRESHOLD: self.SetHoldings(self.stock, 1) def ClosePositions(self): self.Liquidate()