Overall Statistics |
Total Trades 157 Average Win 3.07% Average Loss -0.77% Compounding Annual Return 75.278% Drawdown 19.500% Expectancy 0.625 Net Profit 57.131% Sharpe Ratio 2.075 Probabilistic Sharpe Ratio 77.199% Loss Rate 68% Win Rate 32% Profit-Loss Ratio 4.01 Alpha 0.414 Beta 0.348 Annual Standard Deviation 0.233 Annual Variance 0.054 Information Ratio 1.189 Tracking Error 0.24 Treynor Ratio 1.387 Total Fees $0.00 Estimated Strategy Capacity $170000.00 Lowest Capacity Asset SOLUSDC 18N |
class RetrospectiveFluorescentYellowElephant(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 1, 1) #self.SetEndDate(2021,8,1) self.SetCash('USDC',100000) self.tickers = ["BTCUSDC", "ETHUSDC", "SOLUSDC", "DOGEUSDC", "ADAUSDC"] self.symbols = [self.AddCrypto(ticker, Resolution.Minute, Market.Binance).Symbol for ticker in self.tickers] self.fast = {} self.slow = {} for symbol in self.symbols: self.fast[symbol] = self.SMA(symbol, 20, Resolution.Hour) self.slow[symbol] = self.SMA(symbol, 200, Resolution.Hour) self.SetWarmUp(200, Resolution.Hour) self.SetTimeZone("Europe/London") def OnData(self, data): if self.IsWarmingUp: return #for symbol in self.symbols: # holdings = self.Portfolio[symbol].Quantity #self.Plot("holdings", symbol, holdings) for symbol in self.symbols: if not self.fast[symbol].IsReady: continue if not self.slow[symbol].IsReady: continue fast = self.fast[symbol].Current.Value slow = self.slow[symbol].Current.Value #self.Plot(symbol, "fast", fast) #self.Plot(symbol, "slow", slow) if fast > slow and self.Portfolio[symbol].Quantity <= 0: self.SetHoldings(symbol, 0.8/len(self.symbols)) elif fast < slow: self.Liquidate(symbol)