Overall Statistics |
Total Trades 1 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 $1.00 Estimated Strategy Capacity $0 Lowest Capacity Asset AAPL 31OJK5OW4VX2E|AAPL R735QTJ8XC9X |
class MuscularTanMonkey(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 6, 19) self.SetCash(100000) ### self.aaplChain = self.AddData(IVolatilityChain, "AAPL.IVolatilityChain", Resolution.Daily).Symbol self.equity = self.AddEquity("AAPL", Resolution.Minute) self.equity.SetDataNormalizationMode(DataNormalizationMode.Raw) # in case the slice don't have a price, you can set last known price as market price to trade self.SetSecurityInitializer(lambda x: x.SetMarketPrice(self.GetLastKnownPrice(x))) def OnData(self, data): if self.Portfolio.Invested: return ### if data.ContainsKey(self.aaplChain): ### chain = data[self.aaplChain].GetProperty('Chain') chain = self.OptionChainProvider.GetOptionContractList(self.equity.Symbol, data.Time) if not chain: return ### contract = chain[0]['OptionSymbol'] # Assume the security identifier of option_contract['OptionSymbol'] of chain[0] is in form of "AAPL 31OJK5OW4VX2E|AAPL R735QTJ8XC9X" contract = "AAPL 31OJK5OW4VX2E|AAPL R735QTJ8XC9X" ### str(chain[0]['OptionSymbol']) # you can create your own Symbol object given the security identifier match LEAN's contract_symbol = self.Symbol(contract) # If the string is in the format of "AAPL 210618P00028750" ### contract_symbol = CreateOption(contract, ...) # Subscribe self.AddOptionContract(contract_symbol, Resolution.Minute) self.Buy(contract_symbol, 1) self.Quit()