Overall Statistics
from datetime import timedelta
import math

class Tachyon (QCAlgorithm):

    def Initialize(self):
        
        self.ticker = 'SPY'
        self.AddEquity(self.ticker, Resolution.Daily)
        self.SetBenchmark(self.ticker)
        self.symbol_ = self.Symbol(self.ticker)
        self.cash = 100000
        self.SetCash(self.cash)
        self.SetStartDate(2019, 1, 1) 
        self.SetEndDate(2019, 3, 1)

        self.Consolidate("SPY", CalendarType.Weekly, self.CalendarTradeBarHandler)
        self.window = RollingWindow[TradeBar](2)
        '''What goes in place of "TradeBar" to get the CalendarTradeBarHandler???'''
        
    def CalendarTradeBarHandler(self, tradeBar):
        self.Log(f'Cal.Monday{tradeBar.Time}: {tradeBar.Open} - {tradeBar.EndTime}: {tradeBar.Close}')
    
    def OnData(self, data):

        # Add SPY TradeBar in rollling window
        self.window.Add(data["SPY"])

        # Wait for windows to be ready.
        if not (self.window.IsReady): return
    
        currBar = self.window[0] # Current bar had index zero.
        pastBar = self.window[1] # Past bar has index one.
        
        self.Log("BarLogs: {0} : {1} -> {2} : {3}".format(pastBar.Time, pastBar.Close, currBar.Time, currBar.Open))