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 -1.015 Tracking Error 0.095 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
class UglyLightBrownAntelope(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 6, 1) self.SetCash(100000) self.tickers = ["SPY","AAPL","GOOG"] self.AddUniverse(self.MyCoarseFilterFunction) self.day = 0 def MyCoarseFilterFunction(self, coarse): symbols = [] for ticker in self.tickers: # We loop through `self.tickers` here for demonstration. To search all securities, you could look through `coarse` symbol = Symbol.Create(ticker,SecurityType.Equity,Market.USA) contracts = self.OptionChainProvider.GetOptionContractList(symbol, self.Time) validContracts = [i for i in contracts if (i.ID.Date - self.Time).days < 7] if len(validContracts)==0: self.Debug("No contract for "+ticker) continue self.Debug("Contract found for "+ticker) self.AddOptionContract(validContracts[0]) symbols.append(symbol) return symbols def OnData(self, data): if data.OptionChains.Count == 0: return if self.day == data.Time.day: return self.day = data.Time.day for kvp in data.OptionChains: option_symbol = kvp.Key for contract in kvp.Value: self.Debug(f"Option: {option_symbol}; Contract: {contract}")