Hi, Has anyone else encountered issues with requesting/receiving market data from IB after they've done the restructuring in their market data subscription system? I used to be able to receive contract for certain stocks (while being subscribed to Level I BATS data) this way: private NewContract buildContract(String symbol) { NewContract contract = new NewContract(); contract.symbol(SPY); contract.secType(SecType.STK); contract.exchange("BATS"); contract.currency("USD"); returncontract; Now, no matter what I try or subscribe to, I just can't seem to receive the data this way? Please help! Thanks Dean
Have you tried to use "SMART" instead of "BATS"? And I guess that the symbol name should be a string, thus surrounded by quotes: "SPY" instead of SPY.
Yes, it should be surrounded by quotes. I only forgot to put them here as part of the example. I've progressed with this a bit and found out that the problem might be the data subscriptions after all. Because i'm requesting market depth. But if I'm only after bid/ask of top of the book, shouldn't Level I quotes be enough? Thanks
Yes, level 1 should be enough for bid/ask prices (I don't have any level 2 subscriptions). It might be that "BATS" is now part of a different subscription package. I don't know the details because I use "SMART". Alternatively you could try to use "ARCA".
Hi HobbyTrading, I agree about the necessary subscriptions but it still doesn't work for me. What are you subscribed to that enables you to get the top-of-book bid/ask using the SMART exchange option? Also ARCA didn't work for me unfortunately... Thanks
@Dean1406 I have market data subscriptions "US Securities Snapshot and Futures Value Bundle" plus Level 1 (NBBO) for "NASDAQ (Network C/UTP)" and "NYSE (Network A/CTA)". I'm not sure whether you need NASDAQ as ARCA (where most ETFs are being traded) is part of NYSE. I don't use AMEX (Network B/CTA), so I'm not subscribed to this.