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 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 TransdimensionalCalibratedRadiator(QCAlgorithm): def Initialize(self): self.SetStartDate(2019, 8, 1) # Set Start Date self.SetCash(100000) # Set Strategy Cash option = self.AddOption("GOOG") option.SetFilter(-2, 2, timedelta(0), timedelta(182)) 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 ''' for chain in data.OptionChains.Values: lowerBound = chain.Underlying.Price * 0.95 upperBound = chain.Underlying.Price * 1.05 # Option contracts sorted by their strikes contracts = sorted(chain, key=lambda x: x.Strike) # The contracts from -5% to 5% selectedContracts = [x for x in contracts if x.Strike > lowerBound and x.Strike < upperBound] # For validation we get the strikes of the selected contracts strikes = [x.Strike for x in contracts if x.Strike > lowerBound and x.Strike < upperBound] self.Log(f"Lower Bound: {lowerBound} \n Upper Bound: {upperBound} \n Strikes: {strikes}")