Overall Statistics |
Total Trades 15 Average Win 0% Average Loss 0.00% Compounding Annual Return -63.389% Drawdown 5.000% Expectancy -1 Net Profit -4.891% Sharpe Ratio -4.382 Probabilistic Sharpe Ratio 0.527% Loss Rate 100% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.11 Beta 0.927 Annual Standard Deviation 0.114 Annual Variance 0.013 Information Ratio -2.164 Tracking Error 0.037 Treynor Ratio -0.541 Total Fees $15.04 Estimated Strategy Capacity $1500000.00 Lowest Capacity Asset SPY R735QTJ8XC9X |
class OpeningRangeBreakoutRevision(QCAlgorithm): def Initialize(self): self.SetStartDate(2022, 1, 1) #self.SetEndDate(2020, 12, 31) self.SetCash(100_000) self.spy = self.AddEquity("SPY", Resolution.Minute, extendedMarketHours = True).Symbol self.Consolidate(self.spy, timedelta(minutes=30), self.OnDataConsolidated) self.window = RollingWindow[TradeBar](2) self.openingBar = None def OnData(self, data): if self.Portfolio.Invested or self.openingBar is None: return if data[self.spy].Price > self.openingBar.High: self.SetHoldings(self.spy, 1) elif data[self.spy].Price < self.window[1].Low: self.Liquidate(self.spy) def OnDataConsolidated(self, bar): if bar.EndTime.hour == 10 and bar.EndTime.minute == 00: self.openingBar = bar self.window.Add(bar)