| 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 Estimated Strategy Capacity $0 Lowest Capacity Asset |
import datetime
class PrintOptionsContractsAddOption(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2022, 1, 24)
self.SetEndDate(2022, 1, 24)
self.option = self.AddOption("GOOGL", Resolution.Minute)
self.option.SetFilter(lambda universe: universe.IncludeWeeklys().Strikes(-1, +1).Expiration(20, 35))
self.option.PriceModel = OptionPriceModels.BjerksundStensland()
self.SetWarmUp(TimeSpan.FromDays(5))
self.Counter = 1
def OnData(self, slice):
if self.IsWarmingUp: return
if self.Counter > 10: return
self.Counter += 1
optionchain = slice.OptionChains.GetValue(self.option.Symbol)
optionchain = sorted(optionchain, key = lambda x: (x.Expiry, x.Right, x.Strike))
optionchain = [x for x in optionchain if x.Expiry == datetime.datetime(2022, 2, 25)]
self.PrintContracts(optionchain)
def PrintContracts(self, contracts):
self.Log("Underlying = " + str(contracts[0].UnderlyingSymbol) + " Underlying price = " + str(contracts[0].UnderlyingLastPrice))
self.Log("Expiry Strike Call/Put")
for contract in contracts: self.Log(f"{contract.Expiry} {contract.Strike} {contract.Right}")