I use Alpaca Python module alpaca_trade_api and I use (properly initialized) api.get_barset() and api.polygon.historic_trades_v2() to get symbol bars and ticks, respectively. This works great for all symbols traded on Alpaca. Now, how can I also get the current values (with a resolution of 1 minute or better) for the market indices DJIA, NASDAQ, S&P 500, Russell 2000? I tried using their symbols ^IXIC, ^GSPC, ^DJI, ^RUT. They work on Yahoo finance but not on Alpaca. Is there another way to get those indices?
Index data such as the S&P 500, Dow Jones Industrial Average, etc is not currently available directly through the Alpaca API. One can however subscribe to index data from various data providers and use their APIs to fetch that data and use in an algorithm.
One thing to note, this data is essentially ‘owned’ by the index provider, so pricing is often very high and requires a direct contract between each consumer and the index owner regardless of the actual data provider. Typical major index providers charge over $10k a year for delayed data.
The typical approach is to use ETFs that match those indices, such as SPY for the S&P 500, DIA for Dow Jones, and IWM for Russell 2000.
Thank you Dan! The idea of using index-linked ETFs instead of the indices themselves is perfect for my purposes!