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

    def Initialize(self):
        self.SetStartDate(2020, 6, 1)
        self.SetEndDate(2020, 6, 5)
        self.SetCash(100000)
        
        self.allTickers = ["BTCUSD", "LTCUSD", "ETHUSD"]
        
        settings = UniverseSettings(Resolution.Minute, 1, True, False, timedelta(days=1))
        interval = timedelta(days=1)
        
        self.SetUniverseSelection(CustomUniverseSelectionModel(SecurityType.Crypto, "MyCryptoUniverse", Market.GDAX, self.Selector, settings, interval))
        
        self.logged = False

    def OnData(self, data):
        if not self.logged:
            self.Log(f"Symbols in Slice: {[str(symbol) for symbol in data.Keys]}")
            self.logged = True
            
    def Selector(self, utcTime):
        selected_tickers = []
        
        symbols = [Symbol.Create(ticker, SecurityType.Crypto, Market.GDAX) for ticker in self.allTickers]
        for i, symbol in enumerate(symbols):
            if self.Securities.ContainsKey(symbol):
                # We can access Tradebar here and Quotebar info here
                self.Log(f"Last known close of {symbol} is {self.Securities[symbol].Close}")
            
            if True: # Place filtering criteria here
                selected_tickers.append(self.allTickers[i])
                
        return selected_tickers
    
    def OnEndOfDay(self):
        self.logged = False