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 |
clr.AddReference('QuantConnect.Research') from QuantConnect.Research import QuantBook import statistics import pandas as pd import numpy as np class TachyonMultidimensionalChamber(QCAlgorithm): def Initialize(self): self.SetStartDate(2020, 12, 17) # Set Start Date self.SetEndDate(2020, 12, 17) # Set End Date self.SetCash(400000) # Set Strategy Cash self.AddUniverse(self.CoarseSelectionFunction) self.SetSecurityInitializer(self.SecurityInitializer) self.UniverseSettings.ExtendedMarketHours = True self.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage, AccountType.Margin) self.UniverseSettings.Leverage = 4 #self.UniverseSettings.Resolution = Resolution.Hour #can comment/change this out self.SetWarmUp(5) ###variables to keep track of self.sd = {} #all symbol data def SecurityInitializer(self, security): security.SetLeverage(4) def CoarseSelectionFunction(self, universe): selected = [] for coarse in universe: if coarse.Volume > 20000000 and coarse.Value > 10 and coarse.HasFundamentalData: symbol = coarse.Symbol selected.append(symbol) return selected #list of objects of type Symbol def OnSecuritiesChanged(self, changed): for security in changed.AddedSecurities: symbol = security.Symbol if symbol not in self.sd: self.sd[symbol] = SymbolData(self, symbol) for security in changed.RemovedSecurities: symbol = security.Symbol self.sd.pop(symbol, None) ########### # on data # ########### def OnData(self, data): '''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here. Arguments: data: Slice object keyed by symbol containing the stock data ''' return class SymbolData: def __init__(self, algorithm, symbol): self.vwap = algorithm.VWAP(symbol, 2000, Resolution.Minute) self.ema = algorithm.EMA(symbol, 9, Resolution.Minute) prehist = algorithm.History(symbol, 10, Resolution.Minute) if not prehist.empty: hist = prehist.loc[symbol] algorithm.Debug(symbol.Value) # for idx, bar in hist.iterrows(): # tradeBar = TradeBar(idx, symbol, bar.open, bar.high, bar.low, bar.close, bar.volume, timedelta(minutes=1)) # self.vwap.Update(tradeBar) # self.ema.Update(idx, bar.close)