Overall Statistics |
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return 6.263% Drawdown 22.800% Expectancy 0 Net Profit 9.506% Sharpe Ratio 0.371 Probabilistic Sharpe Ratio 17.497% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0.981 Annual Standard Deviation 0.149 Annual Variance 0.022 Information Ratio -0.276 Tracking Error 0.003 Treynor Ratio 0.056 Total Fees $1.27 Estimated Strategy Capacity $39000000.00 Lowest Capacity Asset SPY R735QTJ8XC9X |
# region imports from AlgorithmImports import * # endregion class ATRForum(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 2, 11) # Set Start Date self.SetCash(100000) # Set Strategy Cash self.spy = self.AddEquity("SPY", Resolution.Minute) self.spy.SetDataNormalizationMode(DataNormalizationMode.Raw) self.first = None # ATR self.atr = self.ATR("SPY", 14) self.SetWarmUp(timedelta(days = 20)) atrConsolidator = TradeBarConsolidator(timedelta(days=1)) self.SubscriptionManager.AddConsolidator(self.spy.Symbol, atrConsolidator) atrConsolidator.DataConsolidated += self.ATRDayBar self.barWindow = RollingWindow[TradeBar](1) def OnData(self, data: Slice): if not self.Portfolio.Invested: self.SetHoldings("SPY", 1) def IndicatorUpdateMethod(self, indicator: object, indicator_data_point: IndicatorDataPoint): if self.atr.IsReady: indicator_value = self.atr.Current.Value def ATRDayBar(self, sender, bar): if self.IsWarmingUp: return self.Plot("ATR", "ATR", self.atr.Current.Value) if not self.first == self.Time.day: self.Log(self.atr) self.first = self.Time.day