Support

ICE Europe Financials iMpact

ICE disseminates FOD (full order depth), MBP (market by price), TOB (top-of-book) and market statistics data for futures and options on futures via their iMpact feed, which Databento receives over UDP multicast in our Aurora DC3 data center.

For futures, ICE publishes both FOD and MBP-5. Databento only normalizes the FOD messages. For options, ICE publishes MBP-10, MBP-5 and top-of-book. Databento only normalizes the MBP-10 messages.

This means that for options, only the top 10 levels of the book are available even in the MBO schema. For futures the full market is shown.

Timestamps

ICE iMpact messages received by Databento will generally include two timestamps with microsecond precision. As with all of our datasets, we also collect a ts_recv timestamp when the packet was received by our capture server.

Databento Field ICE Field Description
ts_recv N/A The capture-server-received timestamp.
ts_event TransactDateTime and SequenceWithinMillis The matching-engine-processed timestamp with sub-microsecond sequence number.
ts_in_delta SentDateTime The matching-engine-sending timestamp.

ICE provides microsecond granularity timestamps along with sub-microsecond sequence numbers for ordering that are normalized as nanosecond timestamps for consistency in ordering with other datasets.

More details about our timestamps are available in our timestamping guide.

Matching Engine Location

ICE Europe Financials has matching engines both in Chicago and Basildon. Currently, the products offered by Databento all trade in the ICE silo, located in 350 E Cermak, Chicago. Databento captures the data in our Aurora DC3 location.

MBO normalization

For options, the ICE iMpact feed only includes market-by-price, which matches Databento's MBP-10 schema. We do not offer these messages in our MBO schema. They are only available on MBP-10 and other downstream schemas.

Each ICE "Trade Message" is normalized into a single MBO record with the Trade action, and the message's "TradeID" field is used as the order_id. ICE does not disseminate information about the passive side of the trade. The corresponding Fill record will have side equal to N and the same order_id value as the Trade record.

When ICE does not specify the aggressing side, Trade records will have side equal to N.

System priced legs

A system priced leg is the result of a trade in the outright spread. These trades, as published by the exchange, can have prices that are 10% or more off from the best bid and offer. ICE recommends that the price of these trades isn't counted towards market statistics.

Databento normalizes system priced legs as a Trade record with side equal to N and an UNDEF_PRICE (0x7fffffffffffffff, 9223372036854775808) value for the price.

These trades are counted towards OHLCV volume, but not towards the open, high, low or close values. This means that OHLCV messages can have some (or even all) price values as UNDEF_PRICE.

Off-market trades

Trades marked by the exchange as off-market have their publisher_id set to IFLL.IMPACT.XOFF to distinguish them from on-exchange trades.

This distinction is also reflected on the OHLCV schemas - if an interval contains both on-market and off-market trades for an instrument, two OHLCV messages will be published for that instrument on that interval, one with IFLL.IMPACT.IFLL as the publisher_id and one with IFLL.IMPACT.XOFF.

Statistics

Stat flags

The IsOfficial field in the ICE iMpact Settlement Price Message and IsSettlePriceOfficial in the Market Snapshot Message are normalized to the first (least-significant) bit of stat_flags where the bit is set if IsOfficial is Y. This is consistent with the behavior for CME Globex MDP 3.0.

Symbology

ICE uses separate symbology for outrights and strategies.

Outrights

For outrights — individual futures and options — raw symbols are sourced from ContractSymbol field. If ContractSymbolExtra is present, it's appended to the ContractSymbol.

Outright contract symbols are composed of several parts indicating different aspects of the instrument. For example, the Three Month Euribor June 2025 futures contract's symbol is I FMM0025!. This can be broken down as follows:

Component Name Description
I Contract code The parent symbol or product this instrument belongs to.
F Contract type Indicates whether the instrument is a future (F), swap, or other type of contract.
M Term The contract term, usually month (M).
M Month The expiration month, e.g. M for June.
00 Day The effective date of the contract. 00 for monthly contracts.
25 Year The two-digit expiration year.
! Switch character Indicates additional distinguishing information about the contract. ! indicates no additional data.

Options begin with their underlying future's symbol followed by an underscore (_) and the option block. Using the Three Month Euribor June 2025 87.00 call I FMM0025_OMCA0009793754061625 as an example, the option block breaks down as:

Component Name Description
O Option indicator Will always be O for options.
M Option type The option term, e.g. Monthly or Weekly.
C Put or call Whether the option is a Call or Put.
A Option style The exercise style of the option, e.g. A for American.
000979375 Strike The zero-padded nine-digit strike price.
4 Strike decimal The number of decimal places in the strike price. Applying four decimal places to 979375 gives a strike price of 97.9375.
061625 Expiration date The MMDDYY expiration date of the option.

Refer to ICE's Instrument Naming Convention document for a full explanation of the format of contract symbols. Because each dataset has a separate symbology namespace, Databento omits the MIC code from the fully-qualified symbol in ICE's examples.

Strategies

For spreads and strategies where ICE does not define a ContractSymbol, raw symbols are sourced from `StrategySymbol``.

Strategy symbols are composed of several parts, however, due to the use of numeric identifiers, strategy raw symbols are harder to interpret than those for outrights. The Three Month Euribor options call spread I 6 20284553 can be broken down as follows:

Component Name Description
I Contract code The parent symbol or product this instrument belongs to.
6 Strategy code A left space-padded three-digit number identifying the type of strategy, e.g. 6 for call spread. Refer to the table in this document for a complete list of strategy codes.
20284553 Market ID A left space-padded 10-digit unique identifier. The same as instrument_id.

Databento MBO snapshot

ICE Europe Financials iMpact daily trading hours cross 00:00:00 UTC. To make it easier to work with historical MBO data, Databento includes an order book snapshot at 00:00:00 UTC each weekday (Monday-Friday).

Definitions

  • MarketTypeId is normalized to market_segment_id
  • MICCode is normalized to exchange when it is provided: only for futures and future strategies

Expirations

ICE only provides date-granularity expiration data in OptionsExpirationDate and ScreenLastTrade fields. As a result, the expiration field in the definition schema will always be at UTC midnight, even when the option expires during or after the trading day.