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 |
from QuantConnect.Data.Market import * from QuantConnect.Data.Consolidators import * from datetime import * from System import * from QuantConnect import * from QuantConnect.Algorithm import * from QuantConnect.Indicators import * from QuantConnect.Securities.Option import OptionPriceModels import decimal as d import operator class BasicTemplateOptionsAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2019, 1, 3) self.SetEndDate(2019, 1, 5) #self.SetCash(200000) self.symbolData = dict() self.symbols = [] self.symbols_two =[] self.tr = dict() self.high = dict() self.low = dict() self.tickers_one = [ "AAPL", "FB", "TSLA", "AMD", "AMZN", "BABA", "BAC", "MSFT", "NFLX", "MU", "NVDA", "SNAP", "GE", "DIS", "T", "BA", "ROKU", "NIO", "CRM", "INTC", "X", "TWTR", "QCOM", "CSCO", "JPM", "CZR", "WDC", "JD", "GOOGL", "TEVA", "F", "WMT", "PCG", "C", "SQ", "FCX", "ADBE", "CGC" ] for ticker in self.tickers_one: option = self.AddOption(ticker) self.symbols.append(option.Symbol) option.SetFilter(-15, -1, timedelta(60), timedelta(90)) self.Settings.DataSubscriptionLimit = 1000000 option.PriceModel = OptionPriceModels.CrankNicolsonFD() self.equity_symbols = [x.Underlying for x in self.symbols] history = self.History(self.equity_symbols, 90, Resolution.Daily).sort_values(by=["symbol", "high"], ascending=[1,0]) for symbol in self.equity_symbols: self.high[symbol] = history.loc[str(symbol.ID)]["high"][0] history = history.sort_values(by=["symbol", "low"], ascending=[1,1]) for symbol in self.equity_symbols: self.low[symbol] = history.loc[str(symbol.ID)]["low"][0] self.tr[symbol] = self.high[symbol] - self.low[symbol] self.AddEquity("SPY") self.Schedule.On(self.DateRules.EveryDay("SPY"), self.TimeRules.At(12,40), self.OnceADay) self.Log("initialize") self.slice = None def OnceADay(self): self.Log("before") for security in self.ActiveSecurities.Keys: self.Log(f'Security in Universe: {security.Value}') for security in self.ActiveSecurities.Keys: self.RemoveSecurity(security) self.Log("after") for security in self.ActiveSecurities.Keys: self.Log(f'Security in Universe: {security.Value}') tickers_two = ["EXAS", "ARQL", "PVTL", "LUV", "UAA", "BBT", "AMC", "OC", "GIS", "HSY", "FSLR", "CBAY", "OLED", "AKS", "HPQ", "EROS", "KL", "NVTA", "CYBR", "PXD", "PSTG", "CECE", "CRC", "AMT", "FTR", "TLRD", "EOG", "PAYS", "ANET", "WB", "DVN", "ERI", "IRBT", "JBLU", "AMTD", "KMB", "CNTY", "MOMO", "PVG", "ETSY", "MT", "DG", "TTWO", "SVRA", "KEM", "YETI", "WHR", "NLSN", "CBS", "BBY", "WMB", "STM", "CDE", "YUM", "TRGP", "HST", "DOW", "COUP", "ZUO", "LYB", "EPD", "RAD", "ANTM", "HGV", "ALGN", "FAST", "FEYE", "ADM", "MOS", "MDLZ", "DOMO", "GT", "CMI", "AMBA" ] for ticker in tickers_two: option = self.AddOption(ticker) self.symbols_two.append(option.Symbol) option.SetFilter(-15, -1, timedelta(60), timedelta(90)) self.Settings.DataSubscriptionLimit = 1000000 option.PriceModel = OptionPriceModels.CrankNicolsonFD() self.equity_symbols = [x.Underlying for x in self.symbols] history = self.History(self.equity_symbols, 90, Resolution.Daily).sort_values(by=["symbol", "high"], ascending=[1,0]) for symbol in self.equity_symbols: self.high[symbol] = history.loc[str(symbol.ID)]["high"][0] history = history.sort_values(by=["symbol", "low"], ascending=[1,1]) for symbol in self.equity_symbols: self.low[symbol] = history.loc[str(symbol.ID)]["low"][0] self.tr[symbol] = self.high[symbol] - self.low[symbol]