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
-2.139
Tracking Error
0.351
Treynor Ratio
0
Total Fees
$0.00
class DynamicMultidimensionalReplicator(QCAlgorithm):

    def Initialize(self):
        # TSLA --- To confirm splits are detected
        #self.SetStartDate(2020, 8, 25)  # Set Start Date
        #self.SetEndDate(2020, 9, 5)
        
        # MDLY
        #self.SetStartDate(2020, 10, 29)  # Set Start Date
        #self.SetEndDate(2020, 11, 5)
        
        
        # IMAC
        #self.SetStartDate(2020, 3, 20)  # Set Start Date
        #self.SetEndDate(2020, 4, 1)
        
        
        # PRTO
        #self.SetStartDate(2020, 1, 5)
        #self.SetEndDate(2020, 1, 15)
        
        
        # ENT
        self.SetStartDate(2020, 4, 10)
        self.SetEndDate(2020, 4, 20)
        
        
        self.SetCash(100000)  # Set Strategy Cash
        
        self.symbol = None 
        
        self.SetUniverseSelection(ManualUniverseSelectionModel([Symbol.Create("ENT", SecurityType.Equity, Market.USA)]))
        self.UniverseSettings.FillForward = True
        
        self.SetSecurityInitializer(self.CustomSecurityInitializer)
        
    def OnData(self, data):
        splits = data.Splits.Count
        if splits > 0:
            self.Log("Split!")
        
    def CustomSecurityInitializer(self, security):
        security.SetDataNormalizationMode(DataNormalizationMode.SplitAdjusted)
        
    def OnSecuritiesChanged(self, changes):
        for security in changes.AddedSecurities:
            self.symbol = security.Symbol
    
    def OnEndOfDay(self):
        self.Log(f"{self.symbol}: {self.Securities[self.symbol].Price}")