ICE Endex iMpact
ICE disseminates FOD (full order depth), MBP (market by price), TOB (top-of-book) and market statistics data for futures, spot contracts and options on futures via their iMpact feed, which Databento receives over UDP multicast in our Aurora DC3 data center.
For futures and spot, 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 Endex has matching engines both in Chicago and Basildon. Databento captures the data for both matching engines 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 NDEX.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 NDEX.IMPACT.NDEX
as the publisher_id
and one with NDEX.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 Dutch TTF Natural Gas August 2024 futures contract's symbol is TFM FMQ0024!
.
This can be broken down as follows:
Component | Name | Description |
---|---|---|
TFM |
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 ). |
Q |
Month | The expiration month, e.g. Q for August. |
00 |
Day | The effective date of the contract. 00 for monthly contracts. |
24 |
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 Dutch TTF Natural Gas August 2024 87.00 call TFO FMQ0024_OMCE0000045002072624
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. |
E |
Option style | The exercise style of the option, e.g. E for European. |
000004500 |
Strike | The zero-padded nine-digit strike price. |
2 |
Strike decimal | The number of decimal places in the strike price. Applying two decimal places to 4500 gives a strike price of 45.00. |
072624 |
Expiration date | The MMDDYY expiration date of the option. TFO options expire before the contract month, in this case the August options expire July 26, 2024. |
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.
Spots
Endex spots have neither a ContractSymbol
nor a StrategySymbol
, instead raw symbols are sourced from MarketDesc
.
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 Dutch TTF Natural Gas year calendar strip TFO 800 108281469
can be broken down as follows:
Component | Name | Description |
---|---|---|
TFO |
Contract code | The parent symbol or product this instrument belongs to. |
800 |
Strategy code | A left space-padded three-digit number identifying the type of strategy, e.g. 900 for year calendar strip. Refer to the table in this document for a complete list of strategy codes. |
108281469 |
Market ID | A left space-padded 10-digit unique identifier. The same as instrument_id . |
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.