Handling index constituent changes in backtests

I looked for previous posts but most were related to Norgate data and database construction.

Does anyone know of a relatively not complex way of doing portfolio backtests with index stocks while taking into account index constituent changes? Thanks in advance.

It's not clear from your post whether you have data from Norgate. If so, you can simply use Norgate's NorgateIndexConstituentTimeSeries() function. If you don't use Norgate, then you would need another source of data that provides index membership on a historical basis.

Thanks. Probably Norgate is then best choice to avoid complex constructs with AUX1 field.

If your AUX1 field is available, then it's not that difficult to write logic to keep track of membership in one or more different indices. The difficult part is finding an accurate data source that has that information, and which matches the naming convention for delisted symbols that your current database uses. That said, I have always been very pleased with both Norgate's NDU product and the professionalism of their staff.

As @mradtke said it’s quite difficult and time consumption task to manually match all historical index constituents for delisted stocks. I am doing it right now and must say it’s a 200+ hours work even with accurate data.

So best decision for regular user who don’t want to spend a few months with manual symbol matching is go for Norgate data.

@makhar88 I didn’t tested their index constituents accuracy but believe it must be comprehensive. For personal use I decide to go with Aux 1 field way despite all the difficulties

Norgate appears very professional company with a comprehensive solution. Best choice I think. I was trying Dow constituents and noticed that GE may not have delisting information although I may be wrong since I am new to this. Minor issue though that can be easily fixed if true.

Thank you guys.

Norgate appears very professional company with a comprehensive solution. Best choice I think.