Overall Statistics |
Total Trades 15 Average Win 0.81% Average Loss -0.32% Compounding Annual Return 145.597% Drawdown 0.600% Expectancy 1.503 Net Profit 5.565% Sharpe Ratio 10.539 Probabilistic Sharpe Ratio 99.863% Loss Rate 29% Win Rate 71% Profit-Loss Ratio 2.50 Alpha 1.357 Beta -0.653 Annual Standard Deviation 0.109 Annual Variance 0.012 Information Ratio 5.92 Tracking Error 0.139 Treynor Ratio -1.755 Total Fees $16.72 Estimated Strategy Capacity $530000000.00 Lowest Capacity Asset AMZN R735QTJ8XC9X |
class CalmOrangeMosquito(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 5, 20) self.SetCash(100000) self.Settings.RebalancePortfolioOnSecurityChanges = False self.AddUniverse(self.coarse) self.UniverseSettings.Resolution = Resolution.Daily self.SetAlpha(ConstantAlphaModel(InsightType.Price, InsightDirection.Up, timedelta(minutes=30)) ) self.SetPortfolioConstruction( EqualWeightingPortfolioConstructionModel(lambda time: None) ) self.SetExecution(ImmediateExecutionModel() ) tickers = ['SPY', 'AMZN'] self.symbols = [Symbol.Create(ticker, SecurityType.Equity, Market.USA) for ticker in tickers] self.calls = 0 def coarse(self, coarse): if self.calls == 0: self.calls += 1 # return SPY return [self.symbols[0]] elif self.calls == 1: self.calls += 1 # return empty return [] elif self.calls == 2: self.calls += 1 # return amazon return [self.symbols[1]] elif self.calls == 3: self.calls = 0 # loop back to spy # return empty return []