No longer able to collect Reuters estimates from IBKR

Hi Brian,

Last week, my daily request for Reuters estimates (from IBKR) for specified assets stopped returning data. The log shows something like this, with 'data unavailable' for all requested sids:

2021-08-17 05:50:50 quantrocket.fundamental: INFO Expected remaining runtime to collect Reuters estimates for sids FIBBXXXXXXXXXX, ..., FIBBXXXXXXXXXX: 0:00:44
2021-08-17 05:51:35 quantrocket.fundamental: INFO Saved 0 total records for 0 total securities to quantrocket.v2.fundamental.reuters.estimates.sqlite for sids FIBBXXXXXXXXXX, ..., FIBBXXXXXXXXXX (data unavailable for 105 securities)

This has been happening since at least the beginning of last week, so I ran this quick test:

# Sids for NFLX, AMZN, FB, MSFT
sids = ['FIBBG000CL9VN6', 'FIBBG000BVPV84', 'FIBBG000MM2P62', 'FIBBG000BPH459']

collect_reuters_estimates(sids=sids)

Result was the same 'data unavailable for 4 securities'. I then checked the IBG gateway logs and find that whenever I run the test code for the 4 securities, this appears:

2021-08-17 19:04:13.423 [UO] INFO  [JTS-EServerSocket-297] - [4529:157:157:1:0:0:0:ERR] Invalid incoming request type - 0
2021-08-17 19:04:13.423 [UO] INFO  [JTS-EServerSocket-297] - [4529:157:157:1:0:0:0:ERR] Invalid incoming request type - 0
2021-08-17 19:04:14.627 [UO] INFO  [JTS-EServerSocket-297] - [4529:157:157:1:0:0:0:ERR] Invalid incoming request type - 0
2021-08-17 19:04:14.627 [UO] INFO  [JTS-EServerSocket-297] - [4529:157:157:1:0:0:0:ERR] Invalid incoming request type - 0
2021-08-17 19:04:15.883 [UO] INFO  [JTS-EServerSocket-297] - [4529:157:157:1:0:0:0:ERR] Invalid incoming request type - 0
2021-08-17 19:04:15.883 [UO] INFO  [JTS-EServerSocket-297] - [4529:157:157:1:0:0:0:ERR] Invalid incoming request type - 0
2021-08-17 19:04:17.089 [UO] INFO  [JTS-EServerSocket-297] - [4529:157:157:1:0:0:0:ERR] Invalid incoming request type - 0
2021-08-17 19:04:17.089 [UO] INFO  [JTS-EServerSocket-297] - [4529:157:157:1:0:0:0:ERR] Invalid incoming request type - 0
2021-08-17 19:04:18.493 [UO] INFO  [JTS-EServerSocket-297] - [4529:157:157:1:0:0:0:ERR] Socket connection for client{4529} has closed. 

Did something change in the source or IBKR API that would cause this?

IBKR is no longer providing estimates data. They removed it from their documentation last year, and earlier this year they stopped providing new data. Now they have stopped providing any data. Other IBKR fundamental data was also removed from the documentation but is still available via the API. I would not be surprised if those also disappear eventually.

I asked someone in API support about this and got a vague follow up. Doesn't seem like they have a real plan yet, but here's hoping that something is in the works.

We have been in the process of finding a provider, and it looks like this should be implemented soon. The User's Guide page that has this information is:

TWS API v9.72+: Fundamental Data

I will let you know when this is fully implemented. This will provide corporate events datasets, such as earnings dates, dividend dates, options expiration dates, spinoffs and a wide variety of investor-related conferences. I don't believe it will include estimates or estimate dates.

FYI, I received a note from IBKR last week that the new fundamentals source has been implemented (and documented on the above link). Apparently their new source for past earnings data is Wall Street Horizon (separate from the service for upcoming dates), and it requires a much more expensive subscription.