Databento Core Indices - CGIF
Dataset ID: DBIX.CORE
DBIX.CORE consolidates index data from multiple upstream feeds into a single dataset, organized by venue. It's an aggregate of index feeds rather than an order-driven market, so Databento does not offer an MBO schema for DBIX.CORE.
This page covers the channels sourced from Cboe's Titanium Cboe Global Indices Feed (CGIF).
Channels
Cboe disseminates index values, contributor values, and index summaries from several index providers through CGIF, which Databento receives over UDP multicast in our NY4 data center and normalizes into DBIX.CORE. CGIF carries values from seven index providers, each its own channel, mapped to a distinct Publisher within DBIX.CORE:
| Channel | Publisher (ID) | Provider | Source messages |
|---|---|---|---|
MAIN |
DBIX.CORE.MAIN (146) |
Cboe Global Indices Feed | IndexValue |
MSCI |
DBIX.CORE.MSCI (147) |
MSCI | IndexValue |
FTSE |
DBIX.CORE.FTSE (148) |
FTSE Russell | IndexValue |
INAV |
DBIX.CORE.INAV (149) |
Intraday Net Asset Values | IndexValue |
MSTAR |
DBIX.CORE.MSTAR (150) |
Morningstar | ContributorValue, IndexSummary |
CCCY |
DBIX.CORE.CCCY (151) |
Crypto Currency Indices | IndexValue |
CGI |
DBIX.CORE.CGI (152) |
Cboe Global Indices | IndexValueWithStatus |
Index status is normalized to the status schema, and index definitions to instrument definitions, the same way across all seven channels.
Timestamps
CGIF messages include a SendingTime in the packet header, shared by every message in that packet.
As with all of our datasets, we also collect a ts_recv timestamp when the packet was received by our capture server.
| Databento Field | CGIF Field | Description |
|---|---|---|
ts_recv |
N/A | The capture-server-received timestamp. |
ts_event |
SendingTime (packet header) |
The gateway-sending timestamp, shared by every message in the same packet. |
ts_in_delta |
N/A | The delta between ts_recv and ts_event, or between ts_recv and TransactTime for MSTAR. |
Note that SendingTime only carries millisecond resolution, and no additional precision is added when normalizing it to a nanosecond ts_event.
For MSTAR, messages also include a TransactTime, a millisecond-resolution epoch timestamp present on both ContributorValue and IndexSummary messages. TransactTime is the source for ts_in_delta on MSTAR's MBP-1, trades, and statistics records; it's more accurate than the packet-level SendingTime used for the other channels' ts_in_delta.
For IndexSummary messages, the statistics schema's ts_ref field is set to the summary's effective Date (a YYYYMMDD value) decoded to UTC midnight, rather than a precise event time.
More details about our timestamps are available in our timestamping guide.
MBP-1 and Trades normalization
CGIF does not publish order book depth, so each source message is normalized to a single-level MBP-1 record: the Bid and Ask values become bid_px and ask_px at the top book level, the index value becomes price, and action is fixed to Trade. Every MBP-1 record also produces a matching trades record, copying over ts_recv, ts_event, ts_in_delta, price, flags, and action, with depth fixed to 0.
MAIN, MSCI, FTSE, INAV, CCCY
The source message is IndexValue, and flags is fixed to F_LAST.
CGI
The source message is IndexValueWithStatus, but only entries without a Close or Settlement value are normalized this way; see Statistics normalization below for the rest. F_LAST is always set. F_PUBLISHER_SPECIFIC indicates an indicative index value: set when IndexStatus is Indicative, and unset when Normal.
MSTAR
The source message is ContributorValue, and flags is fixed to F_LAST.
Statistics normalization
Only CGI and MSTAR produce statistics schema records; the other CGIF channels have no source messages that normalize to statistics.
CGI
CGI's IndexValueWithStatus entries that carry a Close or Settlement value are normalized to statistics instead of MBP-1/trades:
| CGIF MDEntryType | stat_type |
stat_flags |
|---|---|---|
Close |
CLOSE_PRICE, or INDICATIVE_CLOSE_PRICE when IndexStatus is Indicative |
Unset |
Settlement |
SETTLEMENT_PRICE |
1 when IndexStatus is Normal, or 0 when Indicative |
CGI only carries IndexValueWithStatus messages - it doesn't receive IndexSummary messages, so it never produces the start-of-day and end-of-day statistics that MSTAR does.
MSTAR
MSTAR's IndexSummary messages are always normalized to statistics, one record per MDEntryType entry. stat_type is always VENUE_SPECIFIC_PRICE_1.
stat_flags is a bit field that depends on the entry's MDEntryType and whether SummaryType is start-of-day (SOD) or end-of-day (EOD):
| Value | Decimal | Description |
|---|---|---|
1 << 0 |
1 | IndexValue entry, SummaryType is SOD. |
1 << 1 |
2 | Bid entry, SummaryType is SOD. |
1 << 2 |
4 | Ask entry, SummaryType is SOD. |
1 << 3 |
8 | IndexValue entry, SummaryType is EOD. |
1 << 4 |
16 | Bid entry, SummaryType is EOD. |
1 << 5 |
32 | Ask entry, SummaryType is EOD. |
MSTAR doesn't receive IndexValueWithStatus messages, so it never produces the Close and Settlement statistics that CGI does.
Definition normalization
Index definitions are normalized to instrument definitions the same way across all seven channels:
| Databento Field | CGIF Field | Description |
|---|---|---|
raw_symbol |
Symbol |
Normalized verbatim. |
group |
Agent |
A 2-character classification code. |
secsubtype |
Channel |
The CGIF channel that index data is received on. |
exchange |
N/A | Always set to the literal CGIF. |
instrument_class |
N/A | Always INDEX. |
match_algorithm |
N/A | Always UNDEFINED, since CGIF is an index feed with no matching engine. |
Status normalization
The corresponding status schema record is derived from the definition's Status field:
| CGIF Trading Status | action |
is_trading |
is_quoting |
|---|---|---|---|
| Active | TRADING |
Yes | Yes |
| Inactive | CLOSE |
No | No |
| Deleted | SUSPEND |
No | No |