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 AlphaFiveTechnologyUniverse(QCAlgorithm): def Initialize(self): #1. Required: Five years of backtest history self.SetStartDate(2014, 1, 15) #2. Required: Alpha Streams Models: self.SetBrokerageModel(BrokerageName.AlphaStreams) #3. Required: Significant AUM Capacity self.SetCash(1000000) #4. Select Desired ETF Universe # See more: https://www.quantconnect.com/docs/algorithm-reference/universes self.UniverseSettings.Resolution = Resolution.Hour self.SetUniverseSelection(TechnologyETFUniverse()) self.universe = { } #5. Set Relevent Benchmark self.reference = "XLK" self.AddEquity(self.reference, Resolution.Hour) self.SetBenchmark("SPY") def OnData(self, data): # Manually update the Indicators for symbol in self.universe.keys(): if data.Bars.ContainsKey(symbol): self.universe[symbol].update(data[symbol].EndTime, data[symbol].Close) # Initializing ETF Universe Securities def OnSecuritiesChanged(self, changes): for s in changes.AddedSecurities: if s.Symbol not in self.universe: history = self.History(s.Symbol, 30, Resolution.Hour) self.universe[s.Symbol] = AssetData(s.Symbol, history) # Indicators+Universe Demonstration class AssetData(object): def __init__(self, symbol, history): self.std = StandardDeviation(30) self.macd = MovingAverageConvergenceDivergence(3,6,9,MovingAverageType.Exponential) for bar in history.itertuples(): self.update(bar.Index[1], bar.close) def is_ready(self): return self.std.IsReady def update(self, time, price): self.std.Update(time, price) self.macd.Update(time, price)