| Overall Statistics |
|
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return 6.251% Drawdown 22.800% Expectancy 0 Net Profit 9.506% Sharpe Ratio 0.37 Probabilistic Sharpe Ratio 17.463% 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)
# ATR
self.atr = self.ATR("SPY", 14)
self.Atr1day = AverageTrueRange(14)
self.SetWarmUp(timedelta(days = 20))
atrConsolidator = TradeBarConsolidator(timedelta(days=1))
atrConsolidator.DataConsolidated += self.ATRDayBar
self.SubscriptionManager.AddConsolidator(self.spy.Symbol, atrConsolidator)
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):
self.Atr1day.Update(bar)
def OnEndOfDay(self, symbol):
self.Plot('ATR', 'ATR Daily', self.Atr1day.Current.Value)