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 -1.86 Tracking Error 0.101 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
CONSOLIDATOR_LOGIC = {'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last', 'Adj Close': 'last', 'Volume': 'sum'} class CalmLightBrownGull(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 4, 1) self.SetEndDate(2021, 12, 31) self.InitCash = 100000 self.SetCash(self.InitCash) self.SetWarmup(120, Resolution.Daily) self.equity = self.AddEquity("SPY", Resolution.Daily) self.window = RollingWindow[Slice](120) def OnData(self, data): self.window.Add(data) if self.IsWarmingUp or not self.window.IsReady: return hist_d = (self.PandasConverter.GetDataFrame(self.window).loc[self.equity.Symbol, :])[::-1] changes_d = hist_d['close'].sub(hist_d['close'].shift(1)) hist_wk = (self.PandasConverter.GetDataFrame(self.window).loc[self.equity.Symbol, :])[::-1] hist_wk.resample('W').apply(CONSOLIDATOR_LOGIC)