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. M onthly or W eekly. |
C |
Put or call | Whether the option is a C all or P ut. |
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 tomarket_segment_id
MICCode
is normalized toexchange
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.