Hello,
I had a dict that saved a date for each symbol:

  1. self.future_dates[symbol] = (date + timedelta(days=360))

But each time it passes through the loop it takes the new value and deletes the old one. My idea is to have for each symbol 3 dates.

Normally I would just append the values but that trows the error.

  1. self.future_dates[symbol].append(date + timedelta(days=360))

 

The code which it is in is as follows:

  1. for symbol in [x.Symbol for x in changes.AddedSecurities]:
  2. for date in a:
  3. self.future_dates[symbol].append(date + timedelta(days=360))
  1. Error:
  2. Runtime Error: Trying to retrieve an element from a collection using a key that does not exist in that collection throws a KeyError exception. To prevent the exception, ensure that the key exist in the collection and/or that collection is not empty.
  3. at OnSecuritiesChanged
  4. self.future_dates[symbol].extend((date + timedelta(days=360)))
  5. at Python.Runtime.PythonException.ThrowLastAsClrException()
  6. at Python.Runtime.PyObject.Invoke(PyTuple args in main.py: line 82 (Open Stack Trace)

 

Does anyone has an idea how to solve this problem?

Thanks in advance!

 

Author

Nico Xenox

August 2022