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.344 Tracking Error 0.135 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
class UglyBlueBadger(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 1, 22) self.SetCash(100000) symbolsOne = [Symbol.Create(ticker, SecurityType.Equity, Market.USA) for ticker in ["SPY", "QQQ"]] self.AddUniverseSelection( ManualUniverseSelectionModel(symbolsOne)) symbolsTwo = [Symbol.Create(ticker, SecurityType.Equity, Market.USA) for ticker in ["FB", "TWTR"]] self.AddUniverseSelection( ManualUniverseSelectionModel(symbolsTwo)) self.AddAlpha(CustomAlphaOne(symbolsOne)) self.AddAlpha(CustomAlphaTwo(symbolsTwo)) self.SetPortfolioConstruction( NullPortfolioConstructionModel() ) self.SetExecution( ImmediateExecutionModel() ) def OnData(self, data): pass class CustomAlphaOne(AlphaModel): def __init__(self,symbols): self.symbols = symbols def Update(self, algorithm, slice): return [Insight.Price(symbol, timedelta(1), InsightDirection.Up) for symbol in self.symbols] def OnSecuritiesChanged(self, algorithm, changes): for x in changes.AddedSecurities: if x.Symbol not in self.symbols: continue algorithm.Debug(f'CustomAlphaOne: {x.Symbol}') class CustomAlphaTwo(AlphaModel): def __init__(self,symbols): self.symbols = symbols def Update(self, algorithm, slice): return [Insight.Price(symbol, timedelta(1), InsightDirection.Down) for symbol in self.symbols] def OnSecuritiesChanged(self, algorithm, changes): for x in changes.AddedSecurities: if x.Symbol not in self.symbols: continue algorithm.Debug(f'CustomAlphaTwo: {x.Symbol}')