Symbology
Databento's live API supports several ways to select an instrument in a dataset. An instrument is specified using a symbol and a symbology type, also referred to as an stype. The supported symbology types are:
- Raw symbology (
raw_symbol) original string symbols used by the publisher in the source data. - Instrument ID symbology (
instrument_id) unique numeric ID assigned to each instrument by the publisher. - Parent symbology (
parent) groups instruments related to the market for the same underlying. - Continuous contract symbology (
continuous) proprietary symbology that specifies instruments based on certain systematic rules.
In the live API, existing subscriptions to continuous contracts will not be remapped to different instruments. However, submitting a new identical subscription may result in a new mapping.
When subscribing to live data, an input symbology type can be specified. By default, our client libraries will use raw symbology for the input type. Not all symbology types are supported for every dataset.
If one or more symbols in a subscription fail to resolve, the gateway emits an ErrorMsg record with code=SYMBOL_RESOLUTION_FAILED for each unresolved symbol and continues streaming data for any symbols that did resolve. If a symbol later resolves (for example, a new listing from the publisher), the gateway publishes a SymbolMappingMsg and begins streaming data for that symbol.
For live data, symbology mappings are provided through SymbolMappingMsg records. These records are sent after the session has started and can be used to map the instrument_id from a data record's header to a text symbol.
For more about symbology at Databento, see our Standards and conventions.