I'm making a simple test strategy:

class LiquidUniverseSelection(QCAlgorithm): filteredByPrice = None def Initialize(self): self.SetStartDate(2019, 1, 11) self.SetEndDate(2019, 7, 1) self.SetCash(100000) self.UniverseSettings.Resolution = Resolution.Daily self.AddUniverse(self.coarse_select) def coarse_select(self, coarse): fundamental_filter = [x for x in coarse if x.HasFundamentalData] volume_filter = [x for x in fundamental_filter if x.DollarVolume > 10000000] price_filter = [x for x in volume_filter if (50 > x.Price > 5)] return self.active def OnData(self, data): num_securities = len(self.ActiveSecurities.Keys) targets = [PortfolioTarget(x, 1/num_securities) for x in self.ActiveSecurities.Keys] self.SetHoldings(targets)

This returns this stacktrace:

System.Exception: TypeError : object of type '0, Culture=neutral, PublicKeyToken=null]]' has no len() at OnData in main.py:line 67 :: num_securities = len(self.ActiveSecurities.Keys) ---> Python.Runtime.PythonException: TypeError : object of type '0, Culture=neutral, PublicKeyToken=null]]' has no len() at Python.Runtime.PyObject.Invoke (Python.Runtime.PyTuple args, Python.Runtime.PyDict kw) [0x00033] in :0 at Python.Runtime.PyObject.TryInvoke (System.Dynamic.InvokeBinder binder, System.Object[] args, System.Object& result) [0x0001d] in :0 at (wrapper dynamic-method) System.Object.CallSite.Target(System.Runtime.CompilerServices.Closure,System.Runtime.CompilerServices.CallSite,object,QuantConnect.Data.Slice) at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2[T0,T1] (System.Runtime.CompilerServices.CallSite site, T0 arg0, T1 arg1) [0x00105] in <92922d9bda2f4e1cba9242d052be6d43>:0 at QuantConnect.AlgorithmFactory.Python.Wrappers.AlgorithmPythonWrapper.OnData (QuantConnect.Data.Slice slice) [0x0011f] in <6595d12b90e34d0e8d92c91974132544>:0 at QuantConnect.Lean.Engine.AlgorithmManager.Run (QuantConnect.Packets.AlgorithmNodePacket job, QuantConnect.Interfaces.IAlgorithm algorithm, QuantConnect.Lean.Engine.DataFeeds.ISynchronizer synchronizer, QuantConnect.Lean.Engine.TransactionHandlers.ITransactionHandler transactions, QuantConnect.Lean.Engine.Results.IResultHandler results, QuantConnect.Lean.Engine.RealTime.IRealTimeHandler realtime, QuantConnect.Lean.Engine.Server.ILeanManager leanManager, QuantConnect.Lean.Engine.Alpha.IAlphaHandler alphas, System.Threading.CancellationToken token) [0x01140] in Lean.Engine.Alpha.IAlphaHandler alphas, System.Threading.CancellationToken token) [0x01140] in <5153497fd8c94879ae659069852668fc>:0 --- End of inner exception stack trace ---

If I replace 'ActiveSecurities' with 'Securities' it works fine.

Author