@sydneysider, when backtesting a trading strategy on an index like the S&P 500, Nasdaq 100, or Russell 2000, it's essential not only to have historical price data, but also to know which stocks were actually in the index at each point in time.
This is where Norgate’s "Historical Index Constituents" series becomes extremely valuable, and it's fully supported in AmiBroker via their plugin and associated functions.
Index membership changes frequently: companies get added, removed, acquired, or delisted. If you’re backtesting using only today’s list of index members (as you likely are doing with Yahoo data), then you're testing with a distorted view of history. You may be including stocks that weren't even in the index during your test period, and excluding others that were part of the index but later delisted or went bankrupt.
This introduces two major problems:
- Survivorship bias: by only including stocks that still exist today, you ignore the "losers" that dropped out of the index, often due to poor performance. This gives an artificially positive view of your strategy’s effectiveness.
- Constituency bias: even if your price data is complete, if you don’t know which stocks were in the index on a given date, your backtest may use an incorrect universe testing on companies that were not eligible at the time.
Norgate solves this by providing special lists of historical index constituents, which can be used directly in AmiBroker. These allow your strategy to operate on the correct universe for each point in time reflecting how the index actually looked then, not now.
You can read more about this feature in Norgate’s documentation, or search this forum for examples using the keyword NorgateIndexConstituentTimeSeries
To be clear, using free Yahoo data is perfectly fine while you're still learning how to use AmiBroker and exploring initial ideas. It’s a great way to get familiar with the platform and test out basic strategies.
However, once you move toward deploying strategies with real money, this kind of data upgrade IMO is no longer a luxury: it’s a necessity.
Without historical constituent data, your backtest will likely be biased and overly optimistic: great for your ego, but dangerous for your capital. If you're serious about systematic trading, accurate and complete data is a good investment.