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

    def Initialize(self):
        self.SetStartDate(2019, 1, 1)
        self.SetEndDate(2019, 2, 1)
        self.SetCash(25_000)
        self.UniverseSettings.DataNormalizationMode = DataNormalizationMode.Raw
        self.AddUniverse(self.UpdateEquityUniverse)
        self.equityUniverse = set()
        self.Schedule.On(self.DateRules.EveryDay(), self.TimeRules.At(9,35,0), self.UpdateOptionUniverse)
        self.optionUniverse = dict()
        
    def UpdateEquityUniverse(self, coarse):
        coarse = [x for x in coarse if x.DollarVolume > 10_000_000]
        coarse = sorted(coarse, key=lambda x: x.DollarVolume, reverse=True)[:6]
        self.equityUniverse = {x.Symbol for x in coarse}
        return [x.Symbol for x in coarse]
        
    def UpdateOptionUniverse(self):
        underlyingsAdded = self.equityUniverse - self.optionUniverse.keys()
        underlyingsRemoved = self.optionUniverse.keys() - self.equityUniverse
        
        for underlying in underlyingsAdded:
            options = [x for x in self.OptionChainProvider.GetOptionContractList(underlying, self.Time)][:20]
            for option in options:
                self.AddOptionContract(option, Resolution.Minute)                
            self.optionUniverse[underlying] = options
            
        for underlying in underlyingsRemoved:
            for option in self.optionUniverse.pop(underlying):
                self.RemoveSecurity(option)

    def OnData(self, data):
        pass
    
    def OnEndOfDay(self):
        equities = [x.Symbol for x in self.ActiveSecurities.Values if x.Type == SecurityType.Equity]
        options = [x.Symbol for x in self.ActiveSecurities.Values if x.Type == SecurityType.Option]
        self.Debug(f"{self.Time} >> OnEndOfDay: #Equities:{len(equities)} #Options:{len(options)}")