I am observing very sporadic minute data through streaming, listening for multiple symbols. Also, pulling minute historical data seems to give different time frames for different symbols. Below is an example of reading four ‘APPS’ bars in a row. What gives? Am I not using streaming correctly?
Are the free consumers receiving delayed data from Polygon?
In order to have access to Polygon data, you must have a funded live trading account. Any Alpaca user, solely paper-traders included, has access to IEX data. In your screenshot you are connected to the paper trading endpoint and therefore you will be receiving data from IEX data which does not include trades from all the exchanges Polygon does. (More information concerning this can be found on this post Help with Barset). This could be the reason you are seeing less volume when streaming.
Hope this helps,
Thanks Jason - this helps. I suppose for the most accurate price in “real-time” each minute, something like a paid Polygon subscription would be a minimum. Would you agree?
I assume a funded Alpaca account only supplies the “Free” Polygon data…
At the end of the day that is a personal choice however, it is important to note that more exchanges do not always imply more accurate prices as Dan explains here: Get_last_quote not updating price data
I see. It would interesting to see correlation data for IEX only vs. Polygon prices.
That leads me to my next question (I’m pretty new to all of this). I’ve been backtesting/optimizing my algo only on the minute bars closing price, assuming instantaneous execution. Clearly I need to take into account more than this.
According to the free IEX cloud API, there is no delay for IEX data, so I assume it’s the same for Alpaca. Perhaps just using the latest_quote and only symbols from IEX would get me the latency I have designed my algo around? I figure it’s normal to run algorithms on individual trades and not just aggregates, right?