In my code, I "initialize" symbols (by means of setting a boolean in a list of a custom class) once they have enough CurrentBars for any calculations. Any symbols must be "initialized" before calculations can be performed or the symbol can be considered for trading. This ensures that there are no index out of bounds errors.
The real issue here is this:
I want to backtest my strategy from 2000-2015.
I can't backtest my strategy since NT won't start calling OnBarUpdate() until all the instruments have data, despite my efforts of coding ways to avoid index out of bounds errors.
In order to backtest:
I now have to remove all stocks which have IPO'd between 2000-2015.
I also have to remove new symbols which were created as spin-offs.
When doing this for a universe of 1000 symbols, doing this manually is difficult as you can imagine.
Lets say I want to try this out on mid/small caps and now take another 1000 of the Russell 2000 instead. I have to search for IPOs and spin-offs again.
OR
Go into Historical Data Manager > Edit > Expand Each Symbol > Expand Day then look manually for stocks which do not have data 2000-2015. This is probably worse.
So, is there a better way to deal with this - or a way to at least flag/list the symbols which data is not available for? Also, you mentioned that NT8 will offer performance enhancements. However, performance enhancements are the least of my problems when I am not even able to backtest due to these issues.

Comment