Skip to content

Error 10090 should not terminate the market data subscription (the data keeps flowing) #768

Description

@tradatious

A market_data subscription can result in error 10090:

Part of requested market data is not subscribed.

Note the "other default ticks will be returned" in the description for this code on the IB docs page (linked above):

Indicates that some tick types requested require additional market data subscriptions not held in the account. This commonly occurs for instance if a user has options subscriptions but not the underlying stock so the system cannot calculate the real time Greek values (other default ticks will be returned). Or alternatively, if generic tick types are specified in a market data request without the associated subscriptions.

IB itself continues to provide the ticks the account has permissions for.

However, DATA_ADVISORY_CODES currently only lists 10089 and 10167, so is_warning_error returns false for 10090 and classify_error routes it to the subscription as a terminating Error, and stream_ended is set. The next poll then returns None.

I encounter this on a couple of UK stocks when the regular LSE session ends because I only have rights for those stocks during LSE RTH.

A partial-entitlement notice shouldn't permanently kill streams that IB itself keeps serving. 10090 seems to belong with its siblings 10089 ("Delayed market data is available") and 10167 ("Displaying delayed market data"), which are routed as non-terminal Notices.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions