So, I finally made the switch to IB. I managed to revise my script to work on IB Gateway (Demo account, so far)

I have a 300 assets in my asset list. I believe the sloooooooooow live price data from IB is causing everything to slooooooooow down. I'm using IEX for assetHistory so I don't have the IB time associated with historical data download, which I'm sure would slow things down even more.

I even used SET_PRICETYPE=8 and things got a bit faster but still unusably slooooow.

One tick cycle to get prices for the 300 assets took like 30 minutes.

Then, I read about the magic powers of custom Asset Symbols. So I used a magic symbol like this: *-STK-SMART-USD!IEX:*!IEX:*

This uses IB to trade, IEX for live prices and historical data, and it just ripped like a REST API should. A tick cycle took about a minute for 300 live prices!!

However, IEX doesn't offer all the goodies like live options data and their live equity prices are only from the IEX exchange, not market wide prices.

Then I found polygon.io, which looks just absolutely perfect. I looked at polygon a few years ago and they didn't like look like they do now. Now, it looks like a better IEX.

Question:
1. Is my observation of IB pretty accurate, or am I doing something wrong?
2. Are there any special issues I need to think about when I use a combination symbol like this: *-STK-SMART-USD!IEX:*!IEX:*
3. Has anyone used polygon.io? Is it reliable?

Thanks in advance for any help and guidance.