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 Probabilistic 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.06 Tracking Error 0.436 Treynor Ratio 0 Total Fees $0.00 |
class NadionTachyonProcessor(QCAlgorithm): def Initialize(self): self.SetStartDate(2019, 11, 4) self.SetCash(100000) self.AddEquity("SPY", Resolution.Minute) self.rolling_window = RollingWindow[TradeBar](30) def OnData(self, slice): if "SPY" not in slice.Bars: return if not self.rolling_window.IsReady: self.rolling_window.Add(slice['SPY']) return self.openingBar = self.rolling_window[self.rolling_window.Count-1] self.secondaryBar = self.rolling_window[0] if (self.secondaryBar.Close > self.openingBar.High) and (self.openingBar.High>self.secondaryBar.Low>self.openingBar.High): price = self.openingBar.Low elif (self.secondaryBar.Close < self.openingBar.Low) and (self.openingBar.High>self.secondaryBar.High>self.openingBar.High): price = self.openingBar.High else: return """ if not self.Portfolio.Invested: for kvp in slice.OptionChains: if kvp.Key != self.option_symbol: continue chain = kvp.Value contracts = sorted(sorted(sorted(chain, \ key = lambda x: abs(chain.Underlying.Price - x.Strike)), \ key = lambda x: x.Expiry, reverse=True), \ key = lambda x: x.Right, reverse=True) # Select contract # Submit contract order """ def OnEndOfDay(self): self.rolling_window.Reset()