| 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)