Overall Statistics
class ModulatedQuantumGearbox(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2019, 12, 25)  # Set Start Date
        self.SetCash(10000000)  # Set Strategy Cash
        
        symbols = [ Symbol.Create(t, SecurityType.Equity, Market.USA) for t in ["SPY", "TSLA"]]
        self.SetUniverseSelection( ManualUniverseSelectionModel(symbols) )
        self.UniverseSettings.Resolution = Resolution.Daily
        
        self.AddAlpha(MyAlphaModel())
        
        self.SetPortfolioConstruction(AccumulativeInsightPortfolioConstructionModel(lambda time: None))
        
        self.SetExecution(ImmediateExecutionModel())
        

class MyAlphaModel(AlphaModel):
    symbols = None
    emitted = 0
    
    def Update(self, algorithm, slice):
        if self.symbols is not None and self.emitted < 2:
            self.emitted += 1
            return [Insight(self.symbols[self.emitted - 1], timedelta(days = 365), InsightType.Price, InsightDirection.Up)]
        return []
        
    def OnSecuritiesChanged(self, algorithm, changes):
        added = [c.Symbol for c in changes.AddedSecurities]
        if added:
            self.symbols = added